@nurix/etna 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +34 -27
  2. package/bin/etna.js +82 -52
  3. package/data/harness-index.json +2 -8
  4. package/data/harnesses/code/CLAUDE.md +18 -9
  5. package/data/harnesses/code/agents/change-review.md +80 -0
  6. package/data/harnesses/code/agents/contract-monitor.md +65 -0
  7. package/data/harnesses/code/agents/dep-health.md +148 -0
  8. package/data/harnesses/code/agents/git-history.md +201 -0
  9. package/data/harnesses/code/agents/maintenance.md +112 -0
  10. package/data/harnesses/code/agents/review.md +109 -0
  11. package/data/harnesses/code/agents/spec-mode.md +56 -0
  12. package/data/harnesses/code/rules/general.md +96 -0
  13. package/data/harnesses/code/rules/nomenclature.md +34 -0
  14. package/data/harnesses/code/scripts/build-ownership-index.sh +138 -0
  15. package/data/harnesses/code/scripts/check-doc-drift.sh +125 -0
  16. package/data/harnesses/code/skills/documentation/SKILL.md +238 -0
  17. package/data/harnesses/code/skills/documentation/references/examples.md +193 -0
  18. package/data/harnesses/code/skills/documentation/references/style-guide.md +288 -0
  19. package/data/harnesses/code/skills/documentation/references/templates.md +901 -0
  20. package/data/harnesses/code/skills/introspect/SKILL.md +135 -0
  21. package/data/harnesses/code/skills/workflow-mapper/SKILL.md +430 -0
  22. package/data/harnesses/code/skills/workflow-mapper/references/patterns.md +214 -0
  23. package/data/harnesses/kb-agi/CLAUDE.md +57 -0
  24. package/data/harnesses/kb-agi/agents/kb-agi-init.md +276 -0
  25. package/data/harnesses/kb-agi/agents/kb-catch-stale.md +22 -0
  26. package/data/harnesses/kb-agi/agents/kb-find-gaps.md +27 -0
  27. package/data/harnesses/kb-agi/agents/kb-fix-links.md +22 -0
  28. package/data/harnesses/kb-agi/agents/kb-refresh-frontdoor.md +22 -0
  29. package/data/harnesses/kb-agi/agents/kb-refresh-summaries.md +22 -0
  30. package/data/harnesses/kb-agi/agents/kb-sync-metadata.md +25 -0
  31. package/data/harnesses/kb-agi/rules/kb.md +13 -0
  32. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: kb-sync-metadata
3
+ description: Keeps each content folder's metadata.md accurate to what the folder actually holds — checks Entry notes, Neighbours, and About against reality. Use before kb-find-gaps so it reads honest descriptions. Reports drift by default; updates metadata.md only when explicitly asked.
4
+ tools: Read, Grep, Glob, Edit
5
+ model: inherit
6
+ ---
7
+
8
+ You are the **kb-sync-metadata** goal-agent for the nupilot knowledge hub. One job: keep folder `metadata.md` files honest.
9
+
10
+ **Read first:** `meta/guidance.md` (the note model + the fixed `metadata.md` shape) — the contract that governs you. The procedure below is this agent's full, self-contained definition.
11
+
12
+ This is the upkeep that `kb-find-gaps` depends on: it reads `metadata.md` to know what a folder *should contain*. You keep that description truthful. You never invent missing content — that's the `kb-find-gaps` agent.
13
+
14
+ ## Procedure
15
+
16
+ 1. For each content folder, read its `metadata.md` and the notes actually in the folder.
17
+ 2. Check: **Entry notes** still exist and are `canonical`; **Neighbours** match where the folder's notes really link (use the graph); the **About / Should-contain** still fit what's there.
18
+ 3. Emit per-folder drift: dead entry-note pointers, wrong/missing neighbours, an About line that no longer describes the folder.
19
+ 4. A "this folder lacks a note on X" finding is a *content gap* — route it to `kb-find-gaps`, don't act on it here.
20
+
21
+ ## Write rules (doctrine P3)
22
+
23
+ - **Default: write nothing.** Output the per-folder drift report.
24
+ - **On request only:** edit the `metadata.md` fields to match reality. `metadata.md` is a folder self-description, not canon content.
25
+ - Every write is a git commit. Stay in your lane: you describe what's there, you don't create content or re-link notes.
@@ -0,0 +1,13 @@
1
+ # kb.md — Patterns for Obsidian-like Folders
2
+
3
+ Conventions for any folder that is majority markdown — `docs/`, `research/`, an Obsidian vault, or any knowledge base. Rules grow over time; append new ones below.
4
+
5
+ ## Rules
6
+
7
+ ### 1. Every topic gets a `Readme.md`
8
+
9
+ When you start documenting a topic, create `Readme.md` as the folder's landing page. Don't use `index.md` or unscoped filenames — `Readme.md` is what readers and tools (GitHub, Obsidian) look for first, and it makes the folder self-introducing.
10
+
11
+ ### 2. Always link documents to each other
12
+
13
+ When one document references an idea, concept, or topic covered in another, link to it. Wikilinks (`[[other-doc]]`) inside Obsidian-native vaults; relative markdown links (`[label](../other-doc.md)`) elsewhere. If you mention it, you link it — that's how the folder becomes a knowledge graph instead of a pile of files.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nurix/etna",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Bootstrap a project with a Nurix harness — installs a Claude Code plugin from the nurixlabs/skills marketplace and drops the harness's CLAUDE.md at the project root.",
5
5
  "type": "module",
6
6
  "bin": {