Skip to main content

A local codebase wiki maintained by AI coding agents.

Project description

CodeAlmanac

CodeAlmanac is a local codebase wiki maintained by AI coding agents.

It keeps durable project knowledge next to the code: decisions, workflows, invariants, incidents, gotchas, and context from real engineering sessions. The wiki is markdown in your repository, backed by a local SQLite index for fast search.

Current Status

This Python rewrite is usable as a local alpha. It is not the old Node CLI and it does not require a hosted service.

  • Public command: codealmanac
  • Default repo wiki root: almanac/
  • Optional repo wiki root: docs/almanac/
  • User state root: ~/.codealmanac/
  • Runtime: Python 3.12+
  • Storage: local markdown plus a derived SQLite index

Install

From a published package:

uv tool install codealmanac

or:

python -m pip install codealmanac

From this checkout:

uv sync
uv run codealmanac --help

Quickstart

Inside a repository:

codealmanac init
codealmanac search "getting"
codealmanac show getting-started
codealmanac serve

init creates a local wiki scaffold under the configured Almanac root. New repos default to almanac/.

Daily Read Surface

Agents and humans use the same local read commands:

codealmanac search "checkout timeout"
codealmanac search --mentions src/checkout/
codealmanac show checkout-flow
codealmanac topics
codealmanac health

Use --wiki <name> to read another registered local wiki. By default, commands resolve the nearest repository wiki from the current directory.

Updating The Wiki

Lifecycle commands can ask a configured local agent harness to edit wiki pages. They only allow changes under the configured Almanac root.

codealmanac ingest README.md --using codex
codealmanac ingest github:pr:123 --using claude
codealmanac garden --using codex

ingest folds selected local material into the wiki. Inputs can include files, directories, Git diffs, commit ranges, GitHub PRs or issues, URLs, and local agent transcripts.

garden improves the existing wiki graph: stale pages, links, topics, weak leads, duplicate pages, and unsupported claims.

No-op is valid. If the material adds no durable wiki knowledge, the harness should leave the wiki unchanged.

Sync And Automation

sync scans local Claude and Codex transcript stores, waits for quiet sessions, and runs ordinary local ingest for eligible transcript ranges.

codealmanac sync status --from codex
codealmanac sync --from codex --using codex
codealmanac automation install sync --every 5h --quiet 30m
codealmanac automation status

Scheduled automation launches foreground sync or garden commands with explicit unattended policy. It is local scheduler state, not cloud sync.

Jobs

Lifecycle runs are recorded under the configured Almanac root:

codealmanac jobs
codealmanac jobs show <run-id>
codealmanac jobs logs <run-id>

Run logs include source-resolution facts, harness events, safety errors, and terminal status.

Providers

CodeAlmanac currently supports local Codex and Claude CLI harnesses.

codex login
claude auth login
codealmanac doctor

Read commands do not need provider credentials. Write-capable lifecycle commands need the selected harness to be available and authenticated.

What Gets Created By Init

With the default root:

your-repo/
|-- almanac/
|   |-- README.md
|   |-- topics.yaml
|   |-- pages/
|   |-- manual/
|-- src/
`-- ...

Markdown pages, topics.yaml, and manual files are the wiki source. init also writes .gitignore entries for runtime artifacts.

Runtime State

Derived local state appears when commands need it:

almanac/index.db
almanac/index.db-wal
almanac/index.db-shm
almanac/jobs/

Those runtime files are rebuildable local machine state and should stay out of commits.

Configuration

User config lives at:

~/.codealmanac/config.toml

Project config lives at:

<almanac-root>/config.toml

The first supported defaults are:

[harness]
default = "codex"

[sync]
quiet = "30m"

CLI flags still win over config.

Local Viewer

codealmanac serve

The viewer is read-only. It renders pages, search, topics, backlinks, and file-reference navigation from local wiki data.

Public Contract

This rewrite is local-only for now.

  • No hosted login/connect/upload commands.
  • No public SDK or MCP package.
  • No compatibility aliases.
  • No hidden cloud write path.
  • No second wiki command name.

Hosted integration can be added later around the same repo-owned wiki artifact, but it is not part of this release surface.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codealmanac-0.1.0.dev0.tar.gz (155.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codealmanac-0.1.0.dev0-py3-none-any.whl (170.8 kB view details)

Uploaded Python 3

File details

Details for the file codealmanac-0.1.0.dev0.tar.gz.

File metadata

  • Download URL: codealmanac-0.1.0.dev0.tar.gz
  • Upload date:
  • Size: 155.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for codealmanac-0.1.0.dev0.tar.gz
Algorithm Hash digest
SHA256 ea7a2428d2e23835a1a33360b51b7c0599449d7419b3b7f635b8cca21e5a3bed
MD5 94f0ffe7384c8a06974a809b2d820b3f
BLAKE2b-256 df4ba2c90556a41a96a6db0dc1da6c86bc220e63f9d3f2016d20cec002a9a6e1

See more details on using hashes here.

File details

Details for the file codealmanac-0.1.0.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for codealmanac-0.1.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8942ac19dfae9da50f3a617a82d3879528da67eba6b2e85963a837a17d6c004
MD5 308aacbef0d9aa4d3a63bbc09653101b
BLAKE2b-256 a9a850b67249fc78de6b90927b75f0014c861aede065c7856860e5f54f237f49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page