Skip to content

Quickstart ​

The recommended way to use Codemark

You'll rarely type codemark yourself. Install the skill into your coding agent, and it will create, recall, and annotate bookmarks for you — across sessions, even after the code has moved.

Codemark stops you from struggling to find the code you and your agent have already discovered. Instead of re-exploring the codebase every session, your agent remembers where the important code lives and why — and can leave targeted comments for the next agent (or you) to pick up.

1. Install Codemark ​

Prebuilt binaries for macOS, Linux, and Windows:

bash
brew install DanielCardonaRojas/codemark/codemark
bash
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/DanielCardonaRojas/codemark/releases/latest/download/codemark-cli-installer.sh | sh
powershell
powershell -ExecutionPolicy Bypass -c "irm https://github.com/DanielCardonaRojas/codemark/releases/latest/download/codemark-cli-installer.ps1 | iex"
bash
mise use -g github:DanielCardonaRojas/codemark
bash
cargo install --git https://github.com/DanielCardonaRojas/codemark codemark-cli
# Requires Rust 1.85+; SQLite is bundled.

Codemark is repo-aware by default — it detects the current Git repository automatically and stores bookmarks alongside it. No setup required.

2. Install the skill into your agent ​

This is the step that changes everything. One command teaches your agent to create and recall structural bookmarks on its own:

bash
codemark install-skill --agent claude --scope user

Works with Claude Code, GitHub Copilot, Gemini CLI, and any agent that loads .agents/skills. The context your agent builds in one session is still there in the next — no more rebuilding from scratch.

3. Just ask ​

That's it. Open a session in any repo and talk to your agent normally — it handles the bookmarking.

Remember what you've already found ​

"Trace how a request flows from the HTTP router to the database. Create a collection called request-lifecycle and bookmark each key hop: the route handler, the auth middleware, the service layer, and the query builder. Add a short note to each explaining its role."

Next session — even after the code has moved:

"Load the request-lifecycle collection and walk me through it."

Leave targeted comments for agents ​

Bookmarks carry two channels. Notes are durable explanations of what the code is; comments are markdown discussion tied to a task or ticket — perfect for leaving targeted guidance for the next agent:

"Bookmark the token-refresh logic and add a comment: investigating the race in TICKET-42 — see PR #116. The refresh path is the likely culprit."

The next agent reads that comment and starts exactly where the last one left off.

Real-world use cases ​

GoalAsk your agent
🧭 Onboard"Load the request-lifecycle collection and give me a guided tour, in the order the code runs."
🔎 Explain a flow"Bookmark the checkout flow into a checkout collection, then summarize each step."
🐞 Hunt a bug"There's a bug where expired tokens are still accepted. Read the auth-flow collection and tell me which hop is responsible."

For the full prompt playbook — discovery strategies, the tag taxonomy, and notes-vs-comments in depth — see the Agent Skill reference.


Power users: the manual CLI ​

Prefer to drive it yourself, or scripting? The CLI is fully featured.

bash
codemark add --file src/auth.rs --range 42 --tag auth \
  --note "token validation entrypoint"
codemark search "auth"          # full-text + semantic search
codemark tour show login-flow --format markdown  # render a collection
codemark tui                    # the keyboard-driven dashboard

See the CLI Reference for every subcommand and flag, and Keybindings for the dashboard.