Quickstart
Installation options, workspace initialization, service background daemon, validation, and AI context commands.
Quickstart
Open Document Spec is one native CLI binary: ods. ODS is the default engine (no --ods flag). Extra specs use --okf / --skills. The normal flow is install, run ods setup, initialize or adopt Markdown, optionally keep the user service running, then validate with bare ods lint / ods lint.
1. Setup & Installation
Option 1: Primary Preference — Skill-First Setup for AI Assistants
The recommended, zero-friction entry point for ODS is via the ODS Skill in your AI Coding Assistant (Claude Code, Antigravity, Cursor, Codex, Windsurf, etc.).
When an AI assistant activates the ODS skill, the bundled cross-platform bootstrap script automatically:
- Detects your host Operating System (macOS, Linux, Windows) and architecture (
x86_64,arm64). - Downloads and verifies the matching native
ods(legacyods) release binary. - Registers and starts the persistent background OS user service (
systemduser unit /launchdagent / Windows Scheduled Task). - Validates workspace health and prints status:
==> Open Document Spec is installed and running on your machine!
==> Version: ods v0.0.x
Option 2: Direct CLI Installation
If you are operating directly in a terminal without an AI coding skill, you can manually install the CLI binary:
macOS / Linux:
curl -fsSL https://opendocify.com/install.sh | bash
ods --version
Windows (PowerShell):
irm https://opendocify.com/install.ps1 | iex
ods --version
2. Initialize a Workspace
New documentation folder:
mkdir my-docs
cd my-docs
ods init . # ODS default (writes root ods: marker)
Existing Markdown tree:
cd existing-docs
ods init . --adopt # or: ods init . --adopt
OKF knowledge bundle:
ods init --okf . # OKF v0.2 knowledge bundle (extra-spec flag)
ods init (ODS default) makes the folder ODS-compliant by creating a root ods.toml with spec = "0.1". Discovery is CLI-only — do not commit nested index.ods.md files.
Multi-spec: when do I need a flag?
| Situation | Command |
|---|---|
| ODS workspace (default) | bare ods lint, ods context … |
Pure OKF tree (okf_version only) |
always pass --okf (e.g. ods lint --okf) |
| Hybrid (both markers) | bare = ODS only; pass --okf for ODS+OKF, or set root specs.okf.enabled: true once |
| Agent Skills package | --skills |
OKF ships in the same binary (native engine) but is not always on. There is no --ods flag.
ODS lifecycle is ods.status; OKF uses top-level status — they are not auto-mapped.
3. Run Setup & Start Background Service
ods setup
ods setup checks release freshness, verifies the root spec header, starts/registers the background OS user service (systemd / launchd / schtasks), and runs ods doctor.
Direct service commands:
ods start .
ods start --status
ods stop .
ods stop --unregister .
Foreground alternative:
ods watch .
While ods start or ods watch runs, rename/move Markdown normally. ODS keeps path-shaped id, depends, related, body links, resource paths, context path entries, and generated ods.toml child lists current.
4. Validate Trust
ods lint
ods lint
Clean lint output:
Everything is fine — graph and links are consistent. No update required.
5. Use AI Context
Preferred bounded reading list (what agents should load):
ods context <doc-id>
ods context <doc-id> --max-tokens 8000 --print
ods context <doc-id> --explain # why each path was included
ods context <doc-id> --include-related # also walk soft related: edges
ods context <doc-id> --okf # pure OKF, or hybrid ODS+OKF merge
| Frontmatter | Role in context |
|---|---|
ods.depends |
Structural prerequisites — walked (up to context.max-depth) |
ods.related |
Soft links — not walked unless --include-related |
ods.context.load |
Extra files (md or resources) that must load |
ods.context.ignore |
Skip noisy trees during expansion |
ods.code |
Only if you pass --include-code |
ods export writes a full graph dump (default .ods/graph.md) for humans/CI — not the primary AI prompt pack.
ods export
ods export --out ai/graph.md
Publishing a filtered subset for external hand-off:
ods share . --out ../shared-docs
6. Keep Current
ods update --check
ods update
ods update downloads the latest binary release from GitHub Releases and automatically restarts the background service so it runs with the updated binary.
Next
- Existing repos: Adopting ODS
- CLI, service, CI, updates: Tooling Reference
- Profiles: Profiles & Catalogs
- FAQ: FAQ & Troubleshooting