devtronic 1.2.5 → 1.3.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 (55) hide show
  1. package/README.md +3 -3
  2. package/dist/{chunk-V4QEAL7Y.js → chunk-YBT2XOOQ.js} +38 -38
  3. package/dist/index.js +352 -120
  4. package/dist/{plugin-SGSFVXPA.js → plugin-XSNKI5VI.js} +5 -1
  5. package/package.json +1 -1
  6. package/templates/addons/auto-devtronic/agents/afk-task-validator.md +78 -0
  7. package/templates/addons/auto-devtronic/agents/{quality-runner.md → quality-executor.md} +1 -1
  8. package/templates/addons/auto-devtronic/manifest.json +2 -1
  9. package/templates/addons/auto-devtronic/skills/auto-devtronic/SKILL.md +14 -14
  10. package/templates/addons/design-best-practices/manifest.json +2 -2
  11. package/templates/addons/design-best-practices/skills/{design-review → design-critique}/SKILL.md +2 -1
  12. package/templates/addons/design-best-practices/skills/design-harden/SKILL.md +1 -0
  13. package/templates/addons/design-best-practices/skills/design-init/SKILL.md +1 -0
  14. package/templates/addons/design-best-practices/skills/design-refine/SKILL.md +2 -0
  15. package/templates/addons/design-best-practices/skills/{design-system → design-tokens}/SKILL.md +3 -1
  16. package/templates/claude-code/.claude/rules/quality.md +4 -0
  17. package/templates/claude-code/.claude/skills/audit/SKILL.md +1 -1
  18. package/templates/claude-code/.claude/skills/backlog/SKILL.md +1 -1
  19. package/templates/claude-code/.claude/skills/brief/SKILL.md +1 -1
  20. package/templates/claude-code/.claude/skills/briefing/SKILL.md +1 -1
  21. package/templates/claude-code/.claude/skills/checkpoint/SKILL.md +1 -1
  22. package/templates/claude-code/.claude/skills/create-plan/SKILL.md +1 -1
  23. package/templates/claude-code/.claude/skills/create-skill/SKILL.md +1 -1
  24. package/templates/claude-code/.claude/skills/design/SKILL.md +1 -1
  25. package/templates/claude-code/.claude/skills/design-audit/SKILL.md +1 -1
  26. package/templates/claude-code/.claude/skills/design-define/SKILL.md +1 -1
  27. package/templates/claude-code/.claude/skills/design-ia/SKILL.md +1 -1
  28. package/templates/claude-code/.claude/skills/design-research/SKILL.md +1 -1
  29. package/templates/claude-code/.claude/skills/design-review/SKILL.md +1 -1
  30. package/templates/claude-code/.claude/skills/design-spec/SKILL.md +1 -1
  31. package/templates/claude-code/.claude/skills/design-system/SKILL.md +1 -1
  32. package/templates/claude-code/.claude/skills/design-system-audit/SKILL.md +1 -1
  33. package/templates/claude-code/.claude/skills/design-system-define/SKILL.md +1 -1
  34. package/templates/claude-code/.claude/skills/design-system-sync/SKILL.md +1 -1
  35. package/templates/claude-code/.claude/skills/design-wireframe/SKILL.md +1 -1
  36. package/templates/claude-code/.claude/skills/devtronic-help/SKILL.md +338 -0
  37. package/templates/claude-code/.claude/skills/execute-plan/SKILL.md +1 -1
  38. package/templates/claude-code/.claude/skills/generate-tests/SKILL.md +1 -1
  39. package/templates/claude-code/.claude/skills/handoff/SKILL.md +1 -1
  40. package/templates/claude-code/.claude/skills/investigate/SKILL.md +1 -1
  41. package/templates/claude-code/.claude/skills/learn/SKILL.md +1 -1
  42. package/templates/claude-code/.claude/skills/opensrc/SKILL.md +1 -1
  43. package/templates/claude-code/.claude/skills/post-review/SKILL.md +2 -2
  44. package/templates/claude-code/.claude/skills/quick/SKILL.md +1 -1
  45. package/templates/claude-code/.claude/skills/recap/SKILL.md +1 -1
  46. package/templates/claude-code/.claude/skills/research/SKILL.md +1 -1
  47. package/templates/claude-code/.claude/skills/scaffold/SKILL.md +1 -1
  48. package/templates/claude-code/.claude/skills/setup/SKILL.md +1 -1
  49. package/templates/claude-code/.claude/skills/spec/SKILL.md +1 -1
  50. package/templates/claude-code/.claude/skills/summary/SKILL.md +1 -1
  51. package/templates/claude-code/.claude/skills/worktree/SKILL.md +1 -1
  52. package/templates/marketplace/auto-lint.sh +26 -0
  53. package/templates/marketplace/checkpoint.sh +39 -0
  54. package/templates/marketplace/hooks.json +75 -0
  55. package/templates/marketplace/stop-guard.sh +54 -0
