@erclx/aitk 2.2.0 → 3.0.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aitk",
3
3
  "description": "Automated governance, versioning, and discovery tools for Claude Code.",
4
- "version": "2.2.0",
4
+ "version": "3.0.0",
5
5
  "author": {
6
6
  "name": "Eric Le",
7
7
  "url": "https://github.com/erclx"
@@ -11,7 +11,7 @@ Read these files in parallel:
11
11
 
12
12
  - `${CLAUDE_SKILL_DIR}/references/branch.md`: branch format, valid types, and constraints
13
13
  - `${CLAUDE_SKILL_DIR}/references/pr.md`: structure, rules, and banned phrases
14
- - `${CLAUDE_SKILL_DIR}/references/labels.md`: label map format, matching, and the missing-label warning. Skip when the project has no `.claude/pr-labels.toml`.
14
+ - `${CLAUDE_SKILL_DIR}/references/labels.md`: label map format, matching, and the missing-label warning. Skip when the project has no `.claude/aitk/pr-labels.toml`.
15
15
  - `${CLAUDE_SKILL_DIR}/../../standards/markdown.md`: banned words, punctuation, and formatting for all generated text
16
16
  - The `write-human` skill: voice, rhythm, and sentence construction for all generated text
17
17
  - `${CLAUDE_SKILL_DIR}/../../standards/versioning.md`: phase label vs semver discipline
@@ -84,7 +84,7 @@ A detached HEAD gives `git branch --show-current` an empty result, which would r
84
84
 
85
85
  ### Labels
86
86
 
87
- Read `.claude/pr-labels.toml` from the project root. A project that has not declared a map gets no labels and no warning, since a label set this skill supplied would be a guess about that project's surfaces.
87
+ Read `.claude/aitk/pr-labels.toml` from the project root. A project that has not declared a map gets no labels and no warning, since a label set this skill supplied would be a guess about that project's surfaces.
88
88
 
89
89
  When the file resolves, match it against the name-only diff per `${CLAUDE_SKILL_DIR}/references/labels.md` and write the comma-separated result into `pr_labels` below. Leave `pr_labels` empty when no map resolves or no prefix matches, which skips the labelling command rather than running it against nothing.
90
90
 
@@ -17,7 +17,7 @@ Does not govern:
17
17
 
18
18
  ## Map format
19
19
 
20
- The map lives at `.claude/pr-labels.toml` in the project root. Each key under `[domains]` is a label name and its value is the list of path prefixes that earn it.
20
+ The map lives at `.claude/aitk/pr-labels.toml` in the project root. Each key under `[domains]` is a label name and its value is the list of path prefixes that earn it.
21
21
 
22
22
  ```toml
23
23
  [domains]
@@ -94,11 +94,13 @@ when the project authored it, or `drifted` when no stamp covers it.
94
94
 
95
95
  Use `--json` for the machine-readable report and `--exit-code` to fail a CI job. Orphaned
96
96
  files are excluded from that exit code, since a project-authored rule never
97
- converges. Attribution reads `.claude/aitk.json`, which every install and sync
98
- writes.
97
+ converges. Attribution reads `.claude/aitk/config.json`, which every install and
98
+ sync writes.
99
99
 
100
- A target installed before stamping shipped has no such file, and the report
101
- falls back to the toolkit's own git history. Installed content matching any
100
+ A target installed before stamping shipped has no such file, and neither does one
101
+ stamped before the file moved into `.claude/aitk/`, which is read as absent
102
+ rather than migrated. Both fall back to the toolkit's own git history.
103
+ Installed content matching any
102
104
  version that history ever published proves the file is untouched, so it reports
103
105
  `stale` naming the commit it came from, and content matching no published
104
106
  version stays `drifted`. A toolkit reached outside a git clone, which is what a
@@ -124,7 +124,7 @@ The report opens by naming the binary running it. The installed version reads ag
124
124
 
125
125
  A `stale` file still matches what the toolkit installed, so the update is mechanical. A `customized` file carries local edits, so taking the upstream version is a decision and `aitk:claude-seed-sync` is the tool for it. A `stranded` file sits where an older toolkit installed it and the toolkit has since moved, which is what `aitk:migration-standards` handles.
126
126
 
127
- That attribution comes from `.claude/aitk.json`, a stamp every install and sync writes. Snippets and governance record a hash per installed file. Tooling records the stack chain it resolved instead, since its install runs no per-file walk to attribute.
127
+ That attribution comes from `.claude/aitk/config.json`, a stamp every install and sync writes. Snippets and governance record a hash per installed file. Tooling records the stack chain it resolved instead, since its install runs no per-file walk to attribute.
128
128
 
129
129
  Each domain holds its own toolkit commit, so syncing governance today does not move the revision snippets measures against, and each domain reports the upstream commits touching its own source path. Running any sync stamps that domain, and the report names the ones still unstamped.
130
130
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@erclx/aitk",
3
3
  "type": "module",
4
- "version": "2.2.0",
4
+ "version": "3.0.0",
5
5
  "description": "Infrastructure and quality tooling for developer workflows",
6
6
  "license": "MIT",
7
7
  "bin": {
package/src/sync/stamp.ts CHANGED
@@ -53,7 +53,7 @@ export interface Stamp {
53
53
  }
54
54
 
55
55
  export function stampPath(target: string): string {
56
- return join(target, '.claude', 'aitk.json')
56
+ return join(target, '.claude', 'aitk', 'config.json')
57
57
  }
58
58
 
59
59
  export function hashContent(content: Buffer | string): string {