@erclx/aitk 0.46.0 → 0.46.1

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.
package/README.md CHANGED
@@ -21,7 +21,7 @@ claude plugin install aitk@aitk
21
21
 
22
22
  ![Adding the aitk marketplace and installing the plugin in Claude Code](assets/install.png)
23
23
 
24
- The skills land as `/aitk:<name>`. If your session was already open, run `/reload-plugins` to pick them up. Updates arrive on release, so a push to this repo won't reach your installed copy.
24
+ The skills land as `/aitk:<name>`. If your session was already open, run `/reload-plugins` to pick them up.
25
25
 
26
26
  Several skills call the `aitk` CLI to read catalogs and run installs, and the plugin doesn't put it on your path. Install it from the registry.
27
27
 
@@ -31,6 +31,20 @@ bun install --global @erclx/aitk
31
31
 
32
32
  [Bun](https://bun.sh) is the CLI runtime and has to be on your path first. Confirm the install by resolving `aitk --help`.
33
33
 
34
+ ## Update
35
+
36
+ Nothing refreshes on its own. Claude Code ships auto-update off for third-party marketplaces, so an installed copy serves whatever version it was installed at until you refresh it.
37
+
38
+ ```bash
39
+ claude plugin marketplace update aitk
40
+ claude plugin update aitk@aitk
41
+ bun install --global @erclx/aitk
42
+ ```
43
+
44
+ The first two update the skills, the third updates the CLI, and they move independently. Restart Claude Code, or run `/reload-plugins`, to pick the skills up.
45
+
46
+ To stop doing this by hand, turn auto-update on once under `/plugin` in the Marketplaces tab. Confirm what you are running with `aitk --version` and `claude plugin list`.
47
+
34
48
  ## Why
35
49
 
36
50
  Every AI coding setup accumulates the same assets. Prompts to reuse, rules agents should follow, slash commands, skills, seed docs, sync scripts. Once you have enough projects, your copies drift and your agents stop getting consistent signals.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aitk",
3
3
  "description": "Automated governance, versioning, and discovery tools for Claude Code.",
4
- "version": "0.46.0",
4
+ "version": "0.46.1",
5
5
  "author": {
6
6
  "name": "Eric Le",
7
7
  "url": "https://github.com/erclx"
@@ -12,7 +12,7 @@ This doc stays at the narrative layer. For command flags and JSON shapes, see [a
12
12
 
13
13
  ## Getting the skills
14
14
 
15
- The skills reach a session through a marketplace install, once per machine. Every session on that machine carries them afterward, and updates arrive on release, so an upstream push does not reach an installed copy.
15
+ The skills reach a session through a marketplace install, once per machine. Every session on that machine carries them afterward, and the installed copy stays at the version it was installed at. Claude Code ships auto-update off for third-party marketplaces, so neither a push nor a release reaches that copy until someone refreshes it with `claude plugin marketplace update aitk` followed by `claude plugin update aitk@aitk`, or turns auto-update on once under `/plugin`. The `aitk` CLI moves on its own schedule through the registry, so a machine can hold current skills against a stale CLI or the reverse.
16
16
 
17
17
  ```bash
18
18
  claude plugin marketplace add https://github.com/erclx/aitk
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@erclx/aitk",
3
3
  "type": "module",
4
- "version": "0.46.0",
4
+ "version": "0.46.1",
5
5
  "description": "Infrastructure and quality tooling for developer workflows",
6
6
  "license": "MIT",
7
7
  "bin": {
package/src/cli.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
 
3
+ import { readFileSync } from 'node:fs'
4
+ import { join } from 'node:path'
3
5
  import { Command } from 'commander'
4
6
  import { register as init } from '@/commands/init'
5
7
  import { register as sandbox } from '@/commands/sandbox'
@@ -20,6 +22,7 @@ import { register as transcripts } from '@/commands/transcripts'
20
22
  import { register as tasks } from '@/commands/tasks'
21
23
  import { register as comments } from '@/commands/comments'
22
24
  import { register as context } from '@/commands/context'
25
+ import { PROJECT_ROOT } from '@/exec'
23
26
 
24
27
  const GREY = '\x1b[0;90m'
25
28
  const WHITE = '\x1b[1;37m'
@@ -87,10 +90,26 @@ function showHelp(): void {
87
90
  console.log(lines.join('\n'))
88
91
  }
89
92
 
93
+ /**
94
+ * Read at runtime rather than inlined, because a literal here is a second place
95
+ * the version lives and it stopped tracking `package.json` at `0.1.0`. The
96
+ * release tool writes one file and this follows it. `package.json` ships in
97
+ * every npm tarball regardless of the `files` list, so the read resolves from a
98
+ * registry install as well as from a clone.
99
+ */
100
+ function readVersion(): string {
101
+ try {
102
+ const raw = readFileSync(join(PROJECT_ROOT, 'package.json'), 'utf8')
103
+ return (JSON.parse(raw) as { version?: string }).version ?? 'unknown'
104
+ } catch {
105
+ return 'unknown'
106
+ }
107
+ }
108
+
90
109
  const program = new Command()
91
110
  program
92
111
  .name('aitk')
93
- .version('0.1.0')
112
+ .version(readVersion())
94
113
  .enablePositionalOptions()
95
114
  .helpOption(false)
96
115
  program.action(() => showHelp())