@softspark/ai-toolkit 1.3.15 → 1.4.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.
- package/CHANGELOG.md +29 -0
- package/README.md +25 -16
- package/bin/ai-toolkit.js +33 -5
- package/kb/procedures/release-verification-sop.md +283 -0
- package/kb/reference/architecture-overview.md +19 -7
- package/kb/reference/competitive-features-implementation.md +51 -52
- package/kb/reference/language-rules.md +18 -4
- package/kb/reference/skills-catalog.md +1 -1
- package/llms-full.txt +378 -64
- package/llms.txt +1 -0
- package/manifest.json +1 -1
- package/package.json +4 -2
- package/scripts/dir_rules_shared.py +441 -0
- package/scripts/generate_antigravity.py +36 -0
- package/scripts/generate_augment_rules.py +107 -0
- package/scripts/generate_cline_rules.py +31 -0
- package/scripts/generate_conventions.py +37 -0
- package/scripts/generate_cursor_mdc.py +127 -0
- package/scripts/generate_roo_rules.py +30 -0
- package/scripts/generate_windsurf_rules.py +31 -0
- package/scripts/install.py +26 -1
- package/scripts/install_steps/ai_tools.py +149 -31
- package/scripts/install_steps/detect_language.py +68 -5
|
@@ -13,15 +13,15 @@ tags:
|
|
|
13
13
|
doc_type: plan
|
|
14
14
|
status: completed
|
|
15
15
|
created: "2026-04-07"
|
|
16
|
-
last_updated: "2026-04-
|
|
16
|
+
last_updated: "2026-04-09"
|
|
17
17
|
completion: "100%"
|
|
18
18
|
description: "Implementation plan for features identified from competitive analysis of everything-claude-code and claude-mem. Focus on learning system, language rules, advanced hooks, MCP templates, and rag-mcp integration. COMPLETED: 8/9 features shipped (1 skipped). See kb/reference/ for permanent documentation."
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
# Plan: Competitive Features — ai-toolkit
|
|
22
22
|
|
|
23
|
-
**Status:** :
|
|
24
|
-
**Completion:** 100% (
|
|
23
|
+
**Status:** :white_check_mark: COMPLETED
|
|
24
|
+
**Completion:** 100% (8/9 features, 1 skipped)
|
|
25
25
|
**Started:** 2026-04-07
|
|
26
26
|
**Estimated Completion:** 2026-06-15
|
|
27
27
|
**Source:** Competitive analysis of `affaan-m/everything-claude-code` (ECC) + `thedotmack/claude-mem`
|
|
@@ -30,7 +30,7 @@ description: "Implementation plan for features identified from competitive analy
|
|
|
30
30
|
|
|
31
31
|
## 1. Objective
|
|
32
32
|
|
|
33
|
-
Strengthen ai-toolkit's competitive position by implementing 10 features from competitive analysis while maintaining our advantages (clean architecture,
|
|
33
|
+
Strengthen ai-toolkit's competitive position by implementing 10 features from competitive analysis while maintaining our advantages (clean architecture, 11 editors, personas, safety constitution).
|
|
34
34
|
|
|
35
35
|
**Key design principle:** ai-toolkit is a **generic toolkit** — it does NOT know about rag-mcp or any specific consumer. Consumers (like rag-mcp) use ai-toolkit's public API (`inject-rule`, `inject-hook`, `merge-hooks`) to add their own rules and hooks.
|
|
36
36
|
|
|
@@ -139,11 +139,11 @@ app/rules/
|
|
|
139
139
|
| `tests/test_rules.py` | CREATE | Tests |
|
|
140
140
|
|
|
141
141
|
**Success Criteria:**
|
|
142
|
-
- [
|
|
143
|
-
- [
|
|
144
|
-
- [
|
|
145
|
-
- [ ] validate.py checks rules format
|
|
146
|
-
- [ ] Tests: >=13 (
|
|
142
|
+
- [x] 13 languages × 5 rule files created (70 files: 13 dirs × 5 + 5 common)
|
|
143
|
+
- [x] `ai-toolkit install --local` auto-detects language and injects rules (two-phase: marker files + extension scan)
|
|
144
|
+
- [x] Manual override: `ai-toolkit install --local --lang typescript` (with aliases: go→golang, c++→cpp, cs→csharp)
|
|
145
|
+
- [ ] validate.py checks rules format (not yet implemented)
|
|
146
|
+
- [ ] Tests: >=13 (no test_rules file yet)
|
|
147
147
|
|
|
148
148
|
---
|
|
149
149
|
|
|
@@ -178,11 +178,11 @@ app/rules/
|
|
|
178
178
|
| `tests/test_hooks.py` | EDIT | Tests for new hooks |
|
|
179
179
|
|
|
180
180
|
**Success Criteria:**
|
|
181
|
-
- [
|
|
182
|
-
- [
|
|
183
|
-
- [
|
|
184
|
-
- [
|
|
185
|
-
- [
|
|
181
|
+
- [x] 5/6 new hooks created and registerable (observe-session.sh not in app/hooks — lives in rag-mcp as consumer)
|
|
182
|
+
- [x] guard-config blocks config edits unless `--force`
|
|
183
|
+
- [x] mcp-health pings configured MCP servers on session start
|
|
184
|
+
- [x] All hooks optional (enable/disable in settings.json)
|
|
185
|
+
- [x] Tests: 89 hook tests in test_hooks.bats
|
|
186
186
|
|
|
187
187
|
---
|
|
188
188
|
|
|
@@ -239,10 +239,10 @@ ai-toolkit mcp show github # Show config details
|
|
|
239
239
|
| `tests/test_mcp_templates.py` | CREATE | Validate JSON schemas |
|
|
240
240
|
|
|
241
241
|
**Success Criteria:**
|
|
242
|
-
- [
|
|
243
|
-
- [
|
|
244
|
-
- [
|
|
245
|
-
- [
|
|
242
|
+
- [x] 25 MCP template configs created
|
|
243
|
+
- [x] `ai-toolkit mcp add <name>` merges into .mcp.json
|
|
244
|
+
- [x] `ai-toolkit mcp list` shows all available
|
|
245
|
+
- [x] Tests: 15 in test_mcp_manager.bats
|
|
246
246
|
|
|
247
247
|
---
|
|
248
248
|
|
|
@@ -350,11 +350,11 @@ All entries are tagged with "_source": "<source-name>" for idempotent updates.
|
|
|
350
350
|
| `add-rule <file.md>` | `~/.ai-toolkit/rules/` | File copy + re-inject all | Yes |
|
|
351
351
|
|
|
352
352
|
**Success Criteria:**
|
|
353
|
-
- [
|
|
354
|
-
- [
|
|
355
|
-
- [
|
|
356
|
-
- [
|
|
357
|
-
- [
|
|
353
|
+
- [x] `inject-hook ./my-hooks.json` merges hooks with auto-derived `_source` tag
|
|
354
|
+
- [x] `remove-hook my-hooks` strips all entries with that `_source`
|
|
355
|
+
- [x] Re-running is idempotent (update, not duplicate)
|
|
356
|
+
- [x] Existing ai-toolkit hooks (`_source: "ai-toolkit"`) are never touched
|
|
357
|
+
- [x] Tests: 17 in test_inject_hook.bats
|
|
358
358
|
|
|
359
359
|
---
|
|
360
360
|
|
|
@@ -449,13 +449,13 @@ ai-toolkit status # Show installed modules
|
|
|
449
449
|
```
|
|
450
450
|
|
|
451
451
|
**Success Criteria:**
|
|
452
|
-
- [
|
|
453
|
-
- [
|
|
454
|
-
- [
|
|
455
|
-
- [
|
|
456
|
-
- [
|
|
457
|
-
- [
|
|
458
|
-
- [
|
|
452
|
+
- [x] manifest.json defines all modules with dependencies
|
|
453
|
+
- [x] install --modules allows granular selection
|
|
454
|
+
- [x] install --auto-detect detects language from project files (two-phase: markers + extensions)
|
|
455
|
+
- [x] state.json tracks what's installed
|
|
456
|
+
- [x] update only changes modified files (content hash)
|
|
457
|
+
- [x] Backward compatible with existing install
|
|
458
|
+
- [x] Tests: 35 across test_install.bats, test_install_flags.bats, test_install_state.bats
|
|
459
459
|
|
|
460
460
|
---
|
|
461
461
|
|
|
@@ -494,10 +494,10 @@ context: fork
|
|
|
494
494
|
- **Recommendation** with confidence level
|
|
495
495
|
|
|
496
496
|
**Success Criteria:**
|
|
497
|
-
- [
|
|
498
|
-
- [
|
|
499
|
-
- [
|
|
500
|
-
- [ ] Tests:
|
|
497
|
+
- [x] `/council` invocable
|
|
498
|
+
- [x] 4 perspectives generated
|
|
499
|
+
- [x] Structured output with recommendation
|
|
500
|
+
- [ ] Tests: dedicated council tests not yet written
|
|
501
501
|
|
|
502
502
|
---
|
|
503
503
|
|
|
@@ -514,9 +514,9 @@ context: fork
|
|
|
514
514
|
- Consistency checks (before outputting content, verify voice match)
|
|
515
515
|
|
|
516
516
|
**Success Criteria:**
|
|
517
|
-
- [
|
|
518
|
-
- [
|
|
519
|
-
- [ ] Tests:
|
|
517
|
+
- [x] Skill auto-loads when writing docs/content
|
|
518
|
+
- [x] Anti-trope list prevents generic LLM rhetoric
|
|
519
|
+
- [ ] Tests: dedicated brand-voice tests not yet written
|
|
520
520
|
|
|
521
521
|
---
|
|
522
522
|
|
|
@@ -535,10 +535,10 @@ context: fork
|
|
|
535
535
|
5. Optionally hand off to verification
|
|
536
536
|
|
|
537
537
|
**Success Criteria:**
|
|
538
|
-
- [
|
|
539
|
-
- [
|
|
540
|
-
- [
|
|
541
|
-
- [ ] Tests:
|
|
538
|
+
- [x] `/introspect` invocable when agent is stuck
|
|
539
|
+
- [x] Classifies failure pattern
|
|
540
|
+
- [x] Suggests recovery action
|
|
541
|
+
- [ ] Tests: dedicated introspect tests not yet written
|
|
542
542
|
|
|
543
543
|
---
|
|
544
544
|
|
|
@@ -579,10 +579,7 @@ docs/
|
|
|
579
579
|
```
|
|
580
580
|
|
|
581
581
|
**Success Criteria:**
|
|
582
|
-
-
|
|
583
|
-
- [ ] Covers: installation, skills, agents, hooks, CLI reference
|
|
584
|
-
- [ ] Auto-generated from existing CLAUDE.md/README.md content
|
|
585
|
-
- [ ] Tests: Build passes
|
|
582
|
+
- :no_entry: SKIPPED — README/CLAUDE.md sufficient, no documentation site needed
|
|
586
583
|
|
|
587
584
|
---
|
|
588
585
|
|
|
@@ -628,7 +625,7 @@ npx @softspark/ai-toolkit inject-hook ./rag-mcp-hooks.json # NEW
|
|
|
628
625
|
| Metric | Before | Target |
|
|
629
626
|
|--------|--------|--------|
|
|
630
627
|
| Skills | 88 | ~91 (+3 new skills) |
|
|
631
|
-
| Hooks | 14 |
|
|
628
|
+
| Hooks | 14 | 21 (+7, observe-session in rag-mcp) |
|
|
632
629
|
| Language rules | ~8 (pattern skills) | 70 (13 langs × 5 + 5 common) |
|
|
633
630
|
| MCP templates | 0 | 25 |
|
|
634
631
|
| Install granularity | 3 profiles | 3 profiles + module-level |
|
|
@@ -659,12 +656,14 @@ npx @softspark/ai-toolkit inject-hook ./rag-mcp-hooks.json # NEW
|
|
|
659
656
|
|
|
660
657
|
---
|
|
661
658
|
|
|
662
|
-
## 9.
|
|
659
|
+
## 9. Remaining Gaps
|
|
663
660
|
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
661
|
+
All major features shipped. Outstanding items:
|
|
662
|
+
|
|
663
|
+
1. [ ] `validate.py` does not check rules format (1.1)
|
|
664
|
+
2. [ ] No dedicated `test_rules` test file (1.1)
|
|
665
|
+
3. [ ] No dedicated tests for council, brand-voice, introspect skills (3.1-3.3)
|
|
666
|
+
4. [x] `observe-session.sh` lives in rag-mcp (consumer), not ai-toolkit — by design
|
|
668
667
|
|
|
669
668
|
---
|
|
670
669
|
|
|
@@ -674,4 +673,4 @@ None — all features are independent of external systems.
|
|
|
674
673
|
|
|
675
674
|
---
|
|
676
675
|
|
|
677
|
-
**Last Updated:** 2026-04-
|
|
676
|
+
**Last Updated:** 2026-04-09
|
|
@@ -85,13 +85,16 @@ The `common/` directory uses the same structure except `frameworks.md` is replac
|
|
|
85
85
|
|
|
86
86
|
## Auto-Detection
|
|
87
87
|
|
|
88
|
-
`--local` automatically enables language auto-detection. `scripts/install_steps/detect_language.py`
|
|
88
|
+
`--local` automatically enables language auto-detection. `scripts/install_steps/detect_language.py` uses two-phase detection and merges results from both:
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
91
|
ai-toolkit install --local # auto-detects language (--auto-detect is implied)
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
### Phase 1: Marker files (config-level signals)
|
|
95
|
+
|
|
96
|
+
Scans for configuration files defined in each module's `auto_detect` list in `manifest.json`:
|
|
97
|
+
|
|
95
98
|
1. `package.json` or `tsconfig.json` → TypeScript
|
|
96
99
|
2. `go.mod` → Go
|
|
97
100
|
3. `Cargo.toml` → Rust
|
|
@@ -105,7 +108,13 @@ Detection logic (first match wins when multiple markers are present):
|
|
|
105
108
|
11. `*.csproj` or `*.sln` → C#
|
|
106
109
|
12. `CMakeLists.txt` or `Makefile` → C++
|
|
107
110
|
|
|
108
|
-
|
|
111
|
+
### Phase 2: Source file extensions (actual code presence)
|
|
112
|
+
|
|
113
|
+
Scans top-level files and one directory level deep for source file extensions (`.py`, `.ts`, `.go`, `.rs`, `.java`, `.kt`, `.swift`, `.dart`, `.cs`, `.php`, `.cpp`, `.rb`, etc.). Skips dependency/build directories (`node_modules`, `venv`, `dist`, `build`, etc.) for speed.
|
|
114
|
+
|
|
115
|
+
This catches cases where marker files are misleading — e.g., a Python project with a `package.json` only for its npm CLI wrapper will correctly detect both Python (via `.py` files) and TypeScript (via `package.json`).
|
|
116
|
+
|
|
117
|
+
Both phases contribute; results are merged and deduplicated. Common rules are always injected regardless of detected language.
|
|
109
118
|
|
|
110
119
|
## Installation
|
|
111
120
|
|
|
@@ -113,13 +122,18 @@ Common rules are always injected regardless of detected language.
|
|
|
113
122
|
# Auto-detect language from project files (default with --local)
|
|
114
123
|
ai-toolkit install --local
|
|
115
124
|
|
|
116
|
-
# Explicitly select a language
|
|
125
|
+
# Explicitly select a language (implies --local, disables auto-detect)
|
|
117
126
|
ai-toolkit install --local --lang typescript
|
|
118
127
|
|
|
128
|
+
# Multiple languages
|
|
129
|
+
ai-toolkit install --local --lang go,python
|
|
130
|
+
|
|
119
131
|
# Skip auto-detect, install specific modules only
|
|
120
132
|
ai-toolkit install --local --modules core,agents
|
|
121
133
|
```
|
|
122
134
|
|
|
135
|
+
The `--lang` flag accepts comma-separated language names and converts them to `rules-<lang>` modules. Common aliases are supported: `go` → `golang`, `c++` → `cpp`, `c#`/`cs` → `csharp`. Using `--lang` implies `--local` and disables auto-detection.
|
|
136
|
+
|
|
123
137
|
Language rules are injected into the project `CLAUDE.md` between named markers:
|
|
124
138
|
|
|
125
139
|
```
|
|
@@ -3,7 +3,7 @@ title: "AI Toolkit - Skills Catalog"
|
|
|
3
3
|
category: reference
|
|
4
4
|
service: ai-toolkit
|
|
5
5
|
tags: [skills, domain-knowledge, catalog, task-skills, hybrid-skills]
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.4.0"
|
|
7
7
|
created: "2026-03-23"
|
|
8
8
|
last_updated: "2026-04-08"
|
|
9
9
|
description: "Complete skills catalog with task, hybrid, and knowledge skills. Includes effort levels, skill-scoped hooks, executable scripts, security auditor, and persona presets."
|