/docs
Living project documentation. Edits one section at a time via marker-bounded blocks.
docs/<area>.htmlv0.14.0 · MIT · pre-1.0
A cross-tool AI-coding kit. Write your project rules once in AGENTS.md; haac-aikit fans them out — plus skills, agents, hooks, and MCP servers — to every selected tool in its native format.
New in 0.14: skill folder format. See Recently shipped ↓
npm i -g haac-aikit@latest
Then run aikit — 30-second wizard. Headless: aikit --yes --tools=claude
Skills, agents, hooks, MCP — each generated in the target tool's native format. Pick the tools you use; aikit sync writes only their files. No cross-tool ballast.
one AGENTS.md → seven tool-native surfaces, regenerated on every aikit sync
Each one turns a single prompt into one self-contained HTML file you can open in a browser and commit to git. No build step, no CDN, no dependencies.
Living project documentation. Edits one section at a time via marker-bounded blocks.
docs/<area>.htmlTradeoff page for 2-4 technical options. Cards, comparison, recommendation.
docs/decisions/<date>-<slug>.html2-4 visual design variants rendered live side by side, light/dark toggle.
docs/directions/<date>-<slug>.htmlImplementation plan: milestones, data-flow SVG, mockups, code, risks, open questions.
docs/roadmaps/<date>-<slug>.htmlaikit add --html
Codify the project's visual language as a DESIGN.md contract every AI tool reads — plus an interactive HTML showroom with live color and font tweaking. The one skill that ships its own opinion.
aikit add design
/design actually help?We ran the same prompts twice — once with the skill installed, once freestyle. Same model, same inputs, same binary rubric (see evals/design/rubric.md). The skill's job is to make the freestyle answer disappear.
| The ask | With /design | Without |
|---|---|---|
| "Read my homepage HTML, build a DESIGN.md" | 100% | 71% |
| "Synthesize one — here's the vibe" | 100% | 71% |
| "Build it from this screenshot" | 86% | 57% |
| Average across all three | 95% | 66% |
+29 points on average. Freestyle never lost on the descriptive criteria — hex codes in code ticks, full font stacks, numerical layout specs all appear naturally. It lost every time on the structural contract: it invented its own section IDs (design-overview, design.tokens.color) and marker patterns (<!-- BEGIN:design-X -->) instead of the engine's canonical <!-- BEGIN:haac-aikit:section:X -->. That's the gap /design closes — and why surgical refine works after.
Block force-push to main, secret commits, rm -rf on sensitive paths, and reads of .ssh/ / .aws/ / secrets/. Fires before the AI runs the command.
Telemetry tracks which rules fire, which get cited, which are dead weight. Run aikit doctor --rules for the per-rule report or aikit report for a PR-ready summary.
14 always-on skills (TDD, debugging, brainstorming, planning, code review, more) and 11 opt-in. Specialist agents for orchestration and PR description.
169 tests pass, format correctness audited against each tool's official docs, path-traversal guard on user input. See AUDIT.md for the trail.
Full history in the changelog.
Skills moved to folder format — <name>/SKILL.md. Sibling files like references/ ride along with each skill. The flat .md layout no longer validates.
aikit init was silently shipping zero skills — six consumers in src/ still grepped .md files inside folders after the prior migration.aikit add --html aborted with "bundled skill missing in catalog" (used the old flat path)."SKILL" (basename match against .md).backend / frontend / mobile without checking they were installed (tier2 / opt-in).catalog-check rejects unrecognized entries at tier roots (typos, stray files, SKILL.md at the wrong level).allowed-tools: required to be non-empty — bare or empty lists previously passed validation.Migration: re-run aikit sync after upgrading. Your .aikitrc.json is forward-compatible. Tests: 169/169 pass.