@orderful/droid 0.17.1 → 0.18.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/.github/workflows/claude-code-review.yml +58 -0
- package/.github/workflows/claude.yml +50 -0
- package/CHANGELOG.md +28 -0
- package/dist/bin/droid.js +33 -1
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/lib/skills.d.ts.map +1 -1
- package/dist/lib/tools.d.ts.map +1 -1
- package/dist/tools/brain/TOOL.yaml +3 -3
- package/{src/tools/brain/skills/brain → dist/tools/brain/skills/droid-brain}/SKILL.md +1 -1
- package/dist/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/SKILL.md +1 -1
- package/dist/tools/coach/TOOL.yaml +2 -2
- package/dist/tools/coach/skills/{coach → droid-coach}/SKILL.md +1 -1
- package/dist/tools/code-review/TOOL.yaml +2 -2
- package/dist/tools/code-review/skills/{code-review → droid-code-review}/SKILL.md +1 -1
- package/dist/tools/comments/TOOL.yaml +2 -2
- package/dist/tools/comments/skills/{comments → droid-comments}/SKILL.md +1 -1
- package/dist/tools/project/TOOL.yaml +2 -2
- package/{src/tools/project/skills/project → dist/tools/project/skills/droid-project}/SKILL.md +1 -1
- package/package.json +1 -1
- package/src/commands/tui.tsx +10 -2
- package/src/lib/skills.ts +47 -0
- package/src/lib/tools.ts +16 -2
- package/src/tools/brain/TOOL.yaml +3 -3
- package/{dist/tools/brain/skills/brain → src/tools/brain/skills/droid-brain}/SKILL.md +1 -1
- package/src/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/SKILL.md +1 -1
- package/src/tools/coach/TOOL.yaml +2 -2
- package/src/tools/coach/skills/{coach → droid-coach}/SKILL.md +1 -1
- package/src/tools/code-review/TOOL.yaml +2 -2
- package/src/tools/code-review/skills/{code-review → droid-code-review}/SKILL.md +1 -1
- package/src/tools/comments/TOOL.yaml +2 -2
- package/src/tools/comments/skills/{comments → droid-comments}/SKILL.md +1 -1
- package/src/tools/project/TOOL.yaml +2 -2
- package/{dist/tools/project/skills/project → src/tools/project/skills/droid-project}/SKILL.md +1 -1
- /package/dist/tools/brain/skills/{brain → droid-brain}/references/metadata.md +0 -0
- /package/dist/tools/brain/skills/{brain → droid-brain}/references/naming.md +0 -0
- /package/dist/tools/brain/skills/{brain → droid-brain}/references/templates.md +0 -0
- /package/dist/tools/brain/skills/{brain → droid-brain}/references/workflows.md +0 -0
- /package/dist/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/templates.md +0 -0
- /package/dist/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/workflows.md +0 -0
- /package/dist/tools/project/skills/{project → droid-project}/references/changelog.md +0 -0
- /package/dist/tools/project/skills/{project → droid-project}/references/creating.md +0 -0
- /package/dist/tools/project/skills/{project → droid-project}/references/loading.md +0 -0
- /package/dist/tools/project/skills/{project → droid-project}/references/templates.md +0 -0
- /package/dist/tools/project/skills/{project → droid-project}/references/updating.md +0 -0
- /package/dist/tools/project/skills/{project → droid-project}/references/versioning.md +0 -0
- /package/src/tools/brain/skills/{brain → droid-brain}/references/metadata.md +0 -0
- /package/src/tools/brain/skills/{brain → droid-brain}/references/naming.md +0 -0
- /package/src/tools/brain/skills/{brain → droid-brain}/references/templates.md +0 -0
- /package/src/tools/brain/skills/{brain → droid-brain}/references/workflows.md +0 -0
- /package/src/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/templates.md +0 -0
- /package/src/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/workflows.md +0 -0
- /package/src/tools/project/skills/{project → droid-project}/references/changelog.md +0 -0
- /package/src/tools/project/skills/{project → droid-project}/references/creating.md +0 -0
- /package/src/tools/project/skills/{project → droid-project}/references/loading.md +0 -0
- /package/src/tools/project/skills/{project → droid-project}/references/templates.md +0 -0
- /package/src/tools/project/skills/{project → droid-project}/references/updating.md +0 -0
- /package/src/tools/project/skills/{project → droid-project}/references/versioning.md +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: Claude Code Review
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
# Run only when PR is opened or converted from draft to ready
|
|
6
|
+
types: [opened, ready_for_review]
|
|
7
|
+
# Optional: Only run on specific file changes
|
|
8
|
+
# paths:
|
|
9
|
+
# - "src/**/*.ts"
|
|
10
|
+
# - "src/**/*.tsx"
|
|
11
|
+
# - "src/**/*.js"
|
|
12
|
+
# - "src/**/*.jsx"
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
claude-review:
|
|
16
|
+
# Optional: Filter by PR author
|
|
17
|
+
# if: |
|
|
18
|
+
# github.event.pull_request.user.login == 'external-contributor' ||
|
|
19
|
+
# github.event.pull_request.user.login == 'new-developer' ||
|
|
20
|
+
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
|
|
21
|
+
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
permissions:
|
|
24
|
+
contents: read
|
|
25
|
+
pull-requests: read
|
|
26
|
+
issues: read
|
|
27
|
+
id-token: write
|
|
28
|
+
|
|
29
|
+
steps:
|
|
30
|
+
- name: Checkout repository
|
|
31
|
+
uses: actions/checkout@v4
|
|
32
|
+
with:
|
|
33
|
+
fetch-depth: 1
|
|
34
|
+
|
|
35
|
+
- name: Run Claude Code Review
|
|
36
|
+
id: claude-review
|
|
37
|
+
uses: anthropics/claude-code-action@v1
|
|
38
|
+
with:
|
|
39
|
+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
40
|
+
prompt: |
|
|
41
|
+
REPO: ${{ github.repository }}
|
|
42
|
+
PR NUMBER: ${{ github.event.pull_request.number }}
|
|
43
|
+
|
|
44
|
+
Please review this pull request and provide feedback on:
|
|
45
|
+
- Code quality and best practices
|
|
46
|
+
- Potential bugs or issues
|
|
47
|
+
- Performance considerations
|
|
48
|
+
- Security concerns
|
|
49
|
+
- Test coverage
|
|
50
|
+
|
|
51
|
+
Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback.
|
|
52
|
+
|
|
53
|
+
Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR.
|
|
54
|
+
|
|
55
|
+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
|
56
|
+
# or https://code.claude.com/docs/en/cli-reference for available options
|
|
57
|
+
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'
|
|
58
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Claude Code
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issue_comment:
|
|
5
|
+
types: [created]
|
|
6
|
+
pull_request_review_comment:
|
|
7
|
+
types: [created]
|
|
8
|
+
issues:
|
|
9
|
+
types: [opened, assigned]
|
|
10
|
+
pull_request_review:
|
|
11
|
+
types: [submitted]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
claude:
|
|
15
|
+
if: |
|
|
16
|
+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
17
|
+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
18
|
+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
|
19
|
+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
pull-requests: read
|
|
24
|
+
issues: read
|
|
25
|
+
id-token: write
|
|
26
|
+
actions: read # Required for Claude to read CI results on PRs
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout repository
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
with:
|
|
31
|
+
fetch-depth: 1
|
|
32
|
+
|
|
33
|
+
- name: Run Claude Code
|
|
34
|
+
id: claude
|
|
35
|
+
uses: anthropics/claude-code-action@v1
|
|
36
|
+
with:
|
|
37
|
+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
38
|
+
|
|
39
|
+
# This is an optional setting that allows Claude to read CI results on PRs
|
|
40
|
+
additional_permissions: |
|
|
41
|
+
actions: read
|
|
42
|
+
|
|
43
|
+
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
|
|
44
|
+
# prompt: 'Update the pull request description to include a summary of changes.'
|
|
45
|
+
|
|
46
|
+
# Optional: Add claude_args to customize behavior and configuration
|
|
47
|
+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
|
48
|
+
# or https://code.claude.com/docs/en/cli-reference for available options
|
|
49
|
+
# claude_args: '--allowed-tools Bash(gh pr:*)'
|
|
50
|
+
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @orderful/droid
|
|
2
2
|
|
|
3
|
+
## 0.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#102](https://github.com/Orderful/droid/pull/102) [`e45e61d`](https://github.com/Orderful/droid/commit/e45e61d812fe9d58288d7976650dda474f568516) Thanks [@frytyler](https://github.com/frytyler)! - **BREAKING:** Rename skill directories to `droid-*` prefix as workaround for Claude Code bug
|
|
8
|
+
|
|
9
|
+
> **Versioning Note:** This changeset uses `minor` for the droid package (0.17.2 → 0.18.0) per pre-1.0 semver convention where breaking changes are allowed in minor bumps. Individual tool versions receive `patch` bumps (0.2.4 → 0.2.5, etc.) since the tool interface remains unchanged - only internal skill directories are renamed.
|
|
10
|
+
|
|
11
|
+
Claude Code v2.0.75+ blocks direct user invocation of slash commands when a skill directory has the same name as the command. Renamed all skill directories from `{name}/` to `droid-{name}/` to avoid collision:
|
|
12
|
+
- `comments/` → `droid-comments/`
|
|
13
|
+
- `code-review/` → `droid-code-review/`
|
|
14
|
+
- `coach/` → `droid-coach/`
|
|
15
|
+
- `project/` → `droid-project/`
|
|
16
|
+
- `brain/` → `droid-brain/`
|
|
17
|
+
- `brain-obsidian/` → `droid-brain-obsidian/`
|
|
18
|
+
|
|
19
|
+
Command names remain unchanged (`/brain`, `/comments`, etc.). Tool names also remain unchanged - only internal skill directories are renamed.
|
|
20
|
+
|
|
21
|
+
**Migration:** After updating, affected tools will show as "update available" in the TUI. Click "Update" to automatically migrate to new skill directories. Old directories and config entries are automatically cleaned up during update - no manual intervention needed.
|
|
22
|
+
|
|
23
|
+
Bug report: https://github.com/anthropics/claude-code/issues/14945
|
|
24
|
+
|
|
25
|
+
## 0.17.2
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- [#92](https://github.com/Orderful/droid/pull/92) [`865ab78`](https://github.com/Orderful/droid/commit/865ab7894c49e168ea677d9906486ac1de29fcee) Thanks [@frytyler](https://github.com/frytyler)! - Fix auto-update for app not triggering when enabled
|
|
30
|
+
|
|
3
31
|
## 0.17.1
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
package/dist/bin/droid.js
CHANGED
|
@@ -334,6 +334,16 @@ function getInstalledToolVersion(toolName) {
|
|
|
334
334
|
if (installedTools[skillName]) {
|
|
335
335
|
return installedTools[skillName].version;
|
|
336
336
|
}
|
|
337
|
+
if (skillName.startsWith("droid-")) {
|
|
338
|
+
const oldSkillName = skillName.replace(/^droid-/, "");
|
|
339
|
+
if (installedTools[oldSkillName]) {
|
|
340
|
+
const version2 = installedTools[oldSkillName].version;
|
|
341
|
+
delete installedTools[oldSkillName];
|
|
342
|
+
setPlatformTools(config, installedTools);
|
|
343
|
+
saveConfig(config);
|
|
344
|
+
return version2;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
337
347
|
}
|
|
338
348
|
return null;
|
|
339
349
|
}
|
|
@@ -686,6 +696,22 @@ function installSkill(skillName) {
|
|
|
686
696
|
const targetSkillDir = join6(skillsPath, skillName);
|
|
687
697
|
const commandsPath = getCommandsInstallPath(config.platform);
|
|
688
698
|
const tools = getPlatformTools(config);
|
|
699
|
+
if (skillName.startsWith("droid-")) {
|
|
700
|
+
const oldSkillName = skillName.replace(/^droid-/, "");
|
|
701
|
+
const oldSkillDir = join6(skillsPath, oldSkillName);
|
|
702
|
+
if (existsSync4(oldSkillDir)) {
|
|
703
|
+
try {
|
|
704
|
+
rmSync(oldSkillDir, { recursive: true });
|
|
705
|
+
} catch (error) {
|
|
706
|
+
console.warn(`Warning: Could not remove old skill directory ${oldSkillDir}: ${error}`);
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
if (tools[oldSkillName]) {
|
|
710
|
+
delete tools[oldSkillName];
|
|
711
|
+
setPlatformTools(config, tools);
|
|
712
|
+
saveConfig(config);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
689
715
|
const commandsSource = join6(toolDir, "commands");
|
|
690
716
|
const agentsSource = join6(toolDir, "agents");
|
|
691
717
|
if (!tools[skillName]) {
|
|
@@ -1407,7 +1433,7 @@ async function updateCommand(tool, options) {
|
|
|
1407
1433
|
|
|
1408
1434
|
// src/commands/tui.tsx
|
|
1409
1435
|
import { render, Box as Box12, Text as Text13, useInput as useInput7, useApp as useApp2 } from "ink";
|
|
1410
|
-
import { useState as useState9 } from "react";
|
|
1436
|
+
import { useState as useState9, useEffect } from "react";
|
|
1411
1437
|
|
|
1412
1438
|
// src/commands/tui/constants.ts
|
|
1413
1439
|
var colors = {
|
|
@@ -2709,6 +2735,12 @@ function App() {
|
|
|
2709
2735
|
}
|
|
2710
2736
|
}
|
|
2711
2737
|
});
|
|
2738
|
+
useEffect(() => {
|
|
2739
|
+
const autoUpdateConfig = getAutoUpdateConfig();
|
|
2740
|
+
if (autoUpdateConfig.app && updateInfo.hasUpdate && view === "welcome" && !isUpdating) {
|
|
2741
|
+
handleUpdate();
|
|
2742
|
+
}
|
|
2743
|
+
}, [updateInfo.hasUpdate, view, isUpdating, handleUpdate]);
|
|
2712
2744
|
const proceedToNextView = () => {
|
|
2713
2745
|
if (!configExists()) {
|
|
2714
2746
|
setView("setup");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":"AAmdA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBhD"}
|
package/dist/index.js
CHANGED
|
@@ -694,6 +694,22 @@ function installSkill(skillName) {
|
|
|
694
694
|
const targetSkillDir = join6(skillsPath, skillName);
|
|
695
695
|
const commandsPath = getCommandsInstallPath(config.platform);
|
|
696
696
|
const tools = getPlatformTools(config);
|
|
697
|
+
if (skillName.startsWith("droid-")) {
|
|
698
|
+
const oldSkillName = skillName.replace(/^droid-/, "");
|
|
699
|
+
const oldSkillDir = join6(skillsPath, oldSkillName);
|
|
700
|
+
if (existsSync4(oldSkillDir)) {
|
|
701
|
+
try {
|
|
702
|
+
rmSync(oldSkillDir, { recursive: true });
|
|
703
|
+
} catch (error) {
|
|
704
|
+
console.warn(`Warning: Could not remove old skill directory ${oldSkillDir}: ${error}`);
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
if (tools[oldSkillName]) {
|
|
708
|
+
delete tools[oldSkillName];
|
|
709
|
+
setPlatformTools(config, tools);
|
|
710
|
+
saveConfig(config);
|
|
711
|
+
}
|
|
712
|
+
}
|
|
697
713
|
const commandsSource = join6(toolDir, "commands");
|
|
698
714
|
const agentsSource = join6(toolDir, "agents");
|
|
699
715
|
if (!tools[skillName]) {
|
package/dist/lib/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAsC,MAAM,SAAS,CAAC;AAY7H;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAqC9F;AAsBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2BxE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAwB7F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CA4BlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAI1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAkBA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,KAAK,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAiBD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAyBpF;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAiCA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAyD,MAAM,SAAS,CAAC;AAMnG;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAyBrE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,EAAE,CAmBhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAczD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCvE;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAyBtD"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
name: brain
|
|
2
2
|
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."
|
|
3
|
-
version: 0.2.
|
|
3
|
+
version: 0.2.2
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: brain
|
|
8
|
+
- name: droid-brain
|
|
9
9
|
required: true
|
|
10
|
-
- name: brain-obsidian
|
|
10
|
+
- name: droid-brain-obsidian
|
|
11
11
|
required: false
|
|
12
12
|
description: "Obsidian vault integration with YAML frontmatter and wikilinks"
|
|
13
13
|
commands:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: brain
|
|
2
|
+
name: droid-brain
|
|
3
3
|
description: "Collaborative scratchpad for planning and research. Use when planning a feature, exploring a problem, or capturing thinking that should persist across sessions. User prompts like 'let's think through', 'open a scratchpad', 'plan this out', 'use our brain'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/brain/**/*.md"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: coach
|
|
2
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.
|
|
3
|
+
version: 0.1.2
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: coach
|
|
8
|
+
- name: droid-coach
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- coach
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: coach
|
|
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
5
|
allowed-tools: Read, Grep, Glob
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: code-review
|
|
2
2
|
description: "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files with confidence scoring."
|
|
3
|
-
version: 0.1.
|
|
3
|
+
version: 0.1.2
|
|
4
4
|
status: alpha
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: code-review
|
|
8
|
+
- name: droid-code-review
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- code-review
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: code-review
|
|
2
|
+
name: droid-code-review
|
|
3
3
|
description: "Comprehensive code review using specialized agents. Use when reviewing PRs, checking staged changes, or analysing code quality. User prompts like 'review this PR', 'check my changes', 'review before I commit'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: comments
|
|
2
2
|
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."
|
|
3
|
-
version: 0.2.
|
|
3
|
+
version: 0.2.5
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: comments
|
|
8
|
+
- name: droid-comments
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- comments
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: comments
|
|
2
|
+
name: droid-comments
|
|
3
3
|
description: "Inline conversations using @droid/@user markers in any file. Use when leaving async questions in code or having discussion that should stay near the code. User prompts like 'check for comments', 'address the @droid markers', 'clean up resolved comments'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: project
|
|
2
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.
|
|
3
|
+
version: 0.1.4
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: project
|
|
8
|
+
- name: droid-project
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- project
|
package/{src/tools/project/skills/project → dist/tools/project/skills/droid-project}/SKILL.md
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: project
|
|
2
|
+
name: droid-project
|
|
3
3
|
description: "Persistent project context for AI memory across sessions. Use when working on multi-session features, refactors, or any work that benefits from accumulated context. User prompts like 'load the project', 'update project context', 'what's the current project?'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/PROJECT.md"
|
package/package.json
CHANGED
package/src/commands/tui.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { render, Box, Text, useInput, useApp } from 'ink';
|
|
2
|
-
import { useState } from 'react';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
3
|
import {
|
|
4
4
|
getBundledSkills,
|
|
5
5
|
installSkill,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
updateSkill,
|
|
8
8
|
} from '../lib/skills';
|
|
9
9
|
import { getBundledTools, isToolInstalled, getToolUpdateStatus } from '../lib/tools';
|
|
10
|
-
import { configExists, loadConfig } from '../lib/config';
|
|
10
|
+
import { configExists, loadConfig, getAutoUpdateConfig } from '../lib/config';
|
|
11
11
|
import { Platform, type ConfigOption, type ToolManifest } from '../lib/types';
|
|
12
12
|
import { getVersion } from '../lib/version';
|
|
13
13
|
import { type Tab, type View } from './tui/types';
|
|
@@ -60,6 +60,14 @@ function App() {
|
|
|
60
60
|
},
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
+
// Auto-update app if enabled and update available
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
const autoUpdateConfig = getAutoUpdateConfig();
|
|
66
|
+
if (autoUpdateConfig.app && updateInfo.hasUpdate && view === 'welcome' && !isUpdating) {
|
|
67
|
+
handleUpdate();
|
|
68
|
+
}
|
|
69
|
+
}, [updateInfo.hasUpdate, view, isUpdating, handleUpdate]);
|
|
70
|
+
|
|
63
71
|
const proceedToNextView = () => {
|
|
64
72
|
if (!configExists()) {
|
|
65
73
|
setView('setup');
|
package/src/lib/skills.ts
CHANGED
|
@@ -378,6 +378,53 @@ export function installSkill(skillName: string): { success: boolean; message: st
|
|
|
378
378
|
const commandsPath = getCommandsInstallPath(config.platform);
|
|
379
379
|
const tools = getPlatformTools(config);
|
|
380
380
|
|
|
381
|
+
// Clean up old skill directory if this is a renamed skill (v0.18.0 workaround for Claude Code bug)
|
|
382
|
+
// Renamed skills have 'droid-' prefix, so check for old directory without prefix
|
|
383
|
+
// Bug: https://github.com/anthropics/claude-code/issues/14945
|
|
384
|
+
//
|
|
385
|
+
// TO REVERSE WHEN BUG IS FIXED:
|
|
386
|
+
// 1. Rename directories: droid-comments/ → comments/, droid-brain/ → brain/, etc.
|
|
387
|
+
// 2. Update TOOL.yaml manifests back to original skill names
|
|
388
|
+
// 3. Update SKILL.md frontmatter back to original names
|
|
389
|
+
// 4. Replace this cleanup logic with inverse:
|
|
390
|
+
// const renamedSkills = ['comments', 'brain', 'project', 'coach', 'code-review', 'brain-obsidian'];
|
|
391
|
+
// if (renamedSkills.includes(skillName)) {
|
|
392
|
+
// const droidPrefixedName = `droid-${skillName}`;
|
|
393
|
+
// const droidPrefixedDir = join(skillsPath, droidPrefixedName);
|
|
394
|
+
// if (existsSync(droidPrefixedDir)) {
|
|
395
|
+
// rmSync(droidPrefixedDir, { recursive: true });
|
|
396
|
+
// }
|
|
397
|
+
// if (tools[droidPrefixedName]) {
|
|
398
|
+
// delete tools[droidPrefixedName];
|
|
399
|
+
// }
|
|
400
|
+
// }
|
|
401
|
+
// 5. Bump tool versions and create changeset
|
|
402
|
+
// Migration logic: Handle skills renamed from {name} to droid-{name} (v0.18.0 workaround)
|
|
403
|
+
// This handles both fresh installs and updates where old directory/config entries exist
|
|
404
|
+
if (skillName.startsWith('droid-')) {
|
|
405
|
+
const oldSkillName = skillName.replace(/^droid-/, '');
|
|
406
|
+
const oldSkillDir = join(skillsPath, oldSkillName);
|
|
407
|
+
|
|
408
|
+
// Remove or migrate old skill directory
|
|
409
|
+
if (existsSync(oldSkillDir)) {
|
|
410
|
+
try {
|
|
411
|
+
rmSync(oldSkillDir, { recursive: true });
|
|
412
|
+
} catch (error) {
|
|
413
|
+
// Non-fatal: Log warning but continue installation
|
|
414
|
+
console.warn(`Warning: Could not remove old skill directory ${oldSkillDir}: ${error}`);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// Migrate old config entry if it exists
|
|
419
|
+
// This allows tools to show as "update available" rather than "not installed"
|
|
420
|
+
if (tools[oldSkillName]) {
|
|
421
|
+
delete tools[oldSkillName];
|
|
422
|
+
// Save immediately to ensure cleanup is persisted (matches pattern in tools.ts)
|
|
423
|
+
setPlatformTools(config, tools);
|
|
424
|
+
saveConfig(config);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
381
428
|
// Commands and agents are at the tool level, not skill level
|
|
382
429
|
const commandsSource = join(toolDir, 'commands');
|
|
383
430
|
const agentsSource = join(toolDir, 'agents');
|
package/src/lib/tools.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { existsSync, readdirSync, readFileSync } from 'fs';
|
|
|
2
2
|
import { join, dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import YAML from 'yaml';
|
|
5
|
-
import { loadConfig } from './config';
|
|
6
|
-
import { type ToolManifest, type ToolIncludes, getPlatformTools } from './types';
|
|
5
|
+
import { loadConfig, saveConfig } from './config';
|
|
6
|
+
import { type ToolManifest, type ToolIncludes, getPlatformTools, setPlatformTools } from './types';
|
|
7
7
|
import { compareSemver } from './version';
|
|
8
8
|
|
|
9
9
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -108,6 +108,20 @@ export function getInstalledToolVersion(toolName: string): string | null {
|
|
|
108
108
|
if (installedTools[skillName]) {
|
|
109
109
|
return installedTools[skillName].version;
|
|
110
110
|
}
|
|
111
|
+
|
|
112
|
+
// Migration fallback (v0.18.0): Check for old skill name without droid- prefix
|
|
113
|
+
// This allows tools to show as "update available" rather than "not installed"
|
|
114
|
+
if (skillName.startsWith('droid-')) {
|
|
115
|
+
const oldSkillName = skillName.replace(/^droid-/, '');
|
|
116
|
+
if (installedTools[oldSkillName]) {
|
|
117
|
+
const version = installedTools[oldSkillName].version;
|
|
118
|
+
// Clean up stale config entry now that we've detected it
|
|
119
|
+
delete installedTools[oldSkillName];
|
|
120
|
+
setPlatformTools(config, installedTools);
|
|
121
|
+
saveConfig(config);
|
|
122
|
+
return version;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
111
125
|
}
|
|
112
126
|
|
|
113
127
|
return null;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
name: brain
|
|
2
2
|
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."
|
|
3
|
-
version: 0.2.
|
|
3
|
+
version: 0.2.2
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: brain
|
|
8
|
+
- name: droid-brain
|
|
9
9
|
required: true
|
|
10
|
-
- name: brain-obsidian
|
|
10
|
+
- name: droid-brain-obsidian
|
|
11
11
|
required: false
|
|
12
12
|
description: "Obsidian vault integration with YAML frontmatter and wikilinks"
|
|
13
13
|
commands:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: brain
|
|
2
|
+
name: droid-brain
|
|
3
3
|
description: "Collaborative scratchpad for planning and research. Use when planning a feature, exploring a problem, or capturing thinking that should persist across sessions. User prompts like 'let's think through', 'open a scratchpad', 'plan this out', 'use our brain'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/brain/**/*.md"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: coach
|
|
2
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.
|
|
3
|
+
version: 0.1.2
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: coach
|
|
8
|
+
- name: droid-coach
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- coach
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: coach
|
|
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
5
|
allowed-tools: Read, Grep, Glob
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: code-review
|
|
2
2
|
description: "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files with confidence scoring."
|
|
3
|
-
version: 0.1.
|
|
3
|
+
version: 0.1.2
|
|
4
4
|
status: alpha
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: code-review
|
|
8
|
+
- name: droid-code-review
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- code-review
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: code-review
|
|
2
|
+
name: droid-code-review
|
|
3
3
|
description: "Comprehensive code review using specialized agents. Use when reviewing PRs, checking staged changes, or analysing code quality. User prompts like 'review this PR', 'check my changes', 'review before I commit'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: comments
|
|
2
2
|
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."
|
|
3
|
-
version: 0.2.
|
|
3
|
+
version: 0.2.5
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: comments
|
|
8
|
+
- name: droid-comments
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- comments
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: comments
|
|
2
|
+
name: droid-comments
|
|
3
3
|
description: "Inline conversations using @droid/@user markers in any file. Use when leaving async questions in code or having discussion that should stay near the code. User prompts like 'check for comments', 'address the @droid markers', 'clean up resolved comments'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
name: project
|
|
2
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.
|
|
3
|
+
version: 0.1.4
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
7
7
|
skills:
|
|
8
|
-
- name: project
|
|
8
|
+
- name: droid-project
|
|
9
9
|
required: true
|
|
10
10
|
commands:
|
|
11
11
|
- project
|
package/{dist/tools/project/skills/project → src/tools/project/skills/droid-project}/SKILL.md
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: project
|
|
2
|
+
name: droid-project
|
|
3
3
|
description: "Persistent project context for AI memory across sessions. Use when working on multi-session features, refactors, or any work that benefits from accumulated context. User prompts like 'load the project', 'update project context', 'what's the current project?'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/PROJECT.md"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/templates.md
RENAMED
|
File without changes
|
/package/dist/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/workflows.md
RENAMED
|
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
|
/package/src/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/templates.md
RENAMED
|
File without changes
|
/package/src/tools/brain/skills/{brain-obsidian → droid-brain-obsidian}/references/workflows.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|