Skip to content

Canonical-AI/canonic

Repository files navigation

Canonic

Canonic

Local-first document editor for product teams — powered by Git.

Documentation · Install · Canonic Skills · Build From Source · Report a Bug


License: MIT Version Platform Buy Me a Coffee


Write first. Build second. Canonic is a markdown editor for product managers that keeps your artifacts organized, versioned, and always on your machine — with an AI assistant designed to help you think, not to think for you.

Canonic demo


Why Canonic

Product work lives in too many places. strategy in Notion, specs in Confluence, decisions in Slack threads, and history nowhere. Canonic brings it together in one local-first workspace, backed by Git so nothing is ever lost.

  • Local-first. Plain markdown files on your machine. Open them in any editor; sync them however you want.

  • Git under the hood. Every workspace is a Git repo. Save checkpoints, branch per document, view full history — no terminal required.

  • AI autocomplete, not autopilot. Optional ghost-text completions as you type — Tab to accept. No ghostwriting your docs.

  • Run coding agents in-app. Drive Claude Code, Codex, Gemini CLI, OpenCode, or Pi from the Agent panel — they see your open docs and can read, edit, and comment via a local MCP server that wires itself up.

  • Built for product work. Inline comments, peer sharing, GFM tables, mermaid diagrams, wiki-links, find & replace across the workspace.

  • Works with your repos. Drop Canonic on an existing .git folder and it adapts.


Documentation

Full usage guide, keyboard shortcuts, and feature walkthroughs:

docs/HOWTO.md



Install

One-liner (macOS & Linux)

curl -fsSL https://raw.githubusercontent.com/Canonical-AI/canonic/main/install.sh | sh

Detects your OS, architecture, and Linux distro, downloads the right build, and installs it.

  • macOS (Apple Silicon) → /Applications/canonic.app
  • Linux (glibc, x64 / arm64) → ~/.local/bin/canonic (AppImage)
  • Arch / Alpine (x64 / arm64) → Flatpak ai.canonic.app (AppImage can't run on musl-libc Alpine; Arch ships no FUSE by default)

To pin a specific version: curl -fsSL ... | sh -s -- --version v0.2.2-alpha


macOS (Homebrew)

brew tap Canonical-AI/tap
brew install --cask canonic

Linux

AppImage (most glibc distros — Ubuntu, Fedora, …):

chmod +x canonic_*.AppImage
./canonic_*.AppImage

Flatpak (Alpine / postmarketOS / Arch — and any musl-libc distro; x86_64 & arm64):

flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user canonic_*.flatpak
flatpak run ai.canonic.app

Debian / Ubuntu (.deb):

sudo apt install ./canonic_*.deb

Fedora / RHEL (.rpm):

sudo dnf install ./canonic_*.rpm

Direct download (all platforms)

Grab the latest build for your platform from the Releases page:

  • macOS.dmg (universal — Apple Silicon & Intel)
  • Windows.exe
  • Linux x64.AppImage, .flatpak, .deb, .rpm
  • Linux arm64.AppImage, .deb, .flatpak (Raspberry Pi, PinePhone, postmarketOS, ARM servers)


Coding Agents (AI Control)

The Implementation panel runs an external coding agent's own CLI inside an embedded terminal — start and steer engineering work without leaving Canonic. Supported: Claude Code, Codex, Gemini CLI, OpenCode, Pi, or any custom CLI.

  • Just install the agent's CLI (claude, codex, gemini, opencode, pi). Canonic shows install status per agent.
  • MCP wires itself up. Canonic runs a local, loopback-only MCP server and registers itself into the agent's MCP config on first run — no AGENTS.md edits, no skills to install. The agent sees your focused doc and open tray and can read, edit, comment on, and create docs.
  • Sessions are tracked — history with one-click resume, plus a pop-out to your real OS terminal.

Pi doesn't use MCP; it gets the same workspace context inline via its system prompt.

See docs/HOWTO.md → Coding Agents for details.



Canonic Skill

canonic-skill is a separate companion repo — an agent CLI extension that lets coding agents (Claude Code, Gemini CLI, etc.) hand off design and requirements work to Canonic. The agent opens a markdown doc in Canonic, waits for you to review or edit it, then resumes with your changes as source of truth.

Install in your agent of choice:

Claude Code

npx skills add Canonical-AI/canonic-skill --local

Gemini CLI

gemini extensions install https://github.com/Canonical-AI/canonic-skill --auto-update

Other agents: see canonic-skill/INSTALL.md.


Usage

Once installed, invoke from your agent:

/canonic init               # bootstrap a vision.md in a Canonic workspace
/canonic review path/to/doc.md   # open a doc in Canonic, wait for human review

A useful pattern is to create a .docs folder in your code repo with:

/canonic init .docs/

Add .docs to .gitignore unless you want to commit docs to your repo. Alternatively, create a separate repo just for docs — that's what I do.



Build From Source

Requirements: Node 20+ and npm.

git clone https://github.com/Canonical-AI/canonic.git
cd canonic
npm install

Run in development

Starts Tauri dev server with hot reload:

npm run dev

Production build

npm run build           # current platform

Output lands in src-tauri/target/release/bundle/.

Testing

Run the test suite:

npm test                # run vitest unit and integration tests

Run npm test before committing — all unit and integration tests must pass.

Contributing

See docs/CONTRIBUTING.md for branching conventions, commit message style, the spec-driven development rule, the demo-mode rule, and how the CI / release pipeline works (PR test matrix, build-then-commit releases, version-bump labels, and the no-release skip label).

Quick rules:

  • Always target the dev branch in PRs, never main

  • Run npm test before pushing — all tests must pass

  • Every new feature gets a Given / When / Then spec in docs/specs/REQUIREMENTS.md

  • Every new feature must work in demo mode (src/demo/config.json)


Tech Stack

Layer Technology
UI Framework Vue 3 + Vite
Desktop Shell Tauri (Rust)
Editor Milkdown (ProseMirror)
Version Control isomorphic-git
State Management Pinia
Search FlexSearch
AI Any OpenAI-compatible provider via OpenRouter, OpenAI, Mistral, Groq, …

Support

Canonic is free and open source. If it's useful to you, you can support development here:

Buy Me a Coffee


License

MIT — see LICENSE.


Built with care for people who think before they build.


Canonic Editor

About

Topics

Resources

License

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors