@softspark/ai-toolkit 1.3.7 → 1.3.8

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 CHANGED
@@ -7,6 +7,14 @@ Versioning follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## v1.3.8 — Language Rules as References (2026-04-07)
11
+
12
+ ### Changed
13
+ - **Language rules injection**: Instead of inlining full rule content (~705 lines), `install --local` now injects lightweight reference pointers (~12 lines) with absolute paths to rule files. Claude reads them on demand via Read tool, keeping CLAUDE.md compact.
14
+ - **plugin.json**: Version synced from stale 1.2.1 to 1.3.8.
15
+
16
+ ---
17
+
10
18
  ## v1.3.7 — Update Notifications (2026-04-07)
11
19
 
12
20
  ### Added
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ai-toolkit",
3
3
  "description": "Professional-grade Claude Code toolkit: 90 skills, 44 agents, persona presets, skill security auditor, expanded lifecycle hooks, experimental opt-in plugin packs, benchmark harvesting, and multi-tool support.",
4
- "version": "1.2.1",
4
+ "version": "1.3.8",
5
5
  "author": {
6
6
  "name": "SoftSpark",
7
7
  "url": "https://github.com/softspark"
@@ -3,7 +3,7 @@ title: "Extension API Reference"
3
3
  category: reference
4
4
  service: ai-toolkit
5
5
  tags: [extension-api, inject-rule, inject-hook, mcp-templates, integration]
6
- version: "1.3.0"
6
+ version: "1.3.8"
7
7
  created: "2026-04-07"
8
8
  last_updated: "2026-04-07"
9
9
  description: "Reference for ai-toolkit's extension API: inject-rule, inject-hook, remove-rule, remove-hook, and mcp template management."
@@ -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.3.3"
6
+ version: "1.3.8"
7
7
  created: "2026-03-23"
8
8
  last_updated: "2026-04-07"
9
9
  description: "Complete catalog of 90 skills: 28 task, 30 hybrid, 32 knowledge. Includes effort levels, skill-scoped hooks, executable scripts, security auditor, and persona presets."
package/llms-full.txt CHANGED
@@ -2276,7 +2276,7 @@ title: "Extension API Reference"
2276
2276
  category: reference
2277
2277
  service: ai-toolkit
2278
2278
  tags: [extension-api, inject-rule, inject-hook, mcp-templates, integration]
2279
- version: "1.3.0"
2279
+ version: "1.3.8"
2280
2280
  created: "2026-04-07"
2281
2281
  last_updated: "2026-04-07"
2282
2282
  description: "Reference for ai-toolkit's extension API: inject-rule, inject-hook, remove-rule, remove-hook, and mcp template management."
@@ -4067,7 +4067,7 @@ title: "AI Toolkit - Skills Catalog"
4067
4067
  category: reference
4068
4068
  service: ai-toolkit
4069
4069
  tags: [skills, domain-knowledge, catalog, task-skills, hybrid-skills]
4070
- version: "1.3.3"
4070
+ version: "1.3.8"
4071
4071
  created: "2026-03-23"
4072
4072
  last_updated: "2026-04-07"
4073
4073
  description: "Complete catalog of 90 skills: 28 task, 30 hybrid, 32 knowledge. Includes effort levels, skill-scoped hooks, executable scripts, security auditor, and persona presets."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softspark/ai-toolkit",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "Professional-grade AI coding toolkit: 90 skills, 44 agents, multi-platform support (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment), machine-enforced safety constitution, persona presets, skill security auditor, expanded lifecycle hooks, 11 plugin packs, and benchmark tooling.",
5
5
  "keywords": [
6
6
  "claude",
@@ -188,39 +188,27 @@ def _inject_language_rules(cwd: Path, language_modules: list[str] | None) -> Non
188
188
  if not langs:
189
189
  return
190
190
 
191
- # Build compact summary: first 5 key rules from each category
192
- lines: list[str] = ["# Language Rules (auto-detected)", ""]
193
- lines.append(f"Detected: **{', '.join(langs)}** + common rules.")
191
+ # Build a lightweight reference pointer NOT the full rules content.
192
+ # Full rules are available as knowledge skills (auto-loaded by Claude)
193
+ # and as files Claude can Read on demand.
194
+ toolkit_pkg = app_dir.parent
195
+ lines: list[str] = ["# Language Rules", ""]
196
+ lines.append(f"This project uses: **{', '.join(langs)}**")
194
197
  lines.append("")
195
- lines.append("Detailed rules available as knowledge skills (auto-loaded by Claude).")
196
- lines.append("")
197
-
198
- # Deduplicate: common + unique language dirs
198
+ lines.append("When writing or reviewing code, use the Glob and Read tools to read the rules:")
199
+ # Resolve actual installed path for the rules
200
+ rules_resolved = str(rules_src.resolve())
199
201
  all_dirs: list[str] = ["common"]
200
202
  for l in langs:
201
203
  if l not in all_dirs:
202
204
  all_dirs.append(l)
203
-
204
- for lang_dir in all_dirs:
205
- lang_path = rules_src / lang_dir
206
- if not lang_path.is_dir():
207
- continue
208
- lang_label = lang_dir.capitalize() if lang_dir != "common" else "Common"
209
- lines.append(f"## {lang_label} Rules")
210
- lines.append("")
211
- for rule_file in sorted(lang_path.glob("*.md")):
212
- content = rule_file.read_text(encoding="utf-8").strip()
213
- # Strip YAML frontmatter
214
- if content.startswith("---"):
215
- end = content.find("---", 3)
216
- if end != -1:
217
- content = content[end + 3:].strip()
218
- # Extract first 3 bullet points as key rules
219
- bullets = [l.strip() for l in content.splitlines() if l.strip().startswith("- ")][:3]
220
- if bullets:
221
- category = rule_file.stem.replace("-", " ").title()
222
- lines.append(f"**{category}:** {' | '.join(b.lstrip('- ') for b in bullets)}")
223
- lines.append("")
205
+ for lang in all_dirs:
206
+ lang_path = rules_src / lang
207
+ if lang_path.is_dir():
208
+ categories = ", ".join(f.stem for f in sorted(lang_path.glob("*.md")))
209
+ lines.append(f"- `{lang_path.resolve()}/` ({categories})")
210
+ lines.append("")
211
+ lines.append("Read the relevant rule files before making code changes. Do NOT guess — read first.")
224
212
 
225
213
  # Write summary to temp file, then inject as section
226
214
  import tempfile