tracerkit 1.9.1 → 1.9.3

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
@@ -30,13 +30,7 @@ TracerKit takes a different approach: **tracer-bullet vertical slices**. Each ph
30
30
  npx tracerkit init
31
31
  ```
32
32
 
33
- Skills are installed globally to `~/.claude/skills/`, available in every project. No per-project setup needed.
34
-
35
- To replace all existing skills with the latest versions:
36
-
37
- ```bash
38
- npx tracerkit init --force
39
- ```
33
+ Skills are installed globally to `~/.claude/skills/`, available in every project. No per-project setup needed. Safe to re-run — adds any missing skills without overwriting ones you've modified.
40
34
 
41
35
  ### Workflow
42
36
 
package/dist/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { c as e, i as t, n, o as r, r as i, t as a } from "./uninstall-BP2pCnBW.js";
2
+ import { c as e, i as t, n, o as r, r as i, t as a } from "./uninstall-C4dWMK0k.js";
3
3
  import { existsSync as o, mkdirSync as s, readFileSync as c, readdirSync as l, rmSync as u, unlinkSync as d, writeFileSync as f } from "node:fs";
4
4
  import { dirname as p, join as m, resolve as h } from "node:path";
5
5
  import { fileURLToPath as g } from "node:url";
@@ -142,7 +142,7 @@ var { version: M } = JSON.parse(c(h(p(g(import.meta.url)), "..", "package.json")
142
142
  ...t.map((e) => ` ${`${e.name} ${e.args}`.padEnd(N + 2)}${e.desc}`),
143
143
  "",
144
144
  "Options:",
145
- " --force init: replace all skills; update: overwrite modified files",
145
+ " --force Overwrite modified files during update",
146
146
  " --help, -h Show this help message",
147
147
  " --version, -v Print version",
148
148
  "",
@@ -172,12 +172,9 @@ function L(e) {
172
172
  let t = e[0], o = e.slice(1);
173
173
  switch (t) {
174
174
  case "brief": return A(F(o, process.cwd()));
175
- case "init": {
176
- let e = o.includes(r.force);
177
- return i(F(o.filter((e) => e !== r.force)), { force: e });
178
- }
175
+ case "init": return n(F(o));
179
176
  case "update": {
180
- let e = o.includes(r.force), t = n(F(o.filter((e) => e !== r.force)), { force: e });
177
+ let e = o.includes(r.force), t = i(F(o.filter((e) => e !== r.force)), { force: e });
181
178
  return t.push("", "Updated to the latest TracerKit."), t.push("If using Claude Code, restart your session to load changes."), t;
182
179
  }
183
180
  case "uninstall": return a(F(o));
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, r, s as i, t as a } from "./uninstall-BP2pCnBW.js";
2
- export { t as COMMANDS, e as DEPRECATED_SKILLS, i as SKILL_NAMES, r as init, a as uninstall, n as update };
1
+ import { a as e, i as t, n, r, s as i, t as a } from "./uninstall-C4dWMK0k.js";
2
+ export { t as COMMANDS, e as DEPRECATED_SKILLS, i as SKILL_NAMES, n as init, a as uninstall, r as update };
@@ -104,18 +104,8 @@ function x(t, r) {
104
104
  };
105
105
  }
106
106
  //#endregion
107
- //#region src/commands/init.ts
108
- function S(t, n) {
109
- let r = n?.force ?? !1;
110
- if (!r) {
111
- for (let n of f) if (e(s(t, ".claude", "skills", n))) throw Error(`.claude/skills/${n}/ already exists — run \`tracerkit update\` to add new skills, or \`tracerkit init --force\` to replace all skills`);
112
- }
113
- let { copied: i } = y(t, d(t));
114
- return i.map((e) => `✓ ${e}${r ? " (replaced)" : ""}`);
115
- }
116
- //#endregion
117
107
  //#region src/commands/update.ts
118
- function C(t, n) {
108
+ function S(t, n) {
119
109
  if (!f.some((n) => e(s(t, ".claude", "skills", n)))) throw Error("TracerKit not initialized — run `tracerkit init` first");
120
110
  let r = d(t), { unchanged: a, modified: o, missing: c } = x(t, r), l = [];
121
111
  for (let n of p) {
@@ -143,6 +133,13 @@ function C(t, n) {
143
133
  return l;
144
134
  }
145
135
  //#endregion
136
+ //#region src/commands/init.ts
137
+ function C(t) {
138
+ if (f.some((n) => e(s(t, ".claude", "skills", n)))) return S(t);
139
+ let { copied: n } = y(t, d(t));
140
+ return n.map((e) => `✓ ${e}`);
141
+ }
142
+ //#endregion
146
143
  //#region src/commands/uninstall.ts
147
144
  function w(t) {
148
145
  if (!f.some((n) => e(s(t, ".claude", "skills", n)))) throw Error("TracerKit not initialized — nothing to uninstall");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tracerkit",
3
- "version": "1.9.1",
3
+ "version": "1.9.3",
4
4
  "description": "Spec-driven workflow for Claude Code: replace ad-hoc prompts with PRD → plan → verify.",
5
5
  "license": "MIT",
6
6
  "author": {