@softspark/ai-toolkit 1.8.0 → 2.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +47 -13
  2. package/README.md +69 -17
  3. package/app/.claude-plugin/plugin.json +1 -1
  4. package/app/ARCHITECTURE.md +7 -1
  5. package/app/hooks/governance-capture.sh +1 -1
  6. package/app/hooks/pre-compact-save.sh +1 -1
  7. package/app/hooks/session-context.sh +1 -1
  8. package/app/hooks/track-usage.sh +2 -2
  9. package/app/hooks.json +20 -20
  10. package/app/plugins/memory-pack/README.md +1 -1
  11. package/app/plugins/memory-pack/hooks/observation-capture.sh +2 -2
  12. package/app/plugins/memory-pack/hooks/session-summary.sh +1 -1
  13. package/app/plugins/memory-pack/scripts/init_db.py +2 -2
  14. package/app/plugins/memory-pack/skills/mem-search/SKILL.md +3 -3
  15. package/app/skills/hook-creator/SKILL.md +2 -2
  16. package/app/skills/mem-search/SKILL.md +3 -3
  17. package/app/skills/repeat/SKILL.md +1 -1
  18. package/bin/ai-toolkit.js +32 -3
  19. package/kb/history/completed/enterprise-config-inheritance-plan-20260412.md +32 -34
  20. package/kb/history/completed/offline-slm-profile-plan-20260411.md +12 -12
  21. package/kb/planning/cloud-security-pack-plan.md +3 -3
  22. package/kb/procedures/maintenance-sop.md +3 -3
  23. package/kb/reference/architecture-overview.md +5 -5
  24. package/kb/reference/benchmark-config.md +1 -1
  25. package/kb/reference/competitive-features-implementation.md +2 -2
  26. package/kb/reference/enterprise-config-guide.md +9 -9
  27. package/kb/reference/extension-api.md +1 -1
  28. package/kb/reference/global-install-model.md +2 -2
  29. package/kb/reference/hooks-catalog.md +30 -30
  30. package/kb/reference/integrations.md +3 -3
  31. package/kb/reference/manifest-install.md +4 -4
  32. package/kb/reference/plugin-pack-conventions.md +5 -5
  33. package/kb/reference/stats.md +3 -3
  34. package/kb/reference/sync.md +3 -3
  35. package/llms-full.txt +118 -899
  36. package/llms.txt +0 -1
  37. package/manifest.json +4 -4
  38. package/package.json +1 -1
  39. package/scripts/add_rule.py +3 -2
  40. package/scripts/benchmark_config.py +3 -1
  41. package/scripts/compile_slm.py +9 -7
  42. package/scripts/config_cli.py +7 -7
  43. package/scripts/config_lock.py +12 -4
  44. package/scripts/config_merger.py +1 -1
  45. package/scripts/config_resolver.py +20 -7
  46. package/scripts/config_scaffold.py +4 -4
  47. package/scripts/config_validator.py +3 -3
  48. package/scripts/dir_rules_shared.py +1 -1
  49. package/scripts/doctor.py +3 -2
  50. package/scripts/install.py +25 -6
  51. package/scripts/install_git_hooks.py +1 -1
  52. package/scripts/install_steps/ai_tools.py +4 -4
  53. package/scripts/install_steps/hooks.py +1 -1
  54. package/scripts/install_steps/install_state.py +8 -6
  55. package/scripts/install_steps/project_registry.py +142 -0
  56. package/scripts/migrate.py +199 -0
  57. package/scripts/paths.py +50 -0
  58. package/scripts/plugin.py +8 -6
  59. package/scripts/projects_cli.py +110 -0
  60. package/scripts/remove_rule.py +5 -4
  61. package/scripts/stats.py +3 -2
  62. package/scripts/sync.py +3 -2
  63. package/scripts/update_projects.py +141 -0
  64. package/scripts/version_check.py +5 -2
  65. package/kb/planning/local-dashboard-plan.md +0 -773
