{
  "markdown": "# Agent Second Brain with Open Knowledge Format\n\nThis repository is a vendor-neutral second-brain template for coding agents.\nIt stores durable memories as plain Markdown files with YAML frontmatter.\n\nThe template follows the [Open Knowledge Format v0.2 specification](skills/okf/reference/SPEC.md).\nIt does not need a model API, database, ingestion pipeline, or cloud account.\n\n## Repository layout\n\n```text\nbrain/                  The memory bundle\nexamples/sample-brain/  Example OKF conformant bundle to use as reference for formatting\nokf_tools/              Deterministic OKF tools\nskills/okf/             OKF memory-writing skill\n  reference/SPEC.md     Open Knowledge Format v0.2\n  templates/            Empty concept, index, and log templates\n  SKILL.md              Canonical rules for writing, maintaining and consuming memory\nsrc/                    Vite and React viewer source\ntests/                  Tool and conformance tests\nAGENTS.md               Entry point for agents that read AGENTS.md\nCLAUDE.md               Entry point for Claude Code\n```\n\nThe starter bundle contains two linked concepts. Its folders and types are\nexamples, not a fixed taxonomy.\n\n## Install\n\nUse Python 3.11 or newer.\n\n```sh\npython3 -m venv .venv\n.venv/bin/pip install -e '.[dev]'\n```\n\nInstall the local commit hook:\n\n```sh\n.venv/bin/pre-commit install\n```\n\nInstall the viewer dependencies with Node.js 20.19 or newer:\n\n```sh\nnpm install\n```\n\n## Memory workflow\n\nAgents must follow [skills/okf/SKILL.md](skills/okf/SKILL.md). The key rule is\nsimple: write or change a memory only after the user explicitly asks.\n\nAfter a memory change, run:\n\n```sh\n.venv/bin/okf index brain\n.venv/bin/okf check brain\n```\n\nThen commit only the memory files and generated indexes. Do not push.\n\n## Commands\n\n### Check SPEC conformance\n\n```sh\n.venv/bin/okf validate brain\n```\n\nThis command fails only for the three conformance rules in SPEC section 11.\nIt reports optional-field, link, source, and freshness problems as warnings.\n\n### Run strict repository checks\n\n```sh\n.venv/bin/okf check brain\n```\n\nThis command fails on every warning, conformance error, or generated-index\nchange. This repository policy is stricter than OKF conformance. OKF consumers\nmust still accept unknown types, extra keys, missing optional fields, broken\nlinks, and missing indexes as the SPEC requires.\n\n### Generate indexes\n\n```sh\n.venv/bin/okf index brain\n.venv/bin/okf index --check brain\n```\n\nThe generator is deterministic. It preserves `okf_version` in the root index\nand excludes the reserved `index.md` and `log.md` files from concept lists.\n\n### Browse the memory graph\n\n```sh\nnpm run dev\n```\n\nVite reads every concept under `brain/` and updates the open viewer when a\nMarkdown file changes. The tracked `index.html` file is the normal Vite entry\nfile. Agent Grid reads the same files from Sandpack's mounted project. Neither\nviewer path needs generated data, and the repository does not track build output.\n\nBuild and preview the static viewer with:\n\n```sh\nnpm run build\nnpm run preview\n```\n\nA static deployment includes the bundle state from its build. Rebuild the\nviewer after a deployed bundle changes.\n\n## Verification and attestation\n\nThe strict checker checks trust metadata, freshness, links, and declared local\nfiles. It never writes a `verified` event and never runs an attester.\n\nOKF v0.2 does not define a portable attester interface. A bundle can declare\nan attester, but a problem-specific consumer must execute it safely.\n\n## Tests\n\n```sh\n.venv/bin/pytest\n.venv/bin/pre-commit run --all-files\nnpm test\nnpm run build\n```\n",
  "bytes": 3597,
  "sha": "f733331268079e7276cc484f4e9aea59e52526dd2fbb12c230a858c84f965d84",
  "repo_slug": "animaapp/second-brain-template",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_animaapp_second_brain_template_brain_ind_f0607947/readme"
}