A cognitive workspace for humans and agents.
Flint is a file system and set of protocols for containerized knowledge work.
Flint Init: Horizon App
About This Flint
This Flint is the product workspace of Horizon, a team collaboration platform. Horizon keeps distributed teams aligned with async video updates, shared timelines, and smart notifications. The Flint holds the product decisions, the plans, the tasks, and the research of the web, mobile, and API workstreams. People and agents read and write the same notes.
Navigation
Structure
Horizon App/
├── flint.toml # The intent: shards, references, repositories
├── flint.json # The lock: versions and hashes
├── Mesh/ # Notes, dashboards, and typed artifacts
│ ├── Types/ # Tasks, Plans, Notepads, Reports
│ └── People/ # One marker file per person
├── Media/ # Images and other non-Markdown files
├── Shards/ # The installed shards
├── Sources/ # Read-only copies: Repos, Bundles
└── Workspace/ # Repositories we edit: Repos, BenchShards
How an agent starts here
flint shard start proj
flint resolve codebase "Horizon Web"Current Focus
Milestone: Public Beta 2.0 (November 2026)
Team
Your project lives in too many places
Notes, tickets, chats, and code each hold one part of the picture. No tool holds all of it, and an agent sees none of it.
Notes scatter
Plans, decisions, and scratch notes sit in different apps. Nothing links them.
Docs drift
A spec goes stale in weeks. Nothing keeps it near the code that it describes.
Agents start from zero
Each AI session has no stable entry point and no record of the last session.
Sources and thinking mix
Copied material and your own conclusions end up in one pile.
One folder. Each part has one job.
A Flint is a folder for one area of work. Your notes, the programs for agents, and the outside material each have their own place.
Notes, plans, tasks, and reports in Markdown. Each note has YAML frontmatter and links to other notes. This is the part that you keep if each outside source goes away.
- A typed note has a name pattern: (Task) 042 Video Upload Retry Logic
- The frontmatter gives each note an id, tags, and a status
- Wikilinks connect the notes into one mesh
--- id: 2307b94e-144c-4552-85c4-cc6b297d5389 tags: - "#proj/task" status: in-progress template: "[[tmp-proj-task-v0.2]]" authors: - "[[@Marcus Johnson]]" --- # Context Uploads fail when the network drops. The plan is [[(Plan) 003 Video Reliability Improvements]].
Three commands. One job each.
Shards are packages, so Flint syncs them as a package manager does. Each command moves one thing, and you always know which one.
flint shard installMakes the lock match the specs.
It resolves each new spec, checks the hash of the package, and writes the lock. A lock that already satisfies its spec does not move.
Like pnpm install
flint syncMakes the files match the lock and the declarations.
It installs the locked shards, clones the declared sources, and installs the pinned Obsidian payload. flint sync --dry-run shows the plan and writes nothing.
Like pnpm install --frozen-lockfile
flint git syncExchanges history with origin.
It commits your local work, fetches, integrates, runs the local sync, and pushes. A conflict stops the run until you resolve it.
Like git pull, then git push
Clone a Flint on a new machine, run flint sync, and the Flint has the same shards, the same sources, and the same Obsidian setup.
Agent work becomes a record
Orbh is the session layer of Flint. It starts an agent harness inside the Flint and keeps each session as a record that you can inspect, resume, and message.
flint orbh i claudeStart a session in the Flint
The agent starts with the init note of the Flint, so it knows the purpose, the shards, and the codebases before the first prompt.
flint orbh resume <id>A session outlives its terminal
Each session keeps its id, its title, its runs, and its result. Close the terminal and continue the same session the next day.
flint orbh request -q codex "…"One session gives work to another
A session sends a part of the work to a subagent and collects the result. Sessions also send messages to each other and share a room.
Reads the init note
Mesh/(System) Flint Init.mdLoads the shards for the work
flint shard start projResolves the codebases
flint resolve codebase "Horizon Web"Writes the result into the Mesh
(Task) 042 … status: reviewThe whole product, made coherent
Flint 0.7.0 is a full polish of the product: one setup, one home for the machine, one output style, and one migration.
Each failure names the next command
flint doctor checks this machine and the current Flint. Each failed check shows one next command. When a repair needs judgement, flint fix starts a repair session: an agent reads the failure record and does the repair with you.
A home for the machine
flint setup makes the Computer Flint: the home Flint of this computer. It holds the “Start here” note and the repair notes, and flint open computer reaches it from any folder.
Obsidian, set up for you
Flint installs one pinned release of plugins and themes into Obsidian and verifies each file by its hash. Your own settings stay yours. Obsidian is optional: the notes are plain Markdown.
Many Flints, one box
A Tinderbox holds many Flints as one unit. One command syncs each member, and a connection lets one Flint reference another.
No account to start
A new Flint is local. Its address starts with @/ and works on this machine. To share the Flint, give it an org later. The Flint keeps its id.
One migration from 0.6
flint migrate run moves a 0.6 Flint to 0.7.0 in steps. A dry run shows the plan first, and each run keeps a backup that a rollback can restore.
One output style, for people and for agents
Each command prints the same kind of report: what it did, what is not current, and the next command. With --json, the same report is one JSON value, also when the command refuses.
Set up Flint in one command
An agent sets up Flint with you. It checks your computer, installs what is missing, and asks before each change. No account is needed to start. Works on macOS and Linux.
$ curl -fsSL https://flint.nuucognition.com/install.sh | bashNeeds Claude Code. The script installs nothing itself: it shows a welcome and starts Claude Code with the setup instructions.
Other ways to start
Already in Claude Code? Paste this prompt:
Set up Flint on this machine. Fetch https://flint.nuucognition.com/setup.md with curl and follow it.Or install by hand (Node.js 26.1 or newer), then run flint setup:
$ npm install -g @nuucognition/flint-cli@latestWhat happens next
- 1
The install script starts the agent
Welcome to Flint.The install script checks your system and starts Claude Code with the setup instructions.
- 2
The agent sets up the machine
flint setupThe agent installs Node.js, Obsidian, the terminal font, and the latest Flint, then makes your Computer Flint: the home Flint of this computer.
1Identity2Git author3Environment4Agent default5Computer Flint6Guide7Open and onboarding - 3
You make your first Flint
flint orbh iAn onboarding agent starts in your Computer Flint and helps you make your first Flint.
