Skip to content

Flohhhhh/Linen

Repository files navigation

Linen

VERY WORK-IN-PROGRESS

A local-first desktop notes app that writes ordinary Markdown files.

Yes, ANOTHER notes app with local markdown. But this one is mine! I wanted a similar experience to Notion in terms of nested pages with inline links rather than folders and other organizational metadata like most similar apps have. If that sounds like something that would work for you, help me build this!

Linen is a personal, files-first alternative to Notion: a calm rich-text writing experience on top of a folder you own. Your notes remain readable outside the app, searchable with normal tools, and ready to work with Git or an AI agent.

image

Why Linen

Most rich notes apps make the interface the source of truth. Linen makes the files the source of truth.

Each note is a standard .md file with YAML frontmatter. You can open it in any editor, search it with rg, version it with Git, or hand the workspace to Codex and other CLI tools—without exporting or copying content out of a closed system.

The goal is simple: writing should feel as direct as a modern block editor, while your knowledge remains portable, inspectable, and entirely yours.

What it does today

  • Rich, BlockNote-based editing for Markdown notes
  • A focused workspace with nested pages, search, breadcrumbs, trash, and undo/redo
  • Plain Markdown and YAML frontmatter on disk
  • Local image assets that remain Markdown-compatible
  • Raw Markdown mode when you need to work directly with the source
  • Git-backed local version history and optional remote sync
  • PDF export for individual notes
  • Light and dark appearance modes

The Markdown contract

Markdown is Linen’s storage format, not an export format.

That creates a useful constraint: rich editing must round-trip safely to durable, human-readable files. Linen deliberately avoids turning your notes into an opaque block database. Where a rich representation would make a Markdown file confusing or lossy, the file wins.

Agent-native by design

Because a Linen workspace is just files, it is already useful context for the tools you use to make things:

  • Ask an agent to summarize a project, reorganize a set of notes, or connect related ideas.
  • Keep plans, research, and implementation notes beside the code they describe.
  • Use standard developer tools to search, diff, review, and automate your knowledge base.
  • Edit the same notes in Linen, a terminal, or another Markdown editor.

Linen is designed to work with AI agents, not to trap your context inside a web app.

Direction

Linen starts as a minimal personal tool. The longer-term ambition is an open-source, local-first Notion alternative that stays grounded in plain files.

Future work will focus on expanding the editor without breaking the Markdown contract:

  • Rich blocks, tables, page links, Mermaid diagrams, math, and embeds with conservative Markdown representations
  • Better navigation and linking for connected personal knowledge
  • More capable Git workflows while keeping the filesystem canonical
  • Agent-friendly workflows for turning notes into summaries, plans, and working software
  • Cross-platform portability and an open-source release when the foundation is ready

The central design challenge is intentional: make block editing feel fluid and expressive without letting an internal block model corrupt or overcomplicate the Markdown beneath it.

Development

Requirements: Node.js and pnpm.

pnpm install
pnpm dev

Useful checks:

pnpm lint
pnpm test
pnpm build

Linen is currently under active development.

About

A local-first desktop notes app that keeps your ideas in plain Markdown files. Built for the agentic future.

Resources

Stars

Watchers

Forks

Contributors

Languages