code
Development tools for foundation.
The code.* namespaces are the maintenance layer for this repository: tests, source analysis, structural queries, documentation publishing, project metadata, build tools, and agent-facing MCP commands.
Tooling Areas
Use these pages when maintaining source, tests, generated documentation, or project metadata.
code.test
Fact-based custom tests, arrow assertions, metadata, skips, and targeted runs.
code.manage
Analyse, import, scaffold, locate, find usages, refactor, snap, and inspect code.
code.query
Structural selectors and traversal tools for Clojure source trees.
code.framework
Source and test analysis used by manage, doc, and refactor tooling.
code.doc
Parse, collect, link, render, theme, and publish static documentation.
code.project
Project metadata, file lookup, Leiningen, and Shadow project support.
code.tool
Build, Java, Maven, and measurement utilities.
code.mcp
MCP server and tool layer for code-manage, code-test, code-doc, and hara-lang actions.
0.1 Walkthrough
The first step when working with any code.* tool is to establish the project context. code.project/project loads project.clj, and code.project/file-lookup maps every namespace to its file. From there you can analyse, query, or render.
load the project and build a namespace lookup
(let [proj (project/project)
lookup (project/file-lookup proj)]
[(symbol? (:name proj))
(contains? lookup 'code.project)])
=> [true true]