@@ -25,7 +25,7 @@ This design is intentional: ai-toolkit is a generic toolkit. Consumers (MCP serv
25
25
  | `remove-rule <name>` | `~/.claude/CLAUDE.md` | Strip markers by block name | Yes |
26
26
  | `inject-hook <file.json>` | `~/.claude/settings.json` | JSON `_source` tag per entry | Yes |
27
27
  | `remove-hook <name>` | `~/.claude/settings.json` | Strip all entries with matching `_source` | Yes |
28
- | `add-rule <file.md>` | `~/.ai-toolkit/rules/` | File copy + re-inject all rules on next `update` | Yes |
28
+ | `add-rule <file.md>` | `~/.softspark/ai-toolkit/rules/` | File copy + re-inject all rules on next `update` | Yes |
29
29
  | `mcp add <name...>` | `.mcp.json` | Merge `mcpServers` block from template | Yes |
30
30
 
31
31
  ## inject-rule
@@ -27,8 +27,8 @@ That means one machine-level install provides agents, skills, hooks, and rules t
27
27
  | `ai-toolkit install --local --lang <lang>` | current project | explicit language selection for rules (e.g. `--lang typescript`, `--lang go,python`); auto-detected when omitted |
28
28
  | `ai-toolkit install --modules <list>` | `~/.claude/` | selective module install (e.g. `--modules core,agents,rules-typescript`) |
29
29
  | `ai-toolkit update --local` | current project | refresh project configs; auto-detects editors from existing files |
30
- | `ai-toolkit add-rule` | `~/.ai-toolkit/rules/` | register a global rule |
31
- | `ai-toolkit remove-rule` | `~/.ai-toolkit/rules/` | unregister a global rule |
30
+ | `ai-toolkit add-rule` | `~/.softspark/ai-toolkit/rules/` | register a global rule |
31
+ | `ai-toolkit remove-rule` | `~/.softspark/ai-toolkit/rules/` | unregister a global rule |
32
32
 
33
33
  ## Why global install is the default
34
34
 
@@ -13,17 +13,17 @@ description: "Complete reference of all ai-toolkit hooks: events, scripts, insta
13
13
 
14
14
  ## Overview
15
15
 
16
- ai-toolkit provides 21 global hook entries across 12 lifecycle events that enforce quality, safety, and workflow rules across all Claude Code sessions. Hooks are merged into `~/.claude/settings.json` on install, with logic in standalone scripts at `~/.ai-toolkit/hooks/`.
16
+ ai-toolkit provides 21 global hook entries across 12 lifecycle events that enforce quality, safety, and workflow rules across all Claude Code sessions. Hooks are merged into `~/.claude/settings.json` on install, with logic in standalone scripts at `~/.softspark/ai-toolkit/hooks/`.
17
17
 
18
18
  ## Installation
19
19
 
20
20
  ```bash
21
- ai-toolkit install # copies scripts to ~/.ai-toolkit/hooks/, merges into settings.json
21
+ ai-toolkit install # copies scripts to ~/.softspark/ai-toolkit/hooks/, merges into settings.json
22
22
  ai-toolkit update # re-copies scripts, re-merges (idempotent)
23
23
  ```
24
24
 
25
25
  **File locations:**
26
- - Scripts: `~/.ai-toolkit/hooks/*.sh`
26
+ - Scripts: `~/.softspark/ai-toolkit/hooks/*.sh`
27
27
  - Config: `~/.claude/settings.json` → `hooks` key
28
28
  - Source: `ai-toolkit/app/hooks/*.sh` + `app/hooks.json`
29
29
 
@@ -35,7 +35,7 @@ ai-toolkit update # re-copies scripts, re-merges (idempotent)
35
35
  |-------|-------|
36
36
  | Event | `SessionStart` |
37
37
  | Matcher | `startup\|compact` |
38
- | Script | `~/.ai-toolkit/hooks/session-start.sh` |
38
+ | Script | `~/.softspark/ai-toolkit/hooks/session-start.sh` |
39
39
  | Fires | Session start + after context compaction |
40
40
 
41
41
  **Actions:**
@@ -50,7 +50,7 @@ ai-toolkit update # re-copies scripts, re-merges (idempotent)
50
50
  |-------|-------|
51
51
  | Event | `Notification` |
52
52
  | Matcher | *(all)* |
53
- | Script | `~/.ai-toolkit/hooks/notify-waiting.sh` |
53
+ | Script | `~/.softspark/ai-toolkit/hooks/notify-waiting.sh` |
54
54
  | Fires | Claude Code waiting for user input |
55
55
 
56
56
  **Action:** Cross-platform desktop notification ("Claude Code needs your attention"):
@@ -64,7 +64,7 @@ ai-toolkit update # re-copies scripts, re-merges (idempotent)
64
64
  |-------|-------|
65
65
  | Event | `PreToolUse` |
66
66
  | Matcher | `Bash` |
67
- | Script | `~/.ai-toolkit/hooks/guard-destructive.sh` |
67
+ | Script | `~/.softspark/ai-toolkit/hooks/guard-destructive.sh` |
68
68
  | Fires | Before any Bash command |
69
69
 
70
70
  **Action:** Blocks (exit 2) commands matching destructive patterns:
@@ -80,7 +80,7 @@ ai-toolkit update # re-copies scripts, re-merges (idempotent)
80
80
  |-------|-------|
81
81
  | Event | `PreToolUse` |
82
82
  | Matcher | `Bash\|Read\|Edit\|Write\|MultiEdit\|Glob\|Grep\|NotebookEdit\|mcp__filesystem__.*` |
83
- | Script | `~/.ai-toolkit/hooks/guard-path.sh` |
83
+ | Script | `~/.softspark/ai-toolkit/hooks/guard-path.sh` |
84
84
  | Fires | Before any file access tool (including Bash, MCP filesystem) |
85
85
 
86
86
  **Action:** Blocks (exit 2) when a path contains `/Users/<wrong>` or `/home/<wrong>` that doesn't match the actual `$HOME`. Prevents Claude from hallucinating or confusing similar usernames (common with non-ASCII names like Polish names).
@@ -93,7 +93,7 @@ ai-toolkit update # re-copies scripts, re-merges (idempotent)
93
93
  |-------|-------|
94
94
  | Event | `UserPromptSubmit` |
95
95
  | Matcher | *(all)* |
96
- | Script | `~/.ai-toolkit/hooks/user-prompt-submit.sh` |
96
+ | Script | `~/.softspark/ai-toolkit/hooks/user-prompt-submit.sh` |
97
97
  | Fires | Before Claude starts working on a submitted prompt |
98
98
 
99
99
  **Action:** Adds a lightweight governance reminder: plan mode for architectural work, evidence-first debugging, KB-first research, and validation expectations.
@@ -106,10 +106,10 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
106
106
  |-------|-------|
107
107
  | Event | `UserPromptSubmit` |
108
108
  | Matcher | *(all)* |
109
- | Script | `~/.ai-toolkit/hooks/track-usage.sh` |
109
+ | Script | `~/.softspark/ai-toolkit/hooks/track-usage.sh` |
110
110
  | Fires | Before Claude starts working on a submitted prompt |
111
111
 
112
- **Action:** Records skill invocations (slash commands like `/commit`, `/review`) to `~/.ai-toolkit/stats.json` for local usage analytics. Non-slash prompts are ignored.
112
+ **Action:** Records skill invocations (slash commands like `/commit`, `/review`) to `~/.softspark/ai-toolkit/stats.json` for local usage analytics. Non-slash prompts are ignored.
113
113
 
114
114
  ### PostToolUse (edit feedback) — `post-tool-use.sh`
115
115
 
@@ -117,7 +117,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
117
117
  |-------|-------|
118
118
  | Event | `PostToolUse` |
119
119
  | Matcher | `Edit\|MultiEdit\|Write` |
120
- | Script | `~/.ai-toolkit/hooks/post-tool-use.sh` |
120
+ | Script | `~/.softspark/ai-toolkit/hooks/post-tool-use.sh` |
121
121
  | Fires | After file edit/write tool operations |
122
122
 
123
123
  **Action:** Adds a lightweight reminder to run relevant validation, tests, and documentation updates after edits.
@@ -130,7 +130,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
130
130
  |-------|-------|
131
131
  | Event | `Stop` |
132
132
  | Matcher | *(all)* |
133
- | Script | `~/.ai-toolkit/hooks/quality-check.sh` |
133
+ | Script | `~/.softspark/ai-toolkit/hooks/quality-check.sh` |
134
134
  | Fires | After every Claude response |
135
135
 
136
136
  **Action:** Runs language-appropriate linter:
@@ -148,7 +148,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
148
148
  |-------|-------|
149
149
  | Event | `Stop` |
150
150
  | Matcher | *(all)* |
151
- | Script | `~/.ai-toolkit/hooks/save-session.sh` |
151
+ | Script | `~/.softspark/ai-toolkit/hooks/save-session.sh` |
152
152
  | Fires | After every Claude response |
153
153
 
154
154
  **Action:** Writes enriched session context to `.claude/session-context.md` for cross-session persistence. Captures:
@@ -164,7 +164,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
164
164
  |-------|-------|
165
165
  | Event | `TaskCompleted` |
166
166
  | Matcher | *(all)* |
167
- | Script | `~/.ai-toolkit/hooks/quality-gate.sh` |
167
+ | Script | `~/.softspark/ai-toolkit/hooks/quality-gate.sh` |
168
168
  | Fires | When an Agent Teams task is marked complete |
169
169
 
170
170
  **Action:** Runs lint/typecheck. **Blocks completion (exit 2)** if errors found. Strict profile also runs `mypy --strict`.
@@ -177,7 +177,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
177
177
  |-------|-------|
178
178
  | Event | `SubagentStart` |
179
179
  | Matcher | *(all)* |
180
- | Script | `~/.ai-toolkit/hooks/subagent-start.sh` |
180
+ | Script | `~/.softspark/ai-toolkit/hooks/subagent-start.sh` |
181
181
  | Fires | When a subagent is spawned |
182
182
 
183
183
  **Action:** Reminds subagents to stay narrow in scope, gather evidence first, and return explicit validation notes.
@@ -190,7 +190,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
190
190
  |-------|-------|
191
191
  | Event | `SubagentStop` |
192
192
  | Matcher | *(all)* |
193
- | Script | `~/.ai-toolkit/hooks/subagent-stop.sh` |
193
+ | Script | `~/.softspark/ai-toolkit/hooks/subagent-stop.sh` |
194
194
  | Fires | When a subagent completes |
195
195
 
196
196
  **Action:** Enforces a concise handoff checklist: findings, files touched, tests run, risks, and docs follow-up.
@@ -203,7 +203,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
203
203
  |-------|-------|
204
204
  | Event | `PreCompact` |
205
205
  | Matcher | *(all)* |
206
- | Script | `~/.ai-toolkit/hooks/pre-compact.sh` |
206
+ | Script | `~/.softspark/ai-toolkit/hooks/pre-compact.sh` |
207
207
  | Fires | Before context compaction |
208
208
 
209
209
  **Actions (prioritized — higher priority items survive tighter token budgets):**
@@ -221,7 +221,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
221
221
  |-------|-------|
222
222
  | Event | `SessionEnd` |
223
223
  | Matcher | *(all)* |
224
- | Script | `~/.ai-toolkit/hooks/session-end.sh` |
224
+ | Script | `~/.softspark/ai-toolkit/hooks/session-end.sh` |
225
225
  | Fires | When a Claude session ends |
226
226
 
227
227
  **Action:** Writes `.claude/session-end.md` with a lightweight handoff note for the next session and reminds the next session to review preserved context.
@@ -248,7 +248,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
248
248
  |-------|-------|
249
249
  | Event | `PreToolUse` |
250
250
  | Matcher | `Edit\|Write\|MultiEdit` |
251
- | Script | `~/.ai-toolkit/hooks/guard-config.sh` |
251
+ | Script | `~/.softspark/ai-toolkit/hooks/guard-config.sh` |
252
252
  | Fires | Before any file write/edit operation |
253
253
 
254
254
  **Action:** Blocks (exit 2) edits to linter and formatter config files — `.eslintrc`, `.eslintrc.*`, `eslint.config.*`, `.prettierrc`, `.prettierrc.*`, `prettier.config.*`, `tsconfig.json`, `tsconfig.*.json` — unless the request contains an explicit acknowledgment phrase (e.g. "intentionally editing config"). Returns a human-readable explanation to Claude so it can ask the user for confirmation before retrying.
@@ -259,7 +259,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
259
259
  |-------|-------|
260
260
  | Event | `SessionStart` |
261
261
  | Matcher | *(all)* |
262
- | Script | `~/.ai-toolkit/hooks/mcp-health.sh` |
262
+ | Script | `~/.softspark/ai-toolkit/hooks/mcp-health.sh` |
263
263
  | Fires | Session start |
264
264
 
265
265
  **Action:** Non-blocking (always exits 0). Reads MCP server definitions from `~/.claude/settings.json` and any local `.mcp.json`. For each configured server, checks whether the required runtime command (`npx`, `uvx`, `docker`, etc.) is available in `$PATH`. Emits warnings for any missing runtimes, including install hints (e.g. "npm install -g npx"). Helps surface MCP misconfiguration early without interrupting the session.
@@ -270,10 +270,10 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
270
270
  |-------|-------|
271
271
  | Event | `PostToolUse` |
272
272
  | Matcher | *(all)* |
273
- | Script | `~/.ai-toolkit/hooks/governance-capture.sh` |
273
+ | Script | `~/.softspark/ai-toolkit/hooks/governance-capture.sh` |
274
274
  | Fires | After any tool use |
275
275
 
276
- **Action:** Non-blocking (always exits 0). Logs security-sensitive operations (Bash commands, file writes to sensitive paths, large writes) to `~/.ai-toolkit/governance.log` with ISO timestamp, session ID, tool name, and a content excerpt. Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
276
+ **Action:** Non-blocking (always exits 0). Logs security-sensitive operations (Bash commands, file writes to sensitive paths, large writes) to `~/.softspark/ai-toolkit/governance.log` with ISO timestamp, session ID, tool name, and a content excerpt. Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
277
277
 
278
278
  ### PreCompact — `pre-compact-save.sh`
279
279
 
@@ -281,10 +281,10 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
281
281
  |-------|-------|
282
282
  | Event | `PreCompact` |
283
283
  | Matcher | *(all)* |
284
- | Script | `~/.ai-toolkit/hooks/pre-compact-save.sh` |
284
+ | Script | `~/.softspark/ai-toolkit/hooks/pre-compact-save.sh` |
285
285
  | Fires | Before context compaction |
286
286
 
287
- **Action:** Saves a timestamped context snapshot to `~/.ai-toolkit/compactions/YYYY-MM-DD_HH-MM-SS.txt`. Captures session ID, working directory, git branch and status, and environment metadata. Provides an audit trail of what was in context at each compaction point. Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
287
+ **Action:** Saves a timestamped context snapshot to `~/.softspark/ai-toolkit/compactions/YYYY-MM-DD_HH-MM-SS.txt`. Captures session ID, working directory, git branch and status, and environment metadata. Provides an audit trail of what was in context at each compaction point. Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
288
288
 
289
289
  ### PreToolUse (commit quality) — `commit-quality.sh`
290
290
 
@@ -292,7 +292,7 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
292
292
  |-------|-------|
293
293
  | Event | `PreToolUse` |
294
294
  | Matcher | `Bash` |
295
- | Script | `~/.ai-toolkit/hooks/commit-quality.sh` |
295
+ | Script | `~/.softspark/ai-toolkit/hooks/commit-quality.sh` |
296
296
  | Fires | Before any Bash command |
297
297
 
298
298
  **Action:** Non-blocking (always exits 0). Inspects Bash commands containing `git commit`. Extracts the commit message from the `-m` flag and checks it against Conventional Commits format (`type: description`, where type is one of feat/fix/docs/refactor/test/chore/ci/perf/style/revert). Emits an advisory warning if the message does not match — the commit is not blocked, only nudged. Commands without `git commit` or without a `-m` message (e.g. interactive commits) are ignored.
@@ -303,10 +303,10 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
303
303
  |-------|-------|
304
304
  | Event | `SessionStart` |
305
305
  | Matcher | *(all)* |
306
- | Script | `~/.ai-toolkit/hooks/session-context.sh` |
306
+ | Script | `~/.softspark/ai-toolkit/hooks/session-context.sh` |
307
307
  | Fires | Session start |
308
308
 
309
- **Action:** Captures an environment snapshot to `~/.ai-toolkit/sessions/current-context.json`. Records working directory, git branch, git status summary, Node.js version, Python version, and timestamp. Used by other hooks and tools to access session metadata without re-running discovery commands. Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
309
+ **Action:** Captures an environment snapshot to `~/.softspark/ai-toolkit/sessions/current-context.json`. Records working directory, git branch, git status summary, Node.js version, Python version, and timestamp. Used by other hooks and tools to access session metadata without re-running discovery commands. Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
310
310
 
311
311
  ## Runtime Profiles
312
312
 
@@ -325,7 +325,7 @@ Set in `.claude/settings.local.json`:
325
325
  ## Architecture
326
326
 
327
327
  ```
328
- ~/.ai-toolkit/
328
+ ~/.softspark/ai-toolkit/
329
329
  ├── rules/ # Registered rules (add-rule.sh)
330
330
  └── hooks/ # Hook scripts (copied on install)
331
331
  ├── _profile-check.sh # Shared: profile skip logic (sourced by hooks)
@@ -350,7 +350,7 @@ Set in `.claude/settings.local.json`:
350
350
  └── session-end.sh
351
351
 
352
352
  ~/.claude/settings.json
353
- └── hooks: # Hook definitions referencing ~/.ai-toolkit/hooks/
353
+ └── hooks: # Hook definitions referencing ~/.softspark/ai-toolkit/hooks/
354
354
  ├── SessionStart → session-start.sh, mcp-health.sh, session-context.sh
355
355
  ├── Notification → osascript (inline)
356
356
  ├── PreToolUse → guard-destructive.sh, guard-path.sh, guard-config.sh, commit-quality.sh
@@ -380,7 +380,7 @@ Set in `.claude/settings.local.json`:
380
380
 
381
381
  **Hook script not found:**
382
382
  ```bash
383
- ls ~/.ai-toolkit/hooks/ # should list 21 .sh files (plus _profile-check.sh helper)
383
+ ls ~/.softspark/ai-toolkit/hooks/ # should list 21 .sh files (plus _profile-check.sh helper)
384
384
  ai-toolkit update # re-copies scripts
385
385
  ```
386
386
 
@@ -25,9 +25,9 @@ ai-toolkit add-rule ./jira-rules.md
25
25
  ai-toolkit update # inject now
26
26
  ```
27
27
 
28
- After registration, `ai-toolkit update` will always re-inject the rule. Registry location: `~/.ai-toolkit/rules/`.
28
+ After registration, `ai-toolkit update` will always re-inject the rule. Registry location: `~/.softspark/ai-toolkit/rules/`.
29
29
 
30
- To unregister a rule (removes from `~/.ai-toolkit/rules/` and strips the block from `CLAUDE.md`):
30
+ To unregister a rule (removes from `~/.softspark/ai-toolkit/rules/` and strips the block from `CLAUDE.md`):
31
31
 
32
32
  ```bash
33
33
  ai-toolkit remove-rule jira-rules
@@ -55,7 +55,7 @@ Content outside markers is never touched. Re-running updates only the marked blo
55
55
 
56
56
  1. Create `<name>-rules.md` in your repo with Claude-relevant conventions
57
57
  2. Register it: `ai-toolkit add-rule ./<name>-rules.md`
58
- 3. Verify it appears in: `~/.ai-toolkit/rules/<name>-rules.md`
58
+ 3. Verify it appears in: `~/.softspark/ai-toolkit/rules/<name>-rules.md`
59
59
  4. On next `install` it will be listed in: `Rules injected: ... <name>-rules`
60
60
  5. Add an entry below documenting the integration
61
61
 
@@ -6,7 +6,7 @@ tags: [install, manifest, modules, profiles, auto-detect, state-tracking]
6
6
  version: "1.0.0"
7
7
  created: "2026-04-07"
8
8
  last_updated: "2026-04-07"
9
- description: "Reference for the manifest-driven install system: 17 modules, 4 profiles, auto-detection, and state tracking in ~/.ai-toolkit/state.json."
9
+ description: "Reference for the manifest-driven install system: 17 modules, 4 profiles, auto-detection, and state tracking in ~/.softspark/ai-toolkit/state.json."
10
10
  ---
11
11
 
12
12
  # Manifest-Driven Install System
@@ -107,7 +107,7 @@ Lists all currently installed modules with version and install timestamp:
107
107
 
108
108
  ```bash
109
109
  ai-toolkit status
110
- # Installed modules (from ~/.ai-toolkit/state.json):
110
+ # Installed modules (from ~/.softspark/ai-toolkit/state.json):
111
111
  # core v1.3.0 installed 2026-04-07T10:00:00Z
112
112
  # agents v1.3.0 installed 2026-04-07T10:00:00Z
113
113
  # skills v1.3.0 installed 2026-04-07T10:00:00Z
@@ -121,7 +121,7 @@ Re-applies installed modules, skipping files whose content hash has not changed
121
121
 
122
122
  ## State Tracking
123
123
 
124
- Installed module state is persisted to `~/.ai-toolkit/state.json`:
124
+ Installed module state is persisted to `~/.softspark/ai-toolkit/state.json`:
125
125
 
126
126
  ```json
127
127
  {
@@ -145,7 +145,7 @@ Installed module state is persisted to `~/.ai-toolkit/state.json`:
145
145
  |------|---------|
146
146
  | `manifest.json` | Module and profile definitions |
147
147
  | `scripts/install_steps/detect_language.py` | Auto-detect project language from marker files |
148
- | `scripts/install_steps/install_state.py` | Read/write `~/.ai-toolkit/state.json` |
148
+ | `scripts/install_steps/install_state.py` | Read/write `~/.softspark/ai-toolkit/state.json` |
149
149
 
150
150
  ## Backward Compatibility
151
151
 
@@ -87,11 +87,11 @@ ai-toolkit plugin status # show installed packs with data stats
87
87
  ### What `plugin install` Does
88
88
 
89
89
  1. **Verifies** referenced agents/skills exist in `~/.claude/` (links them from core if missing)
90
- 2. **Copies** plugin-specific hooks to `~/.ai-toolkit/hooks/plugin-<pack>-<hook>.sh`
91
- 3. **Copies** plugin-specific scripts to `~/.ai-toolkit/plugin-scripts/<pack>/`
90
+ 2. **Copies** plugin-specific hooks to `~/.softspark/ai-toolkit/hooks/plugin-<pack>-<hook>.sh`
91
+ 3. **Copies** plugin-specific scripts to `~/.softspark/ai-toolkit/plugin-scripts/<pack>/`
92
92
  4. **Runs** init scripts if present (e.g. `init_db.py` for memory-pack — safe to re-run, preserves data)
93
93
  5. **Merges** plugin hooks into `~/.claude/settings.json` (tagged with `_source: ai-toolkit-plugin-<name>`)
94
- 6. **Records** installed state to `~/.ai-toolkit/plugins.json`
94
+ 6. **Records** installed state to `~/.softspark/ai-toolkit/plugins.json`
95
95
 
96
96
  ### What `plugin update` Does
97
97
 
@@ -108,8 +108,8 @@ ai-toolkit plugin status # show installed packs with data stats
108
108
 
109
109
  ### What `plugin remove` Does
110
110
 
111
- 1. **Removes** plugin hooks from `~/.ai-toolkit/hooks/`
112
- 2. **Removes** plugin scripts from `~/.ai-toolkit/plugin-scripts/`
111
+ 1. **Removes** plugin hooks from `~/.softspark/ai-toolkit/hooks/`
112
+ 2. **Removes** plugin scripts from `~/.softspark/ai-toolkit/plugin-scripts/`
113
113
  3. **Strips** plugin hook entries from `settings.json` (by `_source` tag)
114
114
  4. **Updates** `plugins.json` state
115
115
  5. **Leaves** core agents/skills untouched (they belong to the base install)
@@ -13,7 +13,7 @@ description: "Local usage tracking for skill invocations. CLI command, JSON form
13
13
 
14
14
  ## Overview
15
15
 
16
- `ai-toolkit stats` tracks how often each skill is invoked via slash commands. All data is local — stored in `~/.ai-toolkit/stats.json`. No telemetry, no network calls.
16
+ `ai-toolkit stats` tracks how often each skill is invoked via slash commands. All data is local — stored in `~/.softspark/ai-toolkit/stats.json`. No telemetry, no network calls.
17
17
 
18
18
  ## CLI Commands
19
19
 
@@ -29,7 +29,7 @@ A `UserPromptSubmit` hook (`track-usage.sh`) fires on every prompt. When the pro
29
29
 
30
30
  ### Hook Details
31
31
  - **Event**: `UserPromptSubmit`
32
- - **Script**: `~/.ai-toolkit/hooks/track-usage.sh`
32
+ - **Script**: `~/.softspark/ai-toolkit/hooks/track-usage.sh`
33
33
  - **Detection**: `grep -oE '^/[a-z][a-z0-9-]*'`
34
34
  - **Storage**: Atomic write via python3 `os.replace()`
35
35
  - **Overhead**: ~50ms (python3 startup + JSON read/write)
@@ -64,6 +64,6 @@ debug 8 2026-03-27 16:45:00
64
64
  Total invocations: 65
65
65
  Unique skills: 3
66
66
 
67
- File: ~/.ai-toolkit/stats.json
67
+ File: ~/.softspark/ai-toolkit/stats.json
68
68
  Reset: ai-toolkit stats --reset
69
69
  ```
@@ -28,8 +28,8 @@ ai-toolkit sync --import <file|url> # Import from file or URL
28
28
 
29
29
  | Data | Included | Source |
30
30
  |------|----------|--------|
31
- | Custom rules | Yes | `~/.ai-toolkit/rules/*.md` |
32
- | Usage stats | Yes | `~/.ai-toolkit/stats.json` |
31
+ | Custom rules | Yes | `~/.softspark/ai-toolkit/rules/*.md` |
32
+ | Usage stats | Yes | `~/.softspark/ai-toolkit/stats.json` |
33
33
  | Toolkit version | Yes (metadata) | `package.json` |
34
34
  | Agents/skills | No | Installed via `npm` |
35
35
  | Hooks | No | Installed via `ai-toolkit install` |
@@ -39,7 +39,7 @@ ai-toolkit sync --import <file|url> # Import from file or URL
39
39
  ### First machine (export)
40
40
  ```bash
41
41
  ai-toolkit sync --push
42
- # Creates secret Gist, saves ID to ~/.ai-toolkit/.gist-id
42
+ # Creates secret Gist, saves ID to ~/.softspark/ai-toolkit/.gist-id
43
43
  ```
44
44
 
45
45
  ### Second machine (import)