From 04673b1805e3005972fbf3b70e4540315ec62629 Mon Sep 17 00:00:00 2001 From: JeremyDev87 Date: Sat, 4 Apr 2026 11:52:15 +0900 Subject: [PATCH 1/2] feat(plugin): define canonical codingbuddy:* namespace policy (#1287) Add namespace-policy.md documenting that all future commands must use the codingbuddy:* prefix. Add namespacePolicy metadata to plugin.json. --- .../.claude-plugin/plugin.json | 6 +++ .../docs/namespace-policy.md | 42 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 packages/claude-code-plugin/docs/namespace-policy.md diff --git a/packages/claude-code-plugin/.claude-plugin/plugin.json b/packages/claude-code-plugin/.claude-plugin/plugin.json index 07821a68..44909b47 100644 --- a/packages/claude-code-plugin/.claude-plugin/plugin.json +++ b/packages/claude-code-plugin/.claude-plugin/plugin.json @@ -5,5 +5,11 @@ "author": { "name": "JeremyDev87", "email": "soundbrokaz@kakao.com" + }, + "namespacePolicy": { + "prefix": "codingbuddy", + "bareCommandsDeprecated": true, + "policyDoc": "docs/namespace-policy.md", + "note": "All new commands MUST use the codingbuddy:* namespace. Existing bare commands are migration targets." } } diff --git a/packages/claude-code-plugin/docs/namespace-policy.md b/packages/claude-code-plugin/docs/namespace-policy.md new file mode 100644 index 00000000..66dc0e2c --- /dev/null +++ b/packages/claude-code-plugin/docs/namespace-policy.md @@ -0,0 +1,42 @@ +# CodingBuddy Namespace Policy + +## Policy Statement + +CodingBuddy does **NOT** ship new bare top-level slash commands. All future commands use the `codingbuddy:*` namespace. Existing bare commands will be migrated to namespaced equivalents. + +This policy prevents collisions with Claude Code built-in commands and clearly identifies CodingBuddy-owned functionality. + +## Canonical Command Mapping + +| Legacy (bare) | Namespaced | Status | +| ------------- | ----------------------- | ---------------- | +| `/plan` | `/codingbuddy:plan` | migration target | +| `/act` | `/codingbuddy:act` | migration target | +| `/eval` | `/codingbuddy:eval` | migration target | +| `/auto` | `/codingbuddy:auto` | migration target | +| `/buddy` | `/codingbuddy:buddy` | migration target | +| `/checklist` | `/codingbuddy:checklist` | migration target | + +### Migration Notes + +- Legacy bare commands remain functional during the transition period. +- Once Claude Code fully supports the `plugin:command` namespace resolution, bare aliases will be removed. +- Both forms invoke the same underlying command file in `commands/`. + +## Keyword Workflow Retention + +The following keywords remain as primary workflow shortcuts: + +- **PLAN** — enter planning mode +- **ACT** — enter implementation mode +- **EVAL** — enter evaluation mode +- **AUTO** — enter autonomous cycle mode + +Keywords are **NOT** slash commands. They are workflow triggers detected by hooks and `parse_mode`. Keywords do not collide with any Claude Code namespace and require no migration. + +## Policy for New Commands + +1. All new commands **MUST** use the `codingbuddy:` prefix. +2. No exceptions for "convenient" short names. +3. Command files are placed in `commands/` and automatically discovered by the plugin system. +4. The namespaced form (`codingbuddy:`) is the canonical invocation. From b2260592a87285264c291a8b69cbcb6f223ed35d Mon Sep 17 00:00:00 2001 From: JeremyDev87 Date: Sat, 4 Apr 2026 11:55:55 +0900 Subject: [PATCH 2/2] fix(plugin): remove namespacePolicy from plugin.json to pass schema validation The plugin.json schema does not allow additionalProperties. Namespace policy is documented in docs/namespace-policy.md instead. --- packages/claude-code-plugin/.claude-plugin/plugin.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/claude-code-plugin/.claude-plugin/plugin.json b/packages/claude-code-plugin/.claude-plugin/plugin.json index 44909b47..07821a68 100644 --- a/packages/claude-code-plugin/.claude-plugin/plugin.json +++ b/packages/claude-code-plugin/.claude-plugin/plugin.json @@ -5,11 +5,5 @@ "author": { "name": "JeremyDev87", "email": "soundbrokaz@kakao.com" - }, - "namespacePolicy": { - "prefix": "codingbuddy", - "bareCommandsDeprecated": true, - "policyDoc": "docs/namespace-policy.md", - "note": "All new commands MUST use the codingbuddy:* namespace. Existing bare commands are migration targets." } }