package/README.md CHANGED
@@ -35,8 +35,8 @@ The CLI analyzes your project (framework, architecture, stack) and generates per
35
35
 
36
36
  - **AGENTS.md** — Universal AI context personalized to your stack
37
37
  - **Architecture rules** — IDE-specific format (`.claude/rules/`, `.cursor/rules/`, etc.)
38
- - **Skills** (19 core + 12 design + 9 addon) — Reusable workflows (`/devtronic:brief`, `/devtronic:spec`, `/devtronic:create-plan`, `/devtronic:summary`, `/devtronic:audit`, etc.)
39
- - **Agents** (15) — Specialized subagents (code-reviewer, quality-runner, etc.)
38
+ - **Skills** (20 core + 12 design + 9 addon) — Reusable workflows (`/brief`, `/spec`, `/create-plan`, `/summary`, `/audit`, `/devtronic-help`, etc.)
39
+ - **Agents** (15 + 4 addon) — Specialized subagents (code-reviewer, quality-runner, etc.)
40
40
  - **Hooks** (5) — Automated workflow (lint-on-save, checkpoint, etc.)
41
41
  - **thoughts/** — Structured directory for AI working documents
42
42
 
@@ -55,7 +55,7 @@ npx devtronic addon remove <name> # Uninstall
55
55
  | Addon | Skills | Description |
56
56
  |-------|--------|-------------|
57
57
  | `orchestration` | `briefing`, `recap`, `handoff` | Pre-planning alignment, session recaps, context rotation for multi-session work |
58
- | `design-best-practices` | `design-init`, `design-review`, `design-refine`, `design-system`, `design-harden` | Frontend design quality: typography, color, layout, accessibility, motion, UX writing |
58
+ | `design-best-practices` | `design-init`, `design-critique`, `design-refine`, `design-tokens`, `design-harden` | Frontend design quality: typography, color, layout, accessibility, motion, UX writing |
59
59
  | `auto-devtronic` | `auto-devtronic`, `validate-task-afk` | Autonomous engineering loop — takes a GitHub issue, runs spec → tests → plan → implement → PR, self-corrects via failing tests |
60
60
 
61
61
  During `npx devtronic init` (Claude Code only), a multiselect prompt lets you enable any combination of addons upfront.
@@ -14,7 +14,7 @@ var ADDONS = {
14
14
  name: "design-best-practices",
15
15
  label: "Design Best Practices",
16
16
  description: "Frontend design quality skills: typography, color, layout, accessibility, motion, and UX writing.",
17
- skills: ["design-init", "design-review", "design-refine", "design-system", "design-harden"],
17
+ skills: ["design-init", "design-critique", "design-refine", "design-tokens", "design-harden"],
18
18
  agents: []
19
19
  },
20
20
  "auto-devtronic": {
@@ -22,7 +22,7 @@ var ADDONS = {
22
22
  label: "auto-devtronic \u2014 Autonomous Engineering Loop",
23
23
  description: "Runs the full spec\u2192test\u2192plan\u2192execute\u2192PR pipeline autonomously. Self-corrects via failing tests. HITL and AFK modes.",
24
24
  skills: ["auto-devtronic"],
25
- agents: ["issue-parser", "failure-analyst", "quality-runner"]
25
+ agents: ["issue-parser", "failure-analyst", "quality-executor", "afk-task-validator"]
26
26
  }
27
27
  };
28
28
  var PRESETS = {
@@ -79,7 +79,7 @@ var PRESETS = {
79
79
 
80
80
  // src/utils/files.ts
81
81
  import { createHash } from "crypto";
82
- import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, readdirSync } from "fs";
82
+ import { existsSync, lstatSync, readFileSync, writeFileSync, mkdirSync, unlinkSync, cpSync, readdirSync } from "fs";
83
83
  import { dirname, join, relative } from "path";
84
84
  var MANIFEST_DIR = ".ai-template";
85
85
  var MANIFEST_FILE = "manifest.json";
@@ -91,13 +91,15 @@ function readFile(path) {
91
91
  }
92
92
  function writeFile(path, content) {
93
93
  const dir = dirname(path);
94
- if (!existsSync(dir)) {
95
- mkdirSync(dir, { recursive: true });
96
- }
94
+ ensureDir(dir);
97
95
  writeFileSync(path, content, "utf-8");
98
96
  }
99
97
  function ensureDir(path) {
100
98
  if (!existsSync(path)) {
99
+ try {
100
+ if (lstatSync(path).isSymbolicLink()) unlinkSync(path);
101
+ } catch {
102
+ }
101
103
  mkdirSync(path, { recursive: true });
102
104
  }
103
105
  }
@@ -564,25 +566,26 @@ ${skillsSection}
564
566
  `;
565
567
  }
566
568
  var CORE_SKILLS = [
567
- { name: "devtronic:brief", desc: "Session orientation with pre-flight checks" },
568
- { name: "devtronic:spec", desc: "Product specification interview (PRD)" },
569
- { name: "devtronic:research", desc: "Codebase investigation (--deep, --external)" },
570
- { name: "devtronic:create-plan", desc: "Phased implementation plan with task dependencies" },
571
- { name: "devtronic:execute-plan", desc: "Parallel phase execution of plans" },
572
- { name: "devtronic:quick", desc: "Fast ad-hoc tasks: implement, verify, commit" },
573
- { name: "devtronic:generate-tests", desc: "Failing tests from spec (Tests-as-DoD)" },
574
- { name: "devtronic:post-review", desc: "Pre-PR review (architecture, quality, requirements)" },
575
- { name: "devtronic:audit", desc: "Codebase audit (security, complexity, architecture)" },
576
- { name: "devtronic:summary", desc: "Post-change documentation" },
577
- { name: "devtronic:checkpoint", desc: "Save session progress for resumption" },
578
- { name: "devtronic:backlog", desc: "Issue management with BACK-### IDs" },
579
- { name: "devtronic:investigate", desc: "Deep error and bug analysis" },
580
- { name: "devtronic:learn", desc: "Post-task teaching breakdown" },
581
- { name: "devtronic:scaffold", desc: "Create new projects from scratch" },
582
- { name: "devtronic:setup", desc: "Interactive project configuration" },
583
- { name: "devtronic:worktree", desc: "Git worktree management" },
584
- { name: "devtronic:opensrc", desc: "Fetch npm/GitHub source for full context" },
585
- { name: "devtronic:create-skill", desc: "Generate new custom skills" }
569
+ { name: "brief", desc: "Session orientation with pre-flight checks" },
570
+ { name: "spec", desc: "Product specification interview (PRD)" },
571
+ { name: "research", desc: "Codebase investigation (--deep, --external)" },
572
+ { name: "create-plan", desc: "Phased implementation plan with task dependencies" },
573
+ { name: "execute-plan", desc: "Parallel phase execution of plans" },
574
+ { name: "quick", desc: "Fast ad-hoc tasks: implement, verify, commit" },
575
+ { name: "generate-tests", desc: "Failing tests from spec (Tests-as-DoD)" },
576
+ { name: "post-review", desc: "Pre-PR review (architecture, quality, requirements)" },
577
+ { name: "audit", desc: "Codebase audit (security, complexity, architecture)" },
578
+ { name: "summary", desc: "Post-change documentation" },
579
+ { name: "checkpoint", desc: "Save session progress for resumption" },
580
+ { name: "backlog", desc: "Issue management with BACK-### IDs" },
581
+ { name: "investigate", desc: "Deep error and bug analysis" },
582
+ { name: "learn", desc: "Post-task teaching breakdown" },
583
+ { name: "scaffold", desc: "Create new projects from scratch" },
584
+ { name: "setup", desc: "Interactive project configuration" },
585
+ { name: "worktree", desc: "Git worktree management" },
586
+ { name: "opensrc", desc: "Fetch npm/GitHub source for full context" },
587
+ { name: "create-skill", desc: "Generate new custom skills" },
588
+ { name: "devtronic-help", desc: "Discover skills, agents, addons, and workflows from the IDE" }
586
589
  ];
587
590
  var ADDON_SKILLS = {
588
591
  orchestration: [
@@ -592,9 +595,9 @@ var ADDON_SKILLS = {
592
595
  ],
593
596
  "design-best-practices": [
594
597
  { name: "design-init", desc: "One-time project design context setup" },
595
- { name: "design-review", desc: "Design critique with AI slop detection" },
598
+ { name: "design-critique", desc: "Design critique with AI slop detection" },
596
599
  { name: "design-refine", desc: "Directional design refinement" },
597
- { name: "design-system", desc: "Design system extraction and normalization" },
600
+ { name: "design-tokens", desc: "Design system extraction and normalization" },
598
601
  { name: "design-harden", desc: "Production hardening for edge cases" }
599
602
  ],
600
603
  "auto-devtronic": [
@@ -619,6 +622,8 @@ function generateSkillsSection(enabledAddons) {
619
622
  var PLUGIN_NAME = "devtronic";
620
623
  var MARKETPLACE_NAME = "devtronic-local";
621
624
  var PLUGIN_DIR = ".claude-plugins";
625
+ var GITHUB_MARKETPLACE_REPO = "r-bart/devtronic-plugin";
626
+ var GITHUB_MARKETPLACE_NAME = "devtronic";
622
627
  var BASE_SKILL_COUNT = CORE_SKILLS.length;
623
628
  var DESIGN_SKILL_COUNT = 12;
624
629
  var BASE_AGENT_COUNT = 15;
@@ -628,18 +633,11 @@ function generatePluginJson(cliVersion, addonSkillCount = 0) {
628
633
  return JSON.stringify(
629
634
  {
630
635
  name: PLUGIN_NAME,
636
+ description: `Agentic development toolkit \u2014 ${skillLabel}, ${BASE_AGENT_COUNT} agents, workflow hooks`,
631
637
  version: cliVersion,
632
- description: `devtronic \u2014 ${skillLabel}, ${BASE_AGENT_COUNT} agents, full workflow hooks`,
633
638
  author: {
634
- name: "r-bart",
635
- url: "https://github.com/r-bart/devtronic"
636
- },
637
- repository: "https://github.com/r-bart/devtronic",
638
- license: "MIT",
639
- keywords: ["agentic", "architecture", "clean-architecture", "ddd", "workflow", "skills"],
640
- skills: "./skills/",
641
- agents: "./agents/",
642
- hooks: "./hooks/hooks.json"
639
+ name: "r-bart"
640
+ }
643
641
  },
644
642
  null,
645
643
  2
@@ -658,7 +656,7 @@ function generateMarketplaceJson(addonSkillCount = 0) {
658
656
  plugins: [
659
657
  {
660
658
  name: PLUGIN_NAME,
661
- source: `./${PLUGIN_NAME}`,
659
+ source: `./plugins/${PLUGIN_NAME}`,
662
660
  description: `devtronic \u2014 ${skillLabel}, ${BASE_AGENT_COUNT} agents, full workflow hooks`
663
661
  }
664
662
  ]
@@ -749,6 +747,8 @@ export {
749
747
  PLUGIN_NAME,
750
748
  MARKETPLACE_NAME,
751
749
  PLUGIN_DIR,
750
+ GITHUB_MARKETPLACE_REPO,
751
+ GITHUB_MARKETPLACE_NAME,
752
752
  BASE_SKILL_COUNT,
753
753
  DESIGN_SKILL_COUNT,
754
754
  BASE_AGENT_COUNT,