@orderful/droid 0.10.4 → 0.11.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/CLAUDE.md +13 -6
- package/CHANGELOG.md +21 -0
- package/README.md +23 -24
- package/dist/bin/droid.js +9 -9
- package/dist/bin/droid.js.map +1 -1
- package/dist/commands/install.d.ts +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +24 -23
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/setup.d.ts +3 -3
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +32 -28
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +60 -53
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/commands/tui.js +213 -319
- package/dist/commands/tui.js.map +1 -1
- package/dist/commands/uninstall.d.ts +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +15 -6
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +2 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -9
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/agents.d.ts +11 -10
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +52 -54
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +42 -5
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/platforms.d.ts +41 -0
- package/dist/lib/platforms.d.ts.map +1 -0
- package/dist/lib/platforms.js +52 -0
- package/dist/lib/platforms.js.map +1 -0
- package/dist/lib/skills.d.ts +19 -11
- package/dist/lib/skills.d.ts.map +1 -1
- package/dist/lib/skills.js +127 -106
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/tools.d.ts +30 -0
- package/dist/lib/tools.d.ts.map +1 -0
- package/dist/lib/tools.js +116 -0
- package/dist/lib/tools.js.map +1 -0
- package/dist/lib/types.d.ts +45 -2
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +24 -5
- package/dist/lib/types.js.map +1 -1
- package/dist/tools/brain/TOOL.yaml +27 -0
- package/dist/tools/coach/TOOL.yaml +21 -0
- package/dist/tools/code-review/TOOL.yaml +18 -0
- package/dist/{skills → tools}/code-review/commands/code-review.md +23 -1
- package/dist/tools/comments/TOOL.yaml +27 -0
- package/dist/tools/project/TOOL.yaml +26 -0
- package/package.json +2 -2
- package/src/bin/droid.ts +9 -9
- package/src/commands/install.ts +24 -23
- package/src/commands/setup.test.ts +2 -2
- package/src/commands/setup.ts +33 -29
- package/src/commands/skills.ts +63 -64
- package/src/commands/tui.tsx +432 -578
- package/src/commands/uninstall.ts +17 -6
- package/src/commands/update.ts +10 -10
- package/src/lib/agents.ts +58 -58
- package/src/lib/config.test.ts +0 -10
- package/src/lib/config.ts +47 -5
- package/src/lib/platforms.ts +59 -0
- package/src/lib/skills.test.ts +53 -28
- package/src/lib/skills.ts +136 -109
- package/src/lib/tools.ts +140 -0
- package/src/lib/types.test.ts +15 -7
- package/src/lib/types.ts +63 -2
- package/src/tools/brain/TOOL.yaml +27 -0
- package/src/tools/coach/TOOL.yaml +21 -0
- package/src/tools/code-review/TOOL.yaml +18 -0
- package/src/{skills → tools}/code-review/commands/code-review.md +23 -1
- package/src/tools/comments/TOOL.yaml +27 -0
- package/src/tools/project/TOOL.yaml +26 -0
- package/dist/agents/README.md +0 -137
- package/src/agents/README.md +0 -137
- /package/dist/{skills → tools}/README.md +0 -0
- /package/dist/{skills → tools}/brain/commands/README.md +0 -0
- /package/dist/{skills → tools}/brain/commands/brain.md +0 -0
- /package/dist/{skills → tools}/brain/commands/scratchpad.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain/SKILL.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain/SKILL.yaml +0 -0
- /package/dist/{skills → tools/brain/skills}/brain/references/metadata.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain/references/naming.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain/references/templates.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain/references/workflows.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain-obsidian/SKILL.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain-obsidian/SKILL.yaml +0 -0
- /package/dist/{skills → tools/brain/skills}/brain-obsidian/references/templates.md +0 -0
- /package/dist/{skills → tools/brain/skills}/brain-obsidian/references/workflows.md +0 -0
- /package/dist/{skills → tools}/coach/commands/README.md +0 -0
- /package/dist/{skills → tools}/coach/commands/coach.md +0 -0
- /package/dist/{skills → tools/coach/skills}/coach/SKILL.md +0 -0
- /package/dist/{skills → tools/coach/skills}/coach/SKILL.yaml +0 -0
- /package/dist/{skills → tools}/code-review/agents/edi-standards-reviewer/AGENT.md +0 -0
- /package/dist/{skills → tools}/code-review/agents/edi-standards-reviewer/AGENT.yaml +0 -0
- /package/dist/{skills → tools}/code-review/agents/error-handling-reviewer/AGENT.md +0 -0
- /package/dist/{skills → tools}/code-review/agents/error-handling-reviewer/AGENT.yaml +0 -0
- /package/dist/{skills → tools}/code-review/agents/test-coverage-analyzer/AGENT.md +0 -0
- /package/dist/{skills → tools}/code-review/agents/test-coverage-analyzer/AGENT.yaml +0 -0
- /package/dist/{skills → tools}/code-review/agents/type-reviewer/AGENT.md +0 -0
- /package/dist/{skills → tools}/code-review/agents/type-reviewer/AGENT.yaml +0 -0
- /package/dist/{skills → tools/code-review/skills}/code-review/SKILL.md +0 -0
- /package/dist/{skills → tools/code-review/skills}/code-review/SKILL.yaml +0 -0
- /package/dist/{skills → tools}/comments/commands/README.md +0 -0
- /package/dist/{skills → tools}/comments/commands/comments.md +0 -0
- /package/dist/{skills → tools/comments/skills}/comments/SKILL.md +0 -0
- /package/dist/{skills → tools/comments/skills}/comments/SKILL.yaml +0 -0
- /package/dist/{skills → tools}/project/commands/README.md +0 -0
- /package/dist/{skills → tools}/project/commands/project.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/SKILL.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/SKILL.yaml +0 -0
- /package/dist/{skills → tools/project/skills}/project/references/changelog.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/references/creating.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/references/loading.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/references/templates.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/references/updating.md +0 -0
- /package/dist/{skills → tools/project/skills}/project/references/versioning.md +0 -0
- /package/src/{skills → tools}/README.md +0 -0
- /package/src/{skills → tools}/brain/commands/README.md +0 -0
- /package/src/{skills → tools}/brain/commands/brain.md +0 -0
- /package/src/{skills → tools}/brain/commands/scratchpad.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain/SKILL.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain/SKILL.yaml +0 -0
- /package/src/{skills → tools/brain/skills}/brain/references/metadata.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain/references/naming.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain/references/templates.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain/references/workflows.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain-obsidian/SKILL.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain-obsidian/SKILL.yaml +0 -0
- /package/src/{skills → tools/brain/skills}/brain-obsidian/references/templates.md +0 -0
- /package/src/{skills → tools/brain/skills}/brain-obsidian/references/workflows.md +0 -0
- /package/src/{skills → tools}/coach/commands/README.md +0 -0
- /package/src/{skills → tools}/coach/commands/coach.md +0 -0
- /package/src/{skills → tools/coach/skills}/coach/SKILL.md +0 -0
- /package/src/{skills → tools/coach/skills}/coach/SKILL.yaml +0 -0
- /package/src/{skills → tools}/code-review/agents/edi-standards-reviewer/AGENT.md +0 -0
- /package/src/{skills → tools}/code-review/agents/edi-standards-reviewer/AGENT.yaml +0 -0
- /package/src/{skills → tools}/code-review/agents/error-handling-reviewer/AGENT.md +0 -0
- /package/src/{skills → tools}/code-review/agents/error-handling-reviewer/AGENT.yaml +0 -0
- /package/src/{skills → tools}/code-review/agents/test-coverage-analyzer/AGENT.md +0 -0
- /package/src/{skills → tools}/code-review/agents/test-coverage-analyzer/AGENT.yaml +0 -0
- /package/src/{skills → tools}/code-review/agents/type-reviewer/AGENT.md +0 -0
- /package/src/{skills → tools}/code-review/agents/type-reviewer/AGENT.yaml +0 -0
- /package/src/{skills → tools/code-review/skills}/code-review/SKILL.md +0 -0
- /package/src/{skills → tools/code-review/skills}/code-review/SKILL.yaml +0 -0
- /package/src/{skills → tools}/comments/commands/README.md +0 -0
- /package/src/{skills → tools}/comments/commands/comments.md +0 -0
- /package/src/{skills → tools/comments/skills}/comments/SKILL.md +0 -0
- /package/src/{skills → tools/comments/skills}/comments/SKILL.yaml +0 -0
- /package/src/{skills → tools}/project/commands/README.md +0 -0
- /package/src/{skills → tools}/project/commands/project.md +0 -0
- /package/src/{skills → tools/project/skills}/project/SKILL.md +0 -0
- /package/src/{skills → tools/project/skills}/project/SKILL.yaml +0 -0
- /package/src/{skills → tools/project/skills}/project/references/changelog.md +0 -0
- /package/src/{skills → tools/project/skills}/project/references/creating.md +0 -0
- /package/src/{skills → tools/project/skills}/project/references/loading.md +0 -0
- /package/src/{skills → tools/project/skills}/project/references/templates.md +0 -0
- /package/src/{skills → tools/project/skills}/project/references/updating.md +0 -0
- /package/src/{skills → tools/project/skills}/project/references/versioning.md +0 -0
package/src/lib/types.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
export enum
|
|
1
|
+
export enum Platform {
|
|
2
2
|
ClaudeCode = 'claude-code',
|
|
3
3
|
OpenCode = 'opencode',
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
// Backwards compatibility alias - using different names to avoid redeclare error
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
+
const AIToolValue = Platform;
|
|
9
|
+
export { AIToolValue as AITool };
|
|
10
|
+
export type AITool = Platform;
|
|
11
|
+
|
|
6
12
|
/**
|
|
7
13
|
* Get the AI's mention tag
|
|
8
14
|
* Always @droid - consistent branding regardless of underlying AI tool
|
|
@@ -32,14 +38,44 @@ export enum ConfigOptionType {
|
|
|
32
38
|
Select = 'select',
|
|
33
39
|
}
|
|
34
40
|
|
|
41
|
+
export interface PlatformConfig {
|
|
42
|
+
tools: Record<string, InstalledSkill>;
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
export interface DroidConfig {
|
|
36
|
-
|
|
46
|
+
platform: Platform;
|
|
47
|
+
user_mention: string;
|
|
48
|
+
output_preference: OutputPreference;
|
|
49
|
+
git_username: string;
|
|
50
|
+
platforms: Record<string, PlatformConfig>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Legacy config structure for migration
|
|
54
|
+
export interface LegacyDroidConfig {
|
|
55
|
+
ai_tool: Platform;
|
|
37
56
|
user_mention: string;
|
|
38
57
|
output_preference: OutputPreference;
|
|
39
58
|
git_username: string;
|
|
40
59
|
skills: Record<string, InstalledSkill>;
|
|
41
60
|
}
|
|
42
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Get installed tools for the current platform
|
|
64
|
+
*/
|
|
65
|
+
export function getPlatformTools(config: DroidConfig): Record<string, InstalledSkill> {
|
|
66
|
+
return config.platforms[config.platform]?.tools ?? {};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Set installed tools for the current platform
|
|
71
|
+
*/
|
|
72
|
+
export function setPlatformTools(config: DroidConfig, tools: Record<string, InstalledSkill>): void {
|
|
73
|
+
if (!config.platforms[config.platform]) {
|
|
74
|
+
config.platforms[config.platform] = { tools: {} };
|
|
75
|
+
}
|
|
76
|
+
config.platforms[config.platform].tools = tools;
|
|
77
|
+
}
|
|
78
|
+
|
|
43
79
|
export interface InstalledSkill {
|
|
44
80
|
version: string;
|
|
45
81
|
installed_at: string;
|
|
@@ -77,3 +113,28 @@ export interface ConfigOption {
|
|
|
77
113
|
export interface SkillOverrides {
|
|
78
114
|
[key: string]: string | boolean | number;
|
|
79
115
|
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Tool manifest structure (TOOL.yaml)
|
|
119
|
+
*/
|
|
120
|
+
export interface ToolSkillInclude {
|
|
121
|
+
name: string;
|
|
122
|
+
required: boolean;
|
|
123
|
+
description?: string;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface ToolIncludes {
|
|
127
|
+
skills: ToolSkillInclude[];
|
|
128
|
+
commands: string[];
|
|
129
|
+
agents: string[];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export interface ToolManifest {
|
|
133
|
+
name: string;
|
|
134
|
+
description: string;
|
|
135
|
+
version: string;
|
|
136
|
+
status?: SkillStatus;
|
|
137
|
+
includes: ToolIncludes;
|
|
138
|
+
dependencies?: string[];
|
|
139
|
+
config_schema?: Record<string, ConfigOption>;
|
|
140
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: brain
|
|
2
|
+
description: "Collaborative scratchpad for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions."
|
|
3
|
+
version: 0.2.0
|
|
4
|
+
status: beta
|
|
5
|
+
|
|
6
|
+
includes:
|
|
7
|
+
skills:
|
|
8
|
+
- name: brain
|
|
9
|
+
required: true
|
|
10
|
+
- name: brain-obsidian
|
|
11
|
+
required: false
|
|
12
|
+
description: "Obsidian vault integration with YAML frontmatter and wikilinks"
|
|
13
|
+
commands:
|
|
14
|
+
- brain
|
|
15
|
+
- scratchpad
|
|
16
|
+
agents: []
|
|
17
|
+
|
|
18
|
+
dependencies: []
|
|
19
|
+
|
|
20
|
+
config_schema:
|
|
21
|
+
brain_dir:
|
|
22
|
+
type: string
|
|
23
|
+
description: Directory for brain docs (default varies by platform)
|
|
24
|
+
inbox_folder:
|
|
25
|
+
type: string
|
|
26
|
+
description: Subfolder for new docs (empty = flat structure)
|
|
27
|
+
default: ""
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: coach
|
|
2
|
+
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."
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
status: beta
|
|
5
|
+
|
|
6
|
+
includes:
|
|
7
|
+
skills:
|
|
8
|
+
- name: coach
|
|
9
|
+
required: true
|
|
10
|
+
commands:
|
|
11
|
+
- coach
|
|
12
|
+
agents: []
|
|
13
|
+
|
|
14
|
+
dependencies:
|
|
15
|
+
- comments
|
|
16
|
+
|
|
17
|
+
config_schema:
|
|
18
|
+
scaffold_verbosity:
|
|
19
|
+
type: string
|
|
20
|
+
description: "How detailed scaffold hints should be: minimal, medium, detailed"
|
|
21
|
+
default: "medium"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: code-review
|
|
2
|
+
description: "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files with confidence scoring."
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
status: alpha
|
|
5
|
+
|
|
6
|
+
includes:
|
|
7
|
+
skills:
|
|
8
|
+
- name: code-review
|
|
9
|
+
required: true
|
|
10
|
+
commands:
|
|
11
|
+
- code-review
|
|
12
|
+
agents:
|
|
13
|
+
- edi-standards-reviewer
|
|
14
|
+
- error-handling-reviewer
|
|
15
|
+
- test-coverage-analyzer
|
|
16
|
+
- type-reviewer
|
|
17
|
+
|
|
18
|
+
dependencies: []
|
|
@@ -17,29 +17,46 @@ Review target: $ARGUMENTS
|
|
|
17
17
|
/code-review path/to/file # Review specific file
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
### Step 0: Check for Brain Integration
|
|
21
|
+
|
|
22
|
+
**If the `brain` skill is installed** (check for `~/.claude/skills/brain/SKILL.md` or `~/.config/opencode/skills/brain/SKILL.md`):
|
|
23
|
+
|
|
24
|
+
Ask the user: **"Would you like the review results saved to a `/brain review` doc?"**
|
|
25
|
+
|
|
26
|
+
- If yes: Create a brain review doc at the start using `/brain review {PR title or branch name}`
|
|
27
|
+
- The final report will be written to the brain doc instead of just displayed
|
|
28
|
+
- This allows for async discussion via `@droid`/`@{user}` comments
|
|
29
|
+
|
|
30
|
+
If brain skill is not installed or user declines, proceed with normal terminal output.
|
|
31
|
+
|
|
20
32
|
### Step 1: Determine Review Scope
|
|
21
33
|
|
|
22
34
|
Parse the argument to determine what to review:
|
|
23
35
|
|
|
24
36
|
**If argument starts with `#` or is a number (e.g., `#123` or `123`):**
|
|
37
|
+
|
|
25
38
|
- This is a PR number
|
|
26
39
|
- Fetch PR details: `gh pr view $PR_NUMBER --json title,body,baseRefName,headRefName,files`
|
|
27
40
|
- Get the diff: `gh pr diff $PR_NUMBER`
|
|
28
41
|
- Note the PR author and description for context
|
|
29
42
|
|
|
30
43
|
**If argument is `staged` or empty:**
|
|
44
|
+
|
|
31
45
|
- Review staged changes: `git diff --cached`
|
|
32
46
|
|
|
33
47
|
**If argument is `branch`:**
|
|
48
|
+
|
|
34
49
|
- Review current branch vs main: `git diff origin/main...HEAD`
|
|
35
50
|
|
|
36
51
|
**If argument is a file path:**
|
|
52
|
+
|
|
37
53
|
- Review specific file: `git diff HEAD -- $FILE_PATH`
|
|
38
54
|
- If no changes, review the entire file for issues
|
|
39
55
|
|
|
40
56
|
### Step 2: Gather Context
|
|
41
57
|
|
|
42
58
|
For PR reviews, also fetch:
|
|
59
|
+
|
|
43
60
|
- PR description (may contain context about the change)
|
|
44
61
|
- Linked issues: `gh pr view $PR_NUMBER --json body` and parse for #issue refs
|
|
45
62
|
- Changed files list for targeted agent assignment
|
|
@@ -54,6 +71,7 @@ Launch these agents in parallel using the Task tool with `run_in_background: tru
|
|
|
54
71
|
4. **type-reviewer**: Type design, interface contracts
|
|
55
72
|
|
|
56
73
|
Pass each agent:
|
|
74
|
+
|
|
57
75
|
1. The diff content
|
|
58
76
|
2. The full file content for changed files (for context)
|
|
59
77
|
3. PR description if available
|
|
@@ -70,15 +88,18 @@ Filter out issues with confidence < 80.
|
|
|
70
88
|
Compile findings into a prioritized report:
|
|
71
89
|
|
|
72
90
|
**PR #123: "Add partnership billing events"** (if reviewing a PR)
|
|
73
|
-
|
|
91
|
+
_Author: @username_
|
|
74
92
|
|
|
75
93
|
**Critical** (security, data loss, billing errors)
|
|
94
|
+
|
|
76
95
|
- `file.ts:42` - Issue description
|
|
77
96
|
|
|
78
97
|
**Important** (bugs, missing tests, type issues)
|
|
98
|
+
|
|
79
99
|
- `file.ts:67` - Issue description
|
|
80
100
|
|
|
81
101
|
**Suggestions** (style, readability)
|
|
102
|
+
|
|
82
103
|
- `file.ts:89` - Issue description
|
|
83
104
|
|
|
84
105
|
**Summary**: X critical, Y important, Z suggestions across N files.
|
|
@@ -86,6 +107,7 @@ Compile findings into a prioritized report:
|
|
|
86
107
|
### Step 6: Offer Actions (for PRs)
|
|
87
108
|
|
|
88
109
|
After presenting the report, offer:
|
|
110
|
+
|
|
89
111
|
- "Would you like me to post this as a PR comment?"
|
|
90
112
|
- "Should I suggest fixes for any of these issues?"
|
|
91
113
|
- "Want me to check out this branch and fix the critical issues?"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: comments
|
|
2
|
+
description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Ideal for code review notes and async collaboration."
|
|
3
|
+
version: 0.2.2
|
|
4
|
+
status: beta
|
|
5
|
+
|
|
6
|
+
includes:
|
|
7
|
+
skills:
|
|
8
|
+
- name: comments
|
|
9
|
+
required: true
|
|
10
|
+
commands:
|
|
11
|
+
- comments
|
|
12
|
+
agents: []
|
|
13
|
+
|
|
14
|
+
dependencies: []
|
|
15
|
+
|
|
16
|
+
config_schema:
|
|
17
|
+
user_mention:
|
|
18
|
+
type: string
|
|
19
|
+
description: Override the global user mention for this skill
|
|
20
|
+
ai_mentions:
|
|
21
|
+
type: string
|
|
22
|
+
description: Additional AI mentions to recognize (comma-separated)
|
|
23
|
+
default: ""
|
|
24
|
+
preserve_comments:
|
|
25
|
+
type: boolean
|
|
26
|
+
description: Keep original comments after addressing (vs removing them)
|
|
27
|
+
default: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: project
|
|
2
|
+
description: "Manage project context files for persistent AI memory across sessions. Load, update, or create project context before working on multi-session features."
|
|
3
|
+
version: 0.1.2
|
|
4
|
+
status: beta
|
|
5
|
+
|
|
6
|
+
includes:
|
|
7
|
+
skills:
|
|
8
|
+
- name: project
|
|
9
|
+
required: true
|
|
10
|
+
commands:
|
|
11
|
+
- project
|
|
12
|
+
agents: []
|
|
13
|
+
|
|
14
|
+
dependencies: []
|
|
15
|
+
|
|
16
|
+
config_schema:
|
|
17
|
+
projects_dir:
|
|
18
|
+
type: string
|
|
19
|
+
description: Path to projects directory (default varies by platform)
|
|
20
|
+
preset:
|
|
21
|
+
type: select
|
|
22
|
+
description: Output format for templates
|
|
23
|
+
default: "markdown"
|
|
24
|
+
options:
|
|
25
|
+
- markdown
|
|
26
|
+
- obsidian
|
package/dist/agents/README.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# Contributing Agents
|
|
2
|
-
|
|
3
|
-
Agents are specialized AI personas with specific expertise or roles. They augment the AI's capabilities for particular tasks.
|
|
4
|
-
|
|
5
|
-
## Directory Structure
|
|
6
|
-
|
|
7
|
-
Each agent is a directory containing:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
agents/
|
|
11
|
-
└── my-agent/
|
|
12
|
-
├── AGENT.yaml # Required: Manifest with metadata and persona
|
|
13
|
-
└── AGENT.md # Required: Documentation for users
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## AGENT.yaml (Manifest)
|
|
17
|
-
|
|
18
|
-
```yaml
|
|
19
|
-
name: my-agent # Must match directory name
|
|
20
|
-
description: Short description # Shown in TUI and listings
|
|
21
|
-
version: 1.0.0 # Semver
|
|
22
|
-
status: alpha # alpha | beta | stable (optional)
|
|
23
|
-
|
|
24
|
-
# Agent type (required)
|
|
25
|
-
mode: subagent # primary | subagent | all
|
|
26
|
-
|
|
27
|
-
# Tools this agent can use (optional)
|
|
28
|
-
tools:
|
|
29
|
-
- Read
|
|
30
|
-
- Glob
|
|
31
|
-
- Grep
|
|
32
|
-
- Bash
|
|
33
|
-
|
|
34
|
-
# Suggested triggers - phrases that might invoke this agent
|
|
35
|
-
triggers:
|
|
36
|
-
- "review my code"
|
|
37
|
-
- "check for bugs"
|
|
38
|
-
|
|
39
|
-
# Persona - system prompt additions for this agent (used if AGENT.md is minimal)
|
|
40
|
-
persona: |
|
|
41
|
-
You are a specialized assistant focused on...
|
|
42
|
-
|
|
43
|
-
Your priorities are:
|
|
44
|
-
1. First priority
|
|
45
|
-
2. Second priority
|
|
46
|
-
|
|
47
|
-
Always be specific and constructive.
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Agent Modes
|
|
51
|
-
|
|
52
|
-
- **`primary`** - Main agents you interact with directly. Cycle through them with Tab key.
|
|
53
|
-
- **`subagent`** - Specialized helpers invoked via @mention (e.g., `@code-reviewer check this`) or by primary agents.
|
|
54
|
-
- **`all`** - Agent works as both primary and subagent.
|
|
55
|
-
|
|
56
|
-
## AGENT.md (Documentation)
|
|
57
|
-
|
|
58
|
-
The AGENT.md file documents the agent for users:
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
---
|
|
62
|
-
name: my-agent
|
|
63
|
-
description: Short description (must match AGENT.yaml)
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
# My Agent
|
|
67
|
-
|
|
68
|
-
Description of what this agent does and when to use it.
|
|
69
|
-
|
|
70
|
-
## What It Does
|
|
71
|
-
|
|
72
|
-
- Bullet points of capabilities
|
|
73
|
-
- What it focuses on
|
|
74
|
-
- What it ignores
|
|
75
|
-
|
|
76
|
-
## Usage
|
|
77
|
-
|
|
78
|
-
Examples of how to invoke or use this agent.
|
|
79
|
-
|
|
80
|
-
## Output Format
|
|
81
|
-
|
|
82
|
-
Description of how the agent formats its responses.
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Example Agent
|
|
86
|
-
|
|
87
|
-
See `code-reviewer/` for a complete example:
|
|
88
|
-
|
|
89
|
-
- Reviews code for bugs, security issues, style
|
|
90
|
-
- Categorizes issues by severity (critical/warning/suggestion)
|
|
91
|
-
- References specific file and line numbers
|
|
92
|
-
|
|
93
|
-
## Ideas for Agents
|
|
94
|
-
|
|
95
|
-
- **test-writer** - Generates unit tests for code
|
|
96
|
-
- **doc-writer** - Writes documentation and comments
|
|
97
|
-
- **refactorer** - Suggests and applies refactoring patterns
|
|
98
|
-
- **security-auditor** - Deep security analysis
|
|
99
|
-
- **performance-optimizer** - Identifies performance bottlenecks
|
|
100
|
-
|
|
101
|
-
## Installation
|
|
102
|
-
|
|
103
|
-
When you install an agent via the TUI, droid:
|
|
104
|
-
|
|
105
|
-
1. Reads `AGENT.yaml` for metadata (name, description, tools)
|
|
106
|
-
2. Reads `AGENT.md` for the agent's instructions/persona
|
|
107
|
-
3. Combines them into a single `.md` file with frontmatter
|
|
108
|
-
4. Writes to `~/.claude/agents/{name}.md`
|
|
109
|
-
|
|
110
|
-
The installed format matches what Claude Code expects:
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
---
|
|
114
|
-
name: my-agent
|
|
115
|
-
description: Short description
|
|
116
|
-
tools: Read, Glob, Grep, Bash
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
[Content from AGENT.md]
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Testing Your Agent
|
|
123
|
-
|
|
124
|
-
1. Run `npm run build` to compile
|
|
125
|
-
2. Run `droid` to open the TUI
|
|
126
|
-
3. Navigate to Agents tab
|
|
127
|
-
4. Verify your agent appears with correct metadata
|
|
128
|
-
5. Install and verify it appears in `~/.claude/agents/`
|
|
129
|
-
|
|
130
|
-
## Checklist
|
|
131
|
-
|
|
132
|
-
- [ ] `AGENT.yaml` has all required fields (name, description, version, mode)
|
|
133
|
-
- [ ] `AGENT.md` contains the agent's instructions/persona
|
|
134
|
-
- [ ] Name matches directory name
|
|
135
|
-
- [ ] Description is clear and concise
|
|
136
|
-
- [ ] Mode is appropriate (subagent for specialized tasks, primary for main assistants)
|
|
137
|
-
- [ ] Tools list only includes what the agent needs
|
package/src/agents/README.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# Contributing Agents
|
|
2
|
-
|
|
3
|
-
Agents are specialized AI personas with specific expertise or roles. They augment the AI's capabilities for particular tasks.
|
|
4
|
-
|
|
5
|
-
## Directory Structure
|
|
6
|
-
|
|
7
|
-
Each agent is a directory containing:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
agents/
|
|
11
|
-
└── my-agent/
|
|
12
|
-
├── AGENT.yaml # Required: Manifest with metadata and persona
|
|
13
|
-
└── AGENT.md # Required: Documentation for users
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## AGENT.yaml (Manifest)
|
|
17
|
-
|
|
18
|
-
```yaml
|
|
19
|
-
name: my-agent # Must match directory name
|
|
20
|
-
description: Short description # Shown in TUI and listings
|
|
21
|
-
version: 1.0.0 # Semver
|
|
22
|
-
status: alpha # alpha | beta | stable (optional)
|
|
23
|
-
|
|
24
|
-
# Agent type (required)
|
|
25
|
-
mode: subagent # primary | subagent | all
|
|
26
|
-
|
|
27
|
-
# Tools this agent can use (optional)
|
|
28
|
-
tools:
|
|
29
|
-
- Read
|
|
30
|
-
- Glob
|
|
31
|
-
- Grep
|
|
32
|
-
- Bash
|
|
33
|
-
|
|
34
|
-
# Suggested triggers - phrases that might invoke this agent
|
|
35
|
-
triggers:
|
|
36
|
-
- "review my code"
|
|
37
|
-
- "check for bugs"
|
|
38
|
-
|
|
39
|
-
# Persona - system prompt additions for this agent (used if AGENT.md is minimal)
|
|
40
|
-
persona: |
|
|
41
|
-
You are a specialized assistant focused on...
|
|
42
|
-
|
|
43
|
-
Your priorities are:
|
|
44
|
-
1. First priority
|
|
45
|
-
2. Second priority
|
|
46
|
-
|
|
47
|
-
Always be specific and constructive.
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Agent Modes
|
|
51
|
-
|
|
52
|
-
- **`primary`** - Main agents you interact with directly. Cycle through them with Tab key.
|
|
53
|
-
- **`subagent`** - Specialized helpers invoked via @mention (e.g., `@code-reviewer check this`) or by primary agents.
|
|
54
|
-
- **`all`** - Agent works as both primary and subagent.
|
|
55
|
-
|
|
56
|
-
## AGENT.md (Documentation)
|
|
57
|
-
|
|
58
|
-
The AGENT.md file documents the agent for users:
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
---
|
|
62
|
-
name: my-agent
|
|
63
|
-
description: Short description (must match AGENT.yaml)
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
# My Agent
|
|
67
|
-
|
|
68
|
-
Description of what this agent does and when to use it.
|
|
69
|
-
|
|
70
|
-
## What It Does
|
|
71
|
-
|
|
72
|
-
- Bullet points of capabilities
|
|
73
|
-
- What it focuses on
|
|
74
|
-
- What it ignores
|
|
75
|
-
|
|
76
|
-
## Usage
|
|
77
|
-
|
|
78
|
-
Examples of how to invoke or use this agent.
|
|
79
|
-
|
|
80
|
-
## Output Format
|
|
81
|
-
|
|
82
|
-
Description of how the agent formats its responses.
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Example Agent
|
|
86
|
-
|
|
87
|
-
See `code-reviewer/` for a complete example:
|
|
88
|
-
|
|
89
|
-
- Reviews code for bugs, security issues, style
|
|
90
|
-
- Categorizes issues by severity (critical/warning/suggestion)
|
|
91
|
-
- References specific file and line numbers
|
|
92
|
-
|
|
93
|
-
## Ideas for Agents
|
|
94
|
-
|
|
95
|
-
- **test-writer** - Generates unit tests for code
|
|
96
|
-
- **doc-writer** - Writes documentation and comments
|
|
97
|
-
- **refactorer** - Suggests and applies refactoring patterns
|
|
98
|
-
- **security-auditor** - Deep security analysis
|
|
99
|
-
- **performance-optimizer** - Identifies performance bottlenecks
|
|
100
|
-
|
|
101
|
-
## Installation
|
|
102
|
-
|
|
103
|
-
When you install an agent via the TUI, droid:
|
|
104
|
-
|
|
105
|
-
1. Reads `AGENT.yaml` for metadata (name, description, tools)
|
|
106
|
-
2. Reads `AGENT.md` for the agent's instructions/persona
|
|
107
|
-
3. Combines them into a single `.md` file with frontmatter
|
|
108
|
-
4. Writes to `~/.claude/agents/{name}.md`
|
|
109
|
-
|
|
110
|
-
The installed format matches what Claude Code expects:
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
---
|
|
114
|
-
name: my-agent
|
|
115
|
-
description: Short description
|
|
116
|
-
tools: Read, Glob, Grep, Bash
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
[Content from AGENT.md]
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Testing Your Agent
|
|
123
|
-
|
|
124
|
-
1. Run `npm run build` to compile
|
|
125
|
-
2. Run `droid` to open the TUI
|
|
126
|
-
3. Navigate to Agents tab
|
|
127
|
-
4. Verify your agent appears with correct metadata
|
|
128
|
-
5. Install and verify it appears in `~/.claude/agents/`
|
|
129
|
-
|
|
130
|
-
## Checklist
|
|
131
|
-
|
|
132
|
-
- [ ] `AGENT.yaml` has all required fields (name, description, version, mode)
|
|
133
|
-
- [ ] `AGENT.md` contains the agent's instructions/persona
|
|
134
|
-
- [ ] Name matches directory name
|
|
135
|
-
- [ ] Description is clear and concise
|
|
136
|
-
- [ ] Mode is appropriate (subagent for specialized tasks, primary for main assistants)
|
|
137
|
-
- [ ] Tools list only includes what the agent needs
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|