From bb91270797cbc1c980545e49dbc902a15cfdead8 Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sun, 30 Nov 2025 09:04:48 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 ++++++++ README.md | 3 ++ commands/generate-n-plans.md | 15 ++++++++++ commands/implement-plan.md | 28 +++++++++++++++++++ commands/research-feature.md | 20 ++++++++++++++ plugin.lock.json | 53 ++++++++++++++++++++++++++++++++++++ 6 files changed, 131 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 commands/generate-n-plans.md create mode 100644 commands/implement-plan.md create mode 100644 commands/research-feature.md create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..c4805a2 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "rpi-workflow", + "description": "A plugin that contains commands for the research -> plan -> implement workflow", + "version": "1.0.0", + "author": { + "name": "Víctor Barberà Quiñoa", + "email": "me@victorbarbera.dev" + }, + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f6f602e --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# rpi-workflow + +A plugin that contains commands for the research -> plan -> implement workflow diff --git a/commands/generate-n-plans.md b/commands/generate-n-plans.md new file mode 100644 index 0000000..e7106d1 --- /dev/null +++ b/commands/generate-n-plans.md @@ -0,0 +1,15 @@ +--- +argument-hint: [amount] [feature-id] +description: Create n amount of plans for a feature +--- + +THINK HARD. + +Generate $1 amount of plans for a feature with id $2, you'll use a sub-agent to generate each plan so that each plan is unique. + +A research file has already been gerated by a human or agent. Read it from .claude/research/[$2].md. If you can't find the research file, ask the user to provide the research. + +Then, think of n directions for the plans. Just think of the main directions, don't go into the details yet. +Then, trigger a sub-agent for each direction to generate a plan. The sub-agent will use the research from .claude/research/[$2].md to generate the plan. + +Once you have generated all the plans, return the plans in a file called .claude/plans/[$2].md, adding a comparison of the plans at the end. diff --git a/commands/implement-plan.md b/commands/implement-plan.md new file mode 100644 index 0000000..1f8780c --- /dev/null +++ b/commands/implement-plan.md @@ -0,0 +1,28 @@ +--- +argument-hint: [plan-id] [approach-id] +description: Implement a plan for a feature +--- + +Implement the plan that can be found in .claude/plans/[$1].md, if you can't find the plan, ask the user to provide the plan. + +Inside of the plan there might be more than one approach, implement the one with id $2, if you can't find the approach, ask the user to provide the approach. + +**[IMPORTANT] Git Worktree** +- Create a new worktree before starting to make changes. +- Use command `git worktree add .tree/[$1]-[$2]-claude-implementation -b claude/[$1]-[$2]`. +- ONLY USE THE WORKTREE FOR THE IMPLEMENTATION. + +**Process** +1- Ask the user if he wants to add details or changes to the plan. +2- Generate the todo list for the plan. +3- Implement the fisrt item of the todo list. +4- Ask the user for feedback. +5- Commit the changes (DON'T PUSH THEM). +6- Repeat the process until the plan is implemented. + +**IMPORTANT** +- Stick to the plan and the approach, don't start free styling. +- NEVER PUSH THE CHANGES. +- Don't test. +- Don't lint. +- Don't tscheck the code. diff --git a/commands/research-feature.md b/commands/research-feature.md new file mode 100644 index 0000000..a634b64 --- /dev/null +++ b/commands/research-feature.md @@ -0,0 +1,20 @@ +--- +argument-hint: [feature-id] +description: Research a feature and generate a file with hints for the planning agent +--- + +Read the initial research file in .claude/features/[$1].md that contains the feature description provided by the user. + +If you can't find the feature file, ask the user to provide the feature description. + +Then, research the codebase for usefull information about the feature: + +- If there are existing implementations, you can use them as a reference. +- If there are libraries or frameworks that can be used, you can use them as a reference. +- If there are README.md files that describe usefull information about the feature, you can use them as a reference. + +(Reference document pahts, don't copy over the code). + +DON'T PROPOSE ANYTHING. NO ESTIMATES. NO PLANS. NO IMPLEMENTATIONS. NO CODE. JUST RESEARCH. DON'T TRY TO TELL THE NEXT AGENT WHAT TO DO, HE KNOWS. NO TODOs. + +Once you have gathered all the information, return the research in a file called .claude/research/[$1].md. \ No newline at end of file diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..ea9c3fb --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,53 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:victor-barbera/cc-marketplace:plugins/rpi-workflow", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "4f87fe01cd6a7cacfea730d3a0ceedb74f126ec3", + "treeHash": "89630ef66a68688191313290d39bd4c2290d949f9fb3da631a54f21adc899a8e", + "generatedAt": "2025-11-28T10:28:55.635946Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "rpi-workflow", + "description": "A plugin that contains commands for the research -> plan -> implement workflow", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "0534f487879e9bcc09023bdea1f2fb29e6373f263d0549bda4b9ade781da7bc0" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "9bf019394b463e7fad8cf06580c4c4283af181d4f3ea96eb219a4af9ce14ea61" + }, + { + "path": "commands/generate-n-plans.md", + "sha256": "14ee11479dcd63f4c517823fc22ea29bedbe7832c330b568617165e0c46a29ed" + }, + { + "path": "commands/implement-plan.md", + "sha256": "a7e025d77b7683f85b5fb1affa2db2013e8e2cef85ed2d816551275996a3d8cc" + }, + { + "path": "commands/research-feature.md", + "sha256": "954371ed487620b065e8862d5f8dc79e0827efc3d5f04eb06d356c96fb9fa585" + } + ], + "dirSha256": "89630ef66a68688191313290d39bd4c2290d949f9fb3da631a54f21adc899a8e" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file