When you select Claude Code during init, the CLI registers the devtronic plugin from a GitHub-hosted marketplace. Skills, agents, and hooks are fetched remotely — no plugin files are stored in your project.
—-
Claude Code plugins provide:
- Namespacing — Skills are auto-namespaced as
/devtronic:skill-name. Both/skill-nameand/devtronic:skill-namework - Workflow hooks — Automated actions on session start, file edits, stop, subagent completion, and context compaction
- Remote distribution — Plugin content lives in a GitHub repo, automatically cached and version-updated by Claude Code
Other IDEs (Cursor, Antigravity, Copilot) continue using their standard file-based approach.
—-
npx devtronic init .
|
v
settings.json (.claude/)
+----------------------------------------------+
| extraKnownMarketplaces: { |
| "devtronic": { |
| source: { source: "github", |
| repo: "r-bart/devtronic- |
| plugin" } |
| } |
| } |
| enabledPlugins: { |
| "devtronic@devtronic": true |
| } |
+----------------------------------------------+
|
v
Claude Code at startup:
1. Reads settings.json
2. Clones r-bart/devtronic-plugin (cached)
3. Reads marketplace.json -> finds plugin "devtronic"
4. Reads plugin.json -> checks version
5. Loads skills/, agents/, hooks/
6. Skills available as /devtronic:brief, /devtronic:spec, etc.
After npx devtronic init with Claude Code selected:
your-project/
├── CLAUDE.md # Project rules
├── AGENTS.md # Universal AI context
│
├── .claude/
│ ├── rules/ # Architecture rules
│ │ └── architecture.md
│ └── settings.json # Marketplace registration
│
├── .ai-template/
│ └── manifest.json # Installation manifest (installMode: "marketplace")
│
└── thoughts/ # AI working documents
No plugin files in your project — skills, agents, and hooks live in the marketplace repo.
The marketplace repo (r-bart/devtronic-plugin) contains:
├── .claude-plugin/
│ └── marketplace.json # Marketplace descriptor
├── plugins/devtronic/
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin metadata + version
│ ├── skills/ # 35 skills (21 core + 12 design + 2 orchestration)
│ │ ├── brief/SKILL.md
│ │ ├── spec/SKILL.md
│ │ ├── scaffold/
│ │ │ ├── SKILL.md
│ │ │ └── (supporting files)
│ │ └── ...
│ ├── agents/ # 15 agents
│ ├── hooks/
│ │ └── hooks.json # 5 hook events
│ └── scripts/
│ ├── auto-lint.sh
│ ├── version-check.sh
│ └── checkpoint.sh
├── LICENSE
└── README.md
These remain in your project (not in the plugin):
| File | Reason |
|---|---|
CLAUDE.md |
Claude Code loads it from project root by convention |
AGENTS.md |
Universal context for all IDEs |
.claude/rules/ |
Claude Code plugins don't support rules |
.claude/settings.json |
User configuration, not plugin content |
—-
The plugin includes 5 hooks that automate parts of your development workflow:
Event: startup
Type: prompt (Haiku 4.5)
Quick project orientation — checks git status, recent commits, and in-progress work.
Two silent command steps run alongside it. The first sweeps a stale convergence-loop
ownership sentinel (from a crashed loop) so /converge --resume never reads a dead phase as
in flight. The second runs version-check.sh, which compares the version in
.ai-template/manifest.json against the installed CLI and prints one line when they differ:
devtronic: this project was last written by 1.3.0, the CLI is 1.5.1.
Run `devtronic update` to bring the project files in step.
It names npm i -g devtronic@latest instead when the project is the newer of the two. It is
silent when they agree, makes no network call, and always exits 0 — a session never fails to
start because of it. It reports only: devtronic update retires files and asks about the ones
you made yours, so it needs a human.
Cost: ~$0.002/session
Event: Write | Edit
Type: command
Auto-runs lint-fix after a source file changes. The filter lives in auto-lint.sh, which
reads the real tool_input.file_path and exits early on anything that is not lintable source,
so editing a README does not spawn a lint pass. Auto-detects your package manager. Errors
suppressed so they never block Claude.
Event: (subagent completes)
Type: prompt (Haiku 4.5)
Lightweight validation of subagent completion.
Cost: ~$0.002/invocation
Event: auto (context compaction)
Type: command
Auto-saves checkpoint to thoughts/checkpoints/ before context compaction.
Uses ${CLAUDE_PLUGIN_ROOT}/scripts/ which resolves to the plugin's script directory at runtime.
—-
The CLI registers the plugin in .claude/settings.json:
{
"extraKnownMarketplaces": {
"devtronic": {
"source": {
"source": "github",
"repo": "r-bart/devtronic-plugin"
}
}
},
"enabledPlugins": {
"devtronic@devtronic": true
}
}extraKnownMarketplacestells Claude Code where to find the marketplace repoenabledPluginsenables the plugin
# Via Claude Code
claude —disable-plugin devtronic@devtronic
# Or manually in .claude/settings.json
"devtronic@devtronic": falseHooks and skills will stop loading. Re-enable by setting back to true.
—-
npx devtronic initSelect Claude Code when prompted. The CLI:
- Analyzes your project (framework, PM, architecture)
- Registers the GitHub marketplace in settings.json
- Generates standalone rules and CLAUDE.md
- Creates AGENTS.md with your stack
In Claude Code:
/plugin marketplace add r-bart/devtronic-plugin
/plugin install devtronic@devtronic
Gets you skills, agents, and hooks immediately. For full setup (rules, AGENTS.md, stack detection), use the CLI.
Add to .claude/settings.json:
{
"extraKnownMarketplaces": {
"devtronic": {
"source": { "source": "github", "repo": "r-bart/devtronic-plugin" }
}
},
"enabledPlugins": {
"devtronic@devtronic": true
}
}—-
Users who installed a previous version (standalone skills in .claude/skills/) can migrate:
npx devtronic updateThe CLI detects standalone installations and offers migration:
┌ Migration Available ──────────────────────────────────────┐
│ Claude Code skills/agents detected as standalone. │
│ The new version uses the GitHub marketplace plugin. │
└───────────────────────────────────────────────────────────┘
◆ Migrate to marketplace mode? (standalone → marketplace)
Yes / No
- Registers the GitHub marketplace in settings.json
- Removes unmodified standalone files from
.claude/skills/and.claude/agents/ - Preserves any files the user has customized (compares checksums)
- Cleans empty directories left behind
- Updates the manifest with
installMode: "marketplace"
Users with the older local plugin (.claude-plugins/ directory) are also migrated automatically:
- Registers the GitHub marketplace (replaces local marketplace)
- Removes the
.claude-plugins/devtronic/directory - Cleans legacy settings (
devtronic-localmarketplace entries)
- Migration is opt-in — the user must confirm
update —checkonly reports, never modifiesupdate —dry-runshows what would happen without changes- User-modified skills/agents are preserved and flagged
—-
Plugin content (skills, agents, hooks) updates automatically:
- On each CLI release, CI syncs the latest content to
r-bart/devtronic-plugin - The
plugin.jsonversion is bumped to match the CLI version - Claude Code compares the cached version with the remote version
- If newer, it fetches the updated content automatically
You don't need to run npx devtronic update for plugin content. The update command is for standalone files (rules, CLAUDE.md, AGENTS.md).
—-
Add project-specific skills to .claude/skills/ (not namespaced):
.claude/skills/my-workflow/SKILL.md → /my-workflow
These are separate from devtronic plugin skills and won't be affected by updates.
Hooks are defined in the marketplace repo and can't be edited locally. To disable specific hooks, you can override them at the project level in .claude/settings.json or disable the entire plugin. See Claude Code hooks documentation for override options.
—-
devtronic ships three optional addon packs:
| Addon | Type | Skills | Agents |
|---|---|---|---|
orchestration |
Marketplace | briefing, handoff |
— |
design-best-practices |
File-mode | design-init, design-critique, design-refine, design-tokens, design-harden |
— |
auto-devtronic |
File-mode | auto-devtronic |
issue-parser, failure-analyst, quality-executor, afk-task-validator |
The orchestration addon installs into the marketplace plugin. Skills are auto-namespaced as /devtronic:briefing, etc.
File-mode addons install directly into .claude/skills/, .claude/agents/, .claude/rules/. They work in both standalone and marketplace mode.
npx devtronic addon list
npx devtronic addon enable orchestration
npx devtronic addon disable design-best-practices
npx devtronic addon sync—-
If /devtronic:brief doesn't work:
- Check
.claude/settings.jsonhas the marketplace and plugin entries - Restart Claude Code (plugins load at session start)
- Run
claude —list-pluginsto check if the plugin is detected - Try
/plugin marketplace add r-bart/devtronic-pluginto re-add
Known issue: disabled plugin hooks may still fire. If you disable the plugin but hooks continue, check Claude Code's plugin management.
—-
The installation manifest at .ai-template/manifest.json includes:
{
"version": "1.5.0",
"installMode": "marketplace",
"files": {
"CLAUDE.md": {
"checksum": "a1b2c3...",
"originalChecksum": "a1b2c3...",
"modified": false
}
}
}installMode:"marketplace"for GitHub marketplace installationsfiles: tracks standalone files (rules, CLAUDE.md, AGENTS.md) with checksums
${CLAUDE_PLUGIN_ROOT}— Resolves to the plugin's cached directory at runtime. Used in hook scripts.${CLAUDE_SKILL_DIR}— Resolves to the skill's own directory. Used for auxiliary files within a skill.