@orderful/droid 0.25.2 → 0.26.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/.claude-plugin/marketplace.json +114 -0
- package/.github/workflows/ci.yml +20 -0
- package/AGENTS.md +53 -0
- package/CHANGELOG.md +44 -0
- package/README.md +30 -4
- package/dist/bin/droid.js +62 -51
- package/dist/index.js +9 -1
- package/dist/lib/skill-config.d.ts.map +1 -1
- package/dist/tools/README.md +1 -1
- package/dist/tools/brain/.claude-plugin/plugin.json +16 -0
- package/dist/tools/brain/commands/brain.md +1 -1
- package/dist/tools/brain/commands/scratchpad.md +1 -1
- package/dist/tools/brain/skills/droid-brain/SKILL.md +1 -1
- package/dist/tools/brain/skills/droid-brain-obsidian/SKILL.md +1 -1
- package/dist/tools/coach/.claude-plugin/plugin.json +16 -0
- package/dist/tools/coach/commands/coach.md +1 -1
- package/dist/tools/coach/skills/droid-coach/SKILL.md +1 -1
- package/dist/tools/code-review/.claude-plugin/plugin.json +16 -0
- package/dist/tools/code-review/commands/code-review.md +1 -1
- package/dist/tools/code-review/skills/droid-code-review/SKILL.md +1 -1
- package/dist/tools/codex/.claude-plugin/plugin.json +16 -0
- package/dist/tools/codex/TOOL.yaml +2 -2
- package/dist/tools/codex/commands/codex.md +1 -1
- package/dist/tools/codex/skills/droid-codex/SKILL.md +1 -1
- package/dist/tools/comments/.claude-plugin/plugin.json +16 -0
- package/dist/tools/comments/commands/comments.md +1 -1
- package/dist/tools/comments/skills/droid-comments/SKILL.md +1 -1
- package/dist/tools/droid/.claude-plugin/plugin.json +15 -0
- package/dist/tools/droid/TOOL.yaml +1 -1
- package/dist/tools/droid/skills/droid/SKILL.md +1 -1
- package/dist/tools/project/.claude-plugin/plugin.json +16 -0
- package/dist/tools/project/commands/project.md +1 -1
- package/dist/tools/project/skills/droid-project/SKILL.md +1 -1
- package/dist/tools/tech-design/.claude-plugin/plugin.json +16 -0
- package/dist/tools/tech-design/TOOL.yaml +18 -0
- package/dist/tools/tech-design/commands/tech-design.md +93 -0
- package/dist/tools/tech-design/skills/droid-tech-design/SKILL.md +218 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/draft.md +321 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/gaps.md +328 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/publish.md +409 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/research-doc-template.md +129 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/rollup-template.md +55 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/start.md +353 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/think.md +356 -0
- package/dist/tools/tech-design/skills/droid-tech-design/references/thought-doc-template.md +72 -0
- package/package.json +3 -2
- package/scripts/build-plugins.ts +207 -0
- package/src/lib/skill-config.ts +95 -57
- package/src/lib/skills.ts +2 -2
- package/src/tools/README.md +1 -1
- package/src/tools/brain/.claude-plugin/plugin.json +16 -0
- package/src/tools/brain/commands/brain.md +1 -1
- package/src/tools/brain/commands/scratchpad.md +1 -1
- package/src/tools/brain/skills/droid-brain/SKILL.md +1 -1
- package/src/tools/brain/skills/droid-brain-obsidian/SKILL.md +1 -1
- package/src/tools/coach/.claude-plugin/plugin.json +16 -0
- package/src/tools/coach/commands/coach.md +1 -1
- package/src/tools/coach/skills/droid-coach/SKILL.md +1 -1
- package/src/tools/code-review/.claude-plugin/plugin.json +16 -0
- package/src/tools/code-review/commands/code-review.md +1 -1
- package/src/tools/code-review/skills/droid-code-review/SKILL.md +1 -1
- package/src/tools/codex/.claude-plugin/plugin.json +16 -0
- package/src/tools/codex/TOOL.yaml +2 -2
- package/src/tools/codex/commands/codex.md +1 -1
- package/src/tools/codex/skills/droid-codex/SKILL.md +1 -1
- package/src/tools/comments/.claude-plugin/plugin.json +16 -0
- package/src/tools/comments/commands/comments.md +1 -1
- package/src/tools/comments/skills/droid-comments/SKILL.md +1 -1
- package/src/tools/droid/.claude-plugin/plugin.json +15 -0
- package/src/tools/droid/TOOL.yaml +1 -1
- package/src/tools/droid/skills/droid/SKILL.md +1 -1
- package/src/tools/project/.claude-plugin/plugin.json +16 -0
- package/src/tools/project/commands/project.md +1 -1
- package/src/tools/project/skills/droid-project/SKILL.md +1 -1
- package/src/tools/tech-design/.claude-plugin/plugin.json +16 -0
- package/src/tools/tech-design/TOOL.yaml +18 -0
- package/src/tools/tech-design/commands/tech-design.md +93 -0
- package/src/tools/tech-design/skills/droid-tech-design/SKILL.md +218 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/draft.md +321 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/gaps.md +328 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/publish.md +409 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/research-doc-template.md +129 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/rollup-template.md +55 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/start.md +353 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/think.md +356 -0
- package/src/tools/tech-design/skills/droid-tech-design/references/thought-doc-template.md +72 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "droid",
|
|
3
|
+
"description": "AI-powered development tools for Claude Code",
|
|
4
|
+
"owner": {
|
|
5
|
+
"name": "Orderful",
|
|
6
|
+
"url": "https://github.com/orderful"
|
|
7
|
+
},
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "droid",
|
|
11
|
+
"description": "Core droid meta-skill for update awareness and tool discovery. Checks for updates and helps users find the right tools.",
|
|
12
|
+
"version": "0.4.0",
|
|
13
|
+
"source": {
|
|
14
|
+
"source": "github",
|
|
15
|
+
"repo": "orderful/droid",
|
|
16
|
+
"path": "src/tools/droid"
|
|
17
|
+
},
|
|
18
|
+
"author": {
|
|
19
|
+
"name": "Orderful"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "droid-brain",
|
|
24
|
+
"description": "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions.",
|
|
25
|
+
"version": "0.2.3",
|
|
26
|
+
"source": {
|
|
27
|
+
"source": "github",
|
|
28
|
+
"repo": "orderful/droid",
|
|
29
|
+
"path": "src/tools/brain"
|
|
30
|
+
},
|
|
31
|
+
"author": {
|
|
32
|
+
"name": "Orderful"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "droid-coach",
|
|
37
|
+
"description": "Learning-mode AI assistance - AI as coach, not crutch. Use /coach plan for co-authored planning, /coach scaffold for structure with hints, /coach review for Socratic questions.",
|
|
38
|
+
"version": "0.1.3",
|
|
39
|
+
"source": {
|
|
40
|
+
"source": "github",
|
|
41
|
+
"repo": "orderful/droid",
|
|
42
|
+
"path": "src/tools/coach"
|
|
43
|
+
},
|
|
44
|
+
"author": {
|
|
45
|
+
"name": "Orderful"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "droid-code-review",
|
|
50
|
+
"description": "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files with confidence scoring.",
|
|
51
|
+
"version": "0.1.2",
|
|
52
|
+
"source": {
|
|
53
|
+
"source": "github",
|
|
54
|
+
"repo": "orderful/droid",
|
|
55
|
+
"path": "src/tools/code-review"
|
|
56
|
+
},
|
|
57
|
+
"author": {
|
|
58
|
+
"name": "Orderful"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "droid-codex",
|
|
63
|
+
"description": "Shared organizational knowledge - PRDs, tech designs, domains, proposals, patterns, and explored topics. Use when loading project context, searching codex, capturing decisions, or creating new entries.",
|
|
64
|
+
"version": "0.1.5",
|
|
65
|
+
"source": {
|
|
66
|
+
"source": "github",
|
|
67
|
+
"repo": "orderful/droid",
|
|
68
|
+
"path": "src/tools/codex"
|
|
69
|
+
},
|
|
70
|
+
"author": {
|
|
71
|
+
"name": "Orderful"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "droid-comments",
|
|
76
|
+
"description": "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration.",
|
|
77
|
+
"version": "0.2.6",
|
|
78
|
+
"source": {
|
|
79
|
+
"source": "github",
|
|
80
|
+
"repo": "orderful/droid",
|
|
81
|
+
"path": "src/tools/comments"
|
|
82
|
+
},
|
|
83
|
+
"author": {
|
|
84
|
+
"name": "Orderful"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "droid-project",
|
|
89
|
+
"description": "Manage project context files for persistent AI memory across sessions. Load, update, or create project context before working on multi-session features.",
|
|
90
|
+
"version": "0.2.0",
|
|
91
|
+
"source": {
|
|
92
|
+
"source": "github",
|
|
93
|
+
"repo": "orderful/droid",
|
|
94
|
+
"path": "src/tools/project"
|
|
95
|
+
},
|
|
96
|
+
"author": {
|
|
97
|
+
"name": "Orderful"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "droid-tech-design",
|
|
102
|
+
"description": "Technical design authoring tool for engineers. Create structured tech design docs with /tech-design start, iterate in brain, publish to codex. Three-document approach: research doc (codebase discoveries) + thought doc (design workspace) + roll-up (clean summary for review).",
|
|
103
|
+
"version": "0.1.0",
|
|
104
|
+
"source": {
|
|
105
|
+
"source": "github",
|
|
106
|
+
"repo": "orderful/droid",
|
|
107
|
+
"path": "src/tools/tech-design"
|
|
108
|
+
},
|
|
109
|
+
"author": {
|
|
110
|
+
"name": "Orderful"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -50,3 +50,23 @@ jobs:
|
|
|
50
50
|
|
|
51
51
|
- name: Lint
|
|
52
52
|
run: bun run lint
|
|
53
|
+
|
|
54
|
+
plugin-manifests:
|
|
55
|
+
name: Plugin Manifests
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
steps:
|
|
58
|
+
- name: Checkout
|
|
59
|
+
uses: actions/checkout@v4
|
|
60
|
+
|
|
61
|
+
- name: Setup Bun
|
|
62
|
+
uses: oven-sh/setup-bun@v2
|
|
63
|
+
with:
|
|
64
|
+
bun-version: latest
|
|
65
|
+
|
|
66
|
+
- name: Install dependencies
|
|
67
|
+
run: bun install
|
|
68
|
+
|
|
69
|
+
- name: Check plugin manifests are up-to-date
|
|
70
|
+
run: |
|
|
71
|
+
bun run build:plugins
|
|
72
|
+
git diff --exit-code .claude-plugin/ src/tools/*/.claude-plugin/
|
package/AGENTS.md
CHANGED
|
@@ -120,6 +120,59 @@ bun run screenshot # On-demand TUI screenshot for visual verification
|
|
|
120
120
|
|
|
121
121
|
**Optional:** Add `references/` for context files, `scripts/` for deterministic CLI scripts.
|
|
122
122
|
|
|
123
|
+
## Existing Tools
|
|
124
|
+
|
|
125
|
+
Each tool has a specific domain. Know where your feature belongs:
|
|
126
|
+
|
|
127
|
+
| Tool | Purpose | Add skills here when... |
|
|
128
|
+
|------|---------|------------------------|
|
|
129
|
+
| `brain` | Personal scratchpad, planning docs | Working with brain vault, planning, research |
|
|
130
|
+
| `coach` | Learning-mode assistance | Educational interactions, scaffolding |
|
|
131
|
+
| `code-review` | PR and code review | Review-related features |
|
|
132
|
+
| `codex` | Shared org knowledge (PRDs, designs) | Codex content management, org context |
|
|
133
|
+
| `comments` | Inline @mentions in code | Comment handling, async collaboration |
|
|
134
|
+
| `droid` | **Meta-tool only** - updates, discovery | NEVER add skills here - create new tool instead |
|
|
135
|
+
| `project` | Personal project context | Project file management |
|
|
136
|
+
| `tech-design` | Tech design authoring | Tech design workflows |
|
|
137
|
+
|
|
138
|
+
> **Important:** The `droid` tool is special. It only handles update awareness and tool discovery.
|
|
139
|
+
> If you're building a full-featured capability (like tech-design, codex, brain), create a **new tool**.
|
|
140
|
+
|
|
141
|
+
## Adding a New Tool
|
|
142
|
+
|
|
143
|
+
Create a new tool when the feature:
|
|
144
|
+
- Has its own user-facing identity (e.g., `/tech-design`, `/deploy`)
|
|
145
|
+
- Doesn't naturally belong to an existing tool's domain
|
|
146
|
+
- Needs its own versioning/release cycle
|
|
147
|
+
- Is a full authoring/workflow tool (not just a helper)
|
|
148
|
+
|
|
149
|
+
**Steps:**
|
|
150
|
+
|
|
151
|
+
1. Create directory: `src/tools/{tool}/`
|
|
152
|
+
2. Add `TOOL.yaml`:
|
|
153
|
+
```yaml
|
|
154
|
+
name: {tool}
|
|
155
|
+
description: "What this tool does"
|
|
156
|
+
version: 0.1.0
|
|
157
|
+
status: beta
|
|
158
|
+
|
|
159
|
+
includes:
|
|
160
|
+
skills:
|
|
161
|
+
- name: droid-{tool}
|
|
162
|
+
required: true
|
|
163
|
+
commands:
|
|
164
|
+
- name: {tool}
|
|
165
|
+
required: false
|
|
166
|
+
agents: []
|
|
167
|
+
|
|
168
|
+
dependencies: []
|
|
169
|
+
```
|
|
170
|
+
3. Create skill: `src/tools/{tool}/skills/droid-{tool}/SKILL.md`
|
|
171
|
+
4. Create command: `src/tools/{tool}/commands/{tool}.md`
|
|
172
|
+
5. Add changeset: `.changeset/{tool}-initial.md`
|
|
173
|
+
|
|
174
|
+
**Example:** See `src/tools/codex/` or `src/tools/brain/` for reference.
|
|
175
|
+
|
|
123
176
|
## Key Architecture Decisions
|
|
124
177
|
|
|
125
178
|
Decisions that affect how you work:
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @orderful/droid
|
|
2
2
|
|
|
3
|
+
## 0.26.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#128](https://github.com/Orderful/droid/pull/128) [`7e6f0f6`](https://github.com/Orderful/droid/commit/7e6f0f623f711738f80615851a3e3e3e8d1b9a2d) Thanks [@yanneg](https://github.com/yanneg)! - Add Claude Code native plugin support - tools can now be installed via /plugin commands
|
|
8
|
+
|
|
9
|
+
- [#134](https://github.com/Orderful/droid/pull/134) [`e3e420c`](https://github.com/Orderful/droid/commit/e3e420c47172d947a1e668917cec400c36920380) Thanks [@frytyler](https://github.com/frytyler)! - Add tech-design skill Phase 1 foundation - skill, command, and templates for writing technical design documents with two-document approach (thought docs in brain, roll-ups in codex).
|
|
10
|
+
|
|
11
|
+
- [#136](https://github.com/Orderful/droid/pull/136) [`6658faa`](https://github.com/Orderful/droid/commit/6658faabeec099fdd046529519bbb96a9ebf198c) Thanks [@frytyler](https://github.com/frytyler)! - Add tech-design skill Phase 2 - Core authoring workflows with detailed procedure docs for start, draft, think, gaps, and publish commands.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#137](https://github.com/Orderful/droid/pull/137) [`b01e55b`](https://github.com/Orderful/droid/commit/b01e55b5bf896929f67242c20b1baec3eddf7af9) Thanks [@frytyler](https://github.com/frytyler)! - Add tool inventory and "Adding a New Tool" section to AGENTS.md. Fix allowed-tools format for OpenCode compatibility.
|
|
16
|
+
- Documents when to create a new tool vs add a skill to an existing tool
|
|
17
|
+
- Clarifies that `droid` is a meta-tool only
|
|
18
|
+
- Converts `allowed-tools` from comma-separated strings to YAML arrays (OpenCode requires arrays)
|
|
19
|
+
|
|
20
|
+
- [#142](https://github.com/Orderful/droid/pull/142) [`f362e32`](https://github.com/Orderful/droid/commit/f362e32f5be05d2506fd62f4dfa1f79204661195) Thanks [@frytyler](https://github.com/frytyler)! - Fix skill configuration to always create overrides.yaml file.
|
|
21
|
+
- Skills expect overrides.yaml to exist, even with all defaults
|
|
22
|
+
- Changed promptForSkillConfig to always save the file when config schema exists
|
|
23
|
+
- Saves all values (including defaults) instead of filtering them out
|
|
24
|
+
- Fixes bug where codex and other skills fail when overrides file missing
|
|
25
|
+
- Bump codex tool to v0.1.5
|
|
26
|
+
|
|
27
|
+
- [#144](https://github.com/Orderful/droid/pull/144) [`fde1504`](https://github.com/Orderful/droid/commit/fde1504edae97a8df14c67a7c5aaa8eb8b550513) Thanks [@frytyler](https://github.com/frytyler)! - Fix dependency check for tools with droid- prefixed skills. Coach tool now correctly detects when the comments tool is installed, resolving "Missing dependency" error when comments was actually installed.
|
|
28
|
+
|
|
29
|
+
- [#138](https://github.com/Orderful/droid/pull/138) [`d03c576`](https://github.com/Orderful/droid/commit/d03c5767f7d6b5f885c29ec252b1ee688abdb419) Thanks [@frytyler](https://github.com/frytyler)! - Move tech-design from droid tool to standalone tool
|
|
30
|
+
|
|
31
|
+
Restructures tech-design as a standalone tool at `src/tools/tech-design/` instead of being bundled under the droid tool. This aligns with the architecture pattern used by brain and codex.
|
|
32
|
+
|
|
33
|
+
**What changed:**
|
|
34
|
+
- Created new `tech-design` tool with its own TOOL.yaml
|
|
35
|
+
- Moved `droid-tech-design` skill from `tools/droid/skills/` to `tools/tech-design/skills/`
|
|
36
|
+
- Moved `tech-design` command from `tools/droid/commands/` to `tools/tech-design/commands/`
|
|
37
|
+
- Removed tech-design entries from droid's TOOL.yaml and dependencies
|
|
38
|
+
|
|
39
|
+
**Why this matters:**
|
|
40
|
+
- tech-design has its own user-facing identity (`/tech-design`)
|
|
41
|
+
- Doesn't belong to droid's domain (droid = updates/discovery only)
|
|
42
|
+
- Needs independent versioning/release cycle
|
|
43
|
+
- Matches pattern of other full-featured authoring tools (codex, brain, code-review)
|
|
44
|
+
|
|
45
|
+
**Note:** No user impact since tech-design hasn't been released yet. This is a pre-release structural fix.
|
|
46
|
+
|
|
3
47
|
## 0.25.2
|
|
4
48
|
|
|
5
49
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -14,12 +14,28 @@ AI workflow toolkit for sharing tools, commands, and agents across the engineeri
|
|
|
14
14
|
|
|
15
15
|
## Quick Start
|
|
16
16
|
|
|
17
|
+
### Option A: Claude Code Plugin (Recommended for Claude Code users)
|
|
18
|
+
|
|
19
|
+
Install individual tools directly through Claude Code's plugin system:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Add the Droid marketplace
|
|
23
|
+
/plugin marketplace add orderful/droid
|
|
24
|
+
|
|
25
|
+
# Install the tools you want
|
|
26
|
+
/plugin install droid-brain@droid
|
|
27
|
+
/plugin install droid-comments@droid
|
|
28
|
+
/plugin install droid-code-review@droid
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Option B: TUI Dashboard (For OpenCode or if you prefer a visual interface)
|
|
32
|
+
|
|
17
33
|
```bash
|
|
18
34
|
npm install -g @orderful/droid
|
|
19
35
|
droid
|
|
20
36
|
```
|
|
21
37
|
|
|
22
|
-
|
|
38
|
+
The TUI guides you through setup and tool installation. Works with both Claude Code and OpenCode.
|
|
23
39
|
|
|
24
40
|
> **Note for nodenv/nvm/asdf users:** After global install, run `nodenv rehash` (or equivalent) to update your shims.
|
|
25
41
|
|
|
@@ -128,9 +144,12 @@ cd droid && bun install
|
|
|
128
144
|
bun run build
|
|
129
145
|
bun dist/bin/droid.js
|
|
130
146
|
|
|
131
|
-
# to test
|
|
147
|
+
# to test TUI
|
|
132
148
|
bun link
|
|
133
|
-
bun unlink
|
|
149
|
+
bun unlink
|
|
150
|
+
|
|
151
|
+
# to build plugin packages
|
|
152
|
+
bun run build:plugins
|
|
134
153
|
```
|
|
135
154
|
|
|
136
155
|
### Adding Tools
|
|
@@ -141,7 +160,14 @@ See [AGENTS.md](AGENTS.md) for detailed contributor guidance. Quick overview:
|
|
|
141
160
|
2. Add skills in `src/tools/{name}/skills/{skill}/SKILL.md` (frontmatter + instructions)
|
|
142
161
|
3. Add commands in `src/tools/{name}/commands/{command}.md` (frontmatter + instructions)
|
|
143
162
|
4. Add agents in `src/tools/{name}/agents/{agent}.md` (frontmatter + instructions)
|
|
144
|
-
5.
|
|
163
|
+
5. Run `bun run build:plugins` to generate plugin manifests
|
|
164
|
+
6. Submit a PR
|
|
165
|
+
|
|
166
|
+
The build script generates:
|
|
167
|
+
- `.claude-plugin/marketplace.json` at repo root (lists all plugins)
|
|
168
|
+
- `src/tools/{name}/.claude-plugin/plugin.json` for each tool
|
|
169
|
+
|
|
170
|
+
These must be committed for plugin installation to work.
|
|
145
171
|
|
|
146
172
|
## License
|
|
147
173
|
|
package/dist/bin/droid.js
CHANGED
|
@@ -863,7 +863,7 @@ function installSkill(skillName) {
|
|
|
863
863
|
}
|
|
864
864
|
if (manifest.dependencies) {
|
|
865
865
|
for (const dep of manifest.dependencies) {
|
|
866
|
-
if (!
|
|
866
|
+
if (!isToolInstalled(dep)) {
|
|
867
867
|
return {
|
|
868
868
|
success: false,
|
|
869
869
|
message: `Missing dependency: '${dep}'. Install it first with \`droid install ${dep}\``
|
|
@@ -1356,6 +1356,7 @@ import chalk4 from "chalk";
|
|
|
1356
1356
|
import inquirer2 from "inquirer";
|
|
1357
1357
|
async function promptForSkillConfig(skillName, configSchema, askFirst = true) {
|
|
1358
1358
|
const globalConfig = loadConfig();
|
|
1359
|
+
let shouldPrompt = true;
|
|
1359
1360
|
if (askFirst) {
|
|
1360
1361
|
const { wantsConfigure } = await inquirer2.prompt([
|
|
1361
1362
|
{
|
|
@@ -1365,64 +1366,74 @@ async function promptForSkillConfig(skillName, configSchema, askFirst = true) {
|
|
|
1365
1366
|
default: false
|
|
1366
1367
|
}
|
|
1367
1368
|
]);
|
|
1368
|
-
|
|
1369
|
-
return;
|
|
1370
|
-
}
|
|
1369
|
+
shouldPrompt = wantsConfigure;
|
|
1371
1370
|
}
|
|
1372
|
-
|
|
1371
|
+
const existingOverrides = loadSkillOverrides(skillName);
|
|
1372
|
+
let overrides = {};
|
|
1373
|
+
if (shouldPrompt) {
|
|
1374
|
+
console.log(chalk4.bold(`
|
|
1373
1375
|
\u2699\uFE0F Configure ${skillName}
|
|
1374
1376
|
`));
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1377
|
+
const questions = Object.entries(configSchema).map(([key, option]) => {
|
|
1378
|
+
const baseQuestion = {
|
|
1379
|
+
name: key,
|
|
1380
|
+
message: option.description
|
|
1381
|
+
};
|
|
1382
|
+
const existingValue = existingOverrides[key];
|
|
1383
|
+
switch (option.type) {
|
|
1384
|
+
case "boolean" /* Boolean */:
|
|
1385
|
+
return {
|
|
1386
|
+
...baseQuestion,
|
|
1387
|
+
type: "confirm",
|
|
1388
|
+
default: existingValue ?? option.default ?? false
|
|
1389
|
+
};
|
|
1390
|
+
case "select" /* Select */:
|
|
1391
|
+
return {
|
|
1392
|
+
...baseQuestion,
|
|
1393
|
+
type: "list",
|
|
1394
|
+
choices: option.options || [],
|
|
1395
|
+
default: existingValue ?? option.default
|
|
1396
|
+
};
|
|
1397
|
+
case "string" /* String */:
|
|
1398
|
+
default: {
|
|
1399
|
+
let defaultValue = existingValue ?? option.default ?? "";
|
|
1400
|
+
if (key === "user_mention" && !existingValue && globalConfig.user_mention) {
|
|
1401
|
+
defaultValue = globalConfig.user_mention;
|
|
1402
|
+
}
|
|
1403
|
+
return {
|
|
1404
|
+
...baseQuestion,
|
|
1405
|
+
type: "input",
|
|
1406
|
+
default: defaultValue
|
|
1407
|
+
};
|
|
1401
1408
|
}
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1409
|
+
}
|
|
1410
|
+
});
|
|
1411
|
+
const answers = await inquirer2.prompt(questions);
|
|
1412
|
+
for (const [key, value] of Object.entries(answers)) {
|
|
1413
|
+
if (value !== "" && value !== void 0 && value !== null) {
|
|
1414
|
+
overrides[key] = value;
|
|
1407
1415
|
}
|
|
1408
1416
|
}
|
|
1409
|
-
});
|
|
1410
|
-
const answers = await inquirer2.prompt(questions);
|
|
1411
|
-
const overrides = {};
|
|
1412
|
-
for (const [key, value] of Object.entries(answers)) {
|
|
1413
|
-
const schema = configSchema[key];
|
|
1414
|
-
if (value !== schema.default && value !== "" && value !== false) {
|
|
1415
|
-
overrides[key] = value;
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
if (Object.keys(overrides).length > 0) {
|
|
1419
|
-
saveSkillOverrides(skillName, overrides);
|
|
1420
|
-
const displayName = skillName.replace(/^droid-/, "");
|
|
1421
|
-
console.log(chalk4.green(`
|
|
1422
|
-
\u2713 Configuration saved to ~/.droid/skills/${displayName}/overrides.yaml`));
|
|
1423
1417
|
} else {
|
|
1424
|
-
|
|
1418
|
+
for (const [key, option] of Object.entries(configSchema)) {
|
|
1419
|
+
const existingValue = existingOverrides[key];
|
|
1420
|
+
let defaultValue = existingValue ?? option.default ?? (option.type === "boolean" /* Boolean */ ? false : "");
|
|
1421
|
+
if (key === "user_mention" && !existingValue && globalConfig.user_mention) {
|
|
1422
|
+
defaultValue = globalConfig.user_mention;
|
|
1423
|
+
}
|
|
1424
|
+
if (defaultValue !== "" && defaultValue !== void 0 && defaultValue !== null) {
|
|
1425
|
+
overrides[key] = defaultValue;
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1425
1428
|
}
|
|
1429
|
+
saveSkillOverrides(skillName, overrides);
|
|
1430
|
+
const displayName = skillName.replace(/^droid-/, "");
|
|
1431
|
+
console.log(
|
|
1432
|
+
chalk4.green(
|
|
1433
|
+
`
|
|
1434
|
+
\u2713 Configuration saved to ~/.droid/skills/${displayName}/overrides.yaml`
|
|
1435
|
+
)
|
|
1436
|
+
);
|
|
1426
1437
|
}
|
|
1427
1438
|
|
|
1428
1439
|
// src/commands/skills.ts
|
package/dist/index.js
CHANGED
|
@@ -359,6 +359,14 @@ function getBundledTools() {
|
|
|
359
359
|
}
|
|
360
360
|
return tools;
|
|
361
361
|
}
|
|
362
|
+
function isToolInstalled(toolName) {
|
|
363
|
+
const config = loadConfig();
|
|
364
|
+
const installedTools = getPlatformTools(config);
|
|
365
|
+
const tool = getBundledTools().find((t) => t.name === toolName);
|
|
366
|
+
if (!tool) return false;
|
|
367
|
+
const requiredSkills = tool.includes.skills.filter((s) => s.required).map((s) => s.name);
|
|
368
|
+
return requiredSkills.some((skillName) => skillName in installedTools);
|
|
369
|
+
}
|
|
362
370
|
|
|
363
371
|
// src/lib/agents.ts
|
|
364
372
|
var __dirname3 = dirname3(fileURLToPath3(import.meta.url));
|
|
@@ -869,7 +877,7 @@ function installSkill(skillName) {
|
|
|
869
877
|
}
|
|
870
878
|
if (manifest.dependencies) {
|
|
871
879
|
for (const dep of manifest.dependencies) {
|
|
872
|
-
if (!
|
|
880
|
+
if (!isToolInstalled(dep)) {
|
|
873
881
|
return {
|
|
874
882
|
success: false,
|
|
875
883
|
message: `Missing dependency: '${dep}'. Install it first with \`droid install ${dep}\``
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-config.d.ts","sourceRoot":"","sources":["../../src/lib/skill-config.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"skill-config.d.ts","sourceRoot":"","sources":["../../src/lib/skill-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC1C,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAoHf"}
|
package/dist/tools/README.md
CHANGED
|
@@ -57,7 +57,7 @@ description: "What this skill does"
|
|
|
57
57
|
globs:
|
|
58
58
|
- "**/*.ts" # File patterns this skill applies to
|
|
59
59
|
alwaysApply: false # Always include in context?
|
|
60
|
-
allowed-tools: Read, Grep, Glob
|
|
60
|
+
allowed-tools: [Read, Grep, Glob] # Pre-authorize tools (reduces permission prompts)
|
|
61
61
|
---
|
|
62
62
|
|
|
63
63
|
# My Skill
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "droid-brain",
|
|
3
|
+
"version": "0.2.3",
|
|
4
|
+
"description": "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Orderful",
|
|
7
|
+
"url": "https://github.com/orderful"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/orderful/droid",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"droid",
|
|
13
|
+
"ai",
|
|
14
|
+
"brain"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Collaborative scratchpad for planning and research
|
|
3
3
|
argument-hint: "[{topic} | plan|research|review {topic} | idea|add {text} | check|done]"
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)
|
|
4
|
+
allowed-tools: [Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /brain
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Collaborative scratchpad for planning and research
|
|
3
3
|
argument-hint: "[{topic} | plan|research|review {topic} | idea|add {text} | check|done]"
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)
|
|
4
|
+
allowed-tools: [Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /scratchpad
|
|
@@ -4,7 +4,7 @@ description: "Obsidian extension for brain skill with YAML frontmatter, wikilink
|
|
|
4
4
|
globs:
|
|
5
5
|
- "**/brain/**/*.md"
|
|
6
6
|
alwaysApply: false
|
|
7
|
-
allowed-tools: Read, Write, Glob, Grep, Bash
|
|
7
|
+
allowed-tools: [Read, Write, Glob, Grep, Bash]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Brain Obsidian Extension
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "droid-coach",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "Learning-mode AI assistance - AI as coach, not crutch. Use /coach plan for co-authored planning, /coach scaffold for structure with hints, /coach review for Socratic questions.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Orderful",
|
|
7
|
+
"url": "https://github.com/orderful"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/orderful/droid",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"droid",
|
|
13
|
+
"ai",
|
|
14
|
+
"coach"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Learning-mode AI assistance - scaffolds don't implement, questions don't fix"
|
|
3
3
|
argument-hint: "[plan {task} | scaffold [{path}] | review [{path}] | check | challenge [{path}]]"
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep, Bash(ls:*)
|
|
4
|
+
allowed-tools: [Read, Write, Edit, Glob, Grep, Bash(ls:*)]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /coach
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: droid-coach
|
|
3
3
|
description: "Learning-mode AI assistance - scaffolds don't implement, questions don't fix. Use when learning a new codebase, wanting to understand deeply, or building skills to retain. User prompts like 'coach me on', 'help me think through', 'I want to learn how to', 'don't just give me the answer'."
|
|
4
4
|
alwaysApply: false
|
|
5
|
-
allowed-tools: Read, Grep, Glob
|
|
5
|
+
allowed-tools: [Read, Grep, Glob]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Coach Skill
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "droid-code-review",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files with confidence scoring.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Orderful",
|
|
7
|
+
"url": "https://github.com/orderful"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/orderful/droid",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"droid",
|
|
13
|
+
"ai",
|
|
14
|
+
"code-review"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Run comprehensive code review using specialized agents. Accepts PR number, 'staged', 'branch', or file path.
|
|
3
3
|
argument-hint: "[#123 | staged | branch | path/to/file.ts]"
|
|
4
|
-
allowed-tools: Task, Bash(git:*), Bash(gh:*), Read, Glob
|
|
4
|
+
allowed-tools: [Task, Bash(git:*), Bash(gh:*), Read, Glob]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /code-review - Run comprehensive code review using specialized agents
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "droid-codex",
|
|
3
|
+
"version": "0.1.5",
|
|
4
|
+
"description": "Shared organizational knowledge - PRDs, tech designs, domains, proposals, patterns, and explored topics. Use when loading project context, searching codex, capturing decisions, or creating new entries.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Orderful",
|
|
7
|
+
"url": "https://github.com/orderful"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/orderful/droid",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"droid",
|
|
13
|
+
"ai",
|
|
14
|
+
"codex"
|
|
15
|
+
]
|
|
16
|
+
}
|