claude-fsd 1.0.0 โ 1.1.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/settings.local.json +10 -0
- package/README.md +88 -15
- package/bin/check-dependencies.sh +63 -0
- package/bin/claudefsd +93 -0
- package/bin/claudefsd-dev +9 -1
- package/bin/claudefsd-plan +12 -3
- package/bin/claudefsd-plan-gen +12 -3
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# claude-fsd
|
|
2
2
|
|
|
3
|
-
Claude Full Stack Development
|
|
3
|
+
Claude Full Stack Development (FSD) - Your AI-powered development team in a box.
|
|
4
|
+
|
|
5
|
+
## What is this?
|
|
6
|
+
|
|
7
|
+
Remember when junior developers were going to be replaced by AI? Well, the tables have turned. As explained in the excellent article ["Revenge of the Junior Developer"](https://sourcegraph.com/blog/revenge-of-the-junior-developer), AI has actually made junior developers more powerful than ever.
|
|
8
|
+
|
|
9
|
+
This tool takes that concept to the next level by creating an entire **agent fleet** - multiple AI agents working together like a development team:
|
|
10
|
+
|
|
11
|
+
- ๐งโ๐ป **Developer Agent**: Writes code, implements features, fixes bugs
|
|
12
|
+
- ๐ **Planner Agent**: Breaks down tasks, manages the development roadmap
|
|
13
|
+
- ๐ **Reviewer Agent**: Reviews code quality, catches issues, ensures best practices
|
|
14
|
+
- ๐งช **Tester Agent**: Runs tests, validates changes, commits clean code
|
|
15
|
+
|
|
16
|
+
Think of it as having a full development team that never sleeps, never gets tired, and always follows best practices. The AI agents work in cycles, planning tasks, implementing them, reviewing the work, and then moving on to the next task.
|
|
4
17
|
|
|
5
18
|
## Installation
|
|
6
19
|
|
|
@@ -8,35 +21,95 @@ Claude Full Stack Development tools for managing development projects.
|
|
|
8
21
|
npm install -g claude-fsd
|
|
9
22
|
```
|
|
10
23
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
After installation, the following commands will be available globally:
|
|
14
|
-
|
|
15
|
-
### claudefsd-dev
|
|
16
|
-
Development environment management tool.
|
|
24
|
+
## Quick Start
|
|
17
25
|
|
|
26
|
+
Just run:
|
|
18
27
|
```bash
|
|
19
|
-
claudefsd
|
|
28
|
+
claudefsd
|
|
20
29
|
```
|
|
21
30
|
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
You'll get an interactive menu to choose what you want to do. It's that simple!
|
|
32
|
+
|
|
33
|
+
## Commands
|
|
24
34
|
|
|
35
|
+
### Main wrapper command
|
|
25
36
|
```bash
|
|
26
|
-
claudefsd
|
|
37
|
+
claudefsd # Interactive mode (recommended for beginners)
|
|
38
|
+
claudefsd dev # Jump straight into development mode
|
|
39
|
+
claudefsd plan # Jump straight into planning mode
|
|
40
|
+
claudefsd plan-gen # Generate a new project plan
|
|
27
41
|
```
|
|
28
42
|
|
|
29
|
-
###
|
|
30
|
-
Plan generation utility.
|
|
43
|
+
### Individual commands (if you know what you're doing)
|
|
31
44
|
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
#### claudefsd-dev
|
|
46
|
+
Runs the development agent fleet. This command:
|
|
47
|
+
- Reads your project plan from `docs/PLAN.md`
|
|
48
|
+
- Picks the next open task
|
|
49
|
+
- Assigns it to the developer agent
|
|
50
|
+
- Has the code reviewed by the reviewer agent
|
|
51
|
+
- Tests and commits the changes if everything looks good
|
|
52
|
+
- Repeats until all tasks are done
|
|
53
|
+
|
|
54
|
+
Every 4th cycle, it activates "megathinking mode" for architectural planning.
|
|
55
|
+
|
|
56
|
+
#### claudefsd-plan
|
|
57
|
+
Interactive planning session where you work with AI to:
|
|
58
|
+
- Define project requirements
|
|
59
|
+
- Break down complex features into tasks
|
|
60
|
+
- Prioritize and organize work
|
|
61
|
+
- Update the project roadmap
|
|
62
|
+
|
|
63
|
+
#### claudefsd-plan-gen
|
|
64
|
+
Generates an initial project plan from scratch based on:
|
|
65
|
+
- Your project requirements (`docs/REQUIREMENTS.md`)
|
|
66
|
+
- Any existing code or documentation
|
|
67
|
+
- Best practices for your tech stack
|
|
68
|
+
|
|
69
|
+
## How it Works
|
|
70
|
+
|
|
71
|
+
1. **You define what you want** in `docs/REQUIREMENTS.md`
|
|
72
|
+
2. **AI creates a plan** breaking it down into manageable tasks
|
|
73
|
+
3. **The agent fleet executes** the plan task by task
|
|
74
|
+
4. **You review and guide** the process when needed
|
|
75
|
+
|
|
76
|
+
The agents work in a continuous loop:
|
|
77
|
+
```
|
|
78
|
+
Plan โ Develop โ Review โ Test โ Commit โ Repeat
|
|
34
79
|
```
|
|
35
80
|
|
|
36
81
|
## Requirements
|
|
37
82
|
|
|
83
|
+
### Required
|
|
38
84
|
- Node.js >= 14.0.0
|
|
39
85
|
- Unix-like environment (macOS, Linux)
|
|
86
|
+
- [Claude CLI](https://docs.anthropic.com/en/docs/claude-code) (`claude` command)
|
|
87
|
+
|
|
88
|
+
### Optional (but recommended)
|
|
89
|
+
- [Codex](https://github.com/Codex-ai/codex) - For enhanced code review capabilities
|
|
90
|
+
- OpenAI API key - For Codex features (set `OPENAI_API_KEY` environment variable)
|
|
91
|
+
|
|
92
|
+
## Project Structure
|
|
93
|
+
|
|
94
|
+
Your project should have:
|
|
95
|
+
```
|
|
96
|
+
your-project/
|
|
97
|
+
โโโ docs/
|
|
98
|
+
โ โโโ PLAN.md # The development plan (tasks to do)
|
|
99
|
+
โ โโโ REQUIREMENTS.md # What you want built
|
|
100
|
+
โ โโโ QUESTIONS.md # Questions for clarification
|
|
101
|
+
โ โโโ IDEAS.md # Future ideas and improvements
|
|
102
|
+
โโโ logs/ # Logs from each AI session
|
|
103
|
+
โโโ BRIEF.md # Project overview (optional)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Tips for Success
|
|
107
|
+
|
|
108
|
+
1. **Start small** - Break down your project into small, clear tasks
|
|
109
|
+
2. **Be specific** - The clearer your requirements, the better the results
|
|
110
|
+
3. **Review regularly** - Check in on what the agents are doing
|
|
111
|
+
4. **Use version control** - The agents will commit changes, but you should review them
|
|
112
|
+
5. **Trust but verify** - The agents are good but not perfect
|
|
40
113
|
|
|
41
114
|
## License
|
|
42
115
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Colors for output
|
|
4
|
+
GREEN='\033[0;32m'
|
|
5
|
+
YELLOW='\033[0;33m'
|
|
6
|
+
RED='\033[0;31m'
|
|
7
|
+
NC='\033[0m' # No Color
|
|
8
|
+
|
|
9
|
+
# Function to check if a command exists
|
|
10
|
+
command_exists() {
|
|
11
|
+
command -v "$1" >/dev/null 2>&1
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
# Function to check dependencies
|
|
15
|
+
check_dependencies() {
|
|
16
|
+
local check_codex=${1:-true} # Check codex by default
|
|
17
|
+
local missing_deps=()
|
|
18
|
+
local warnings=()
|
|
19
|
+
|
|
20
|
+
# Check for claude
|
|
21
|
+
if ! command_exists claude; then
|
|
22
|
+
missing_deps+=("claude")
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
# Check for codex (optional but recommended)
|
|
26
|
+
if [ "$check_codex" = true ] && ! command_exists codex; then
|
|
27
|
+
warnings+=("codex is not installed. Some review features will be unavailable.")
|
|
28
|
+
warnings+=("Install it from: https://github.com/Codex-ai/codex")
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Check for OPENAI_API_KEY (optional for codex)
|
|
32
|
+
if [ "$check_codex" = true ] && [[ ! -v OPENAI_API_KEY ]] || [[ -z "$OPENAI_API_KEY" ]]; then
|
|
33
|
+
warnings+=("OPENAI_API_KEY is not set. Codex features will be limited.")
|
|
34
|
+
warnings+=("Set it with: export OPENAI_API_KEY='your-key-here'")
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
# Show critical errors
|
|
38
|
+
if [ ${#missing_deps[@]} -ne 0 ]; then
|
|
39
|
+
echo -e "${RED}โ Missing required dependencies:${NC}"
|
|
40
|
+
for dep in "${missing_deps[@]}"; do
|
|
41
|
+
echo -e " - $dep"
|
|
42
|
+
if [ "$dep" = "claude" ]; then
|
|
43
|
+
echo -e " Install from: https://docs.anthropic.com/en/docs/claude-code"
|
|
44
|
+
fi
|
|
45
|
+
done
|
|
46
|
+
echo
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# Show warnings
|
|
51
|
+
if [ ${#warnings[@]} -ne 0 ]; then
|
|
52
|
+
echo -e "${YELLOW}โ ๏ธ Optional dependencies:${NC}"
|
|
53
|
+
for warning in "${warnings[@]}"; do
|
|
54
|
+
echo -e " - $warning"
|
|
55
|
+
done
|
|
56
|
+
echo
|
|
57
|
+
fi
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
# If sourced directly, run the check
|
|
61
|
+
if [ "${BASH_SOURCE[0]}" = "${0}" ]; then
|
|
62
|
+
check_dependencies "$@"
|
|
63
|
+
fi
|
package/bin/claudefsd
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
# Colors for output
|
|
6
|
+
GREEN='\033[0;32m'
|
|
7
|
+
YELLOW='\033[0;33m'
|
|
8
|
+
RED='\033[0;31m'
|
|
9
|
+
NC='\033[0m' # No Color
|
|
10
|
+
|
|
11
|
+
# Source the dependency checker
|
|
12
|
+
source "$(dirname "$0")/check-dependencies.sh"
|
|
13
|
+
|
|
14
|
+
# Function to display the menu
|
|
15
|
+
show_menu() {
|
|
16
|
+
echo -e "${GREEN}๐ค Claude Full Stack Development (FSD) Tool${NC}"
|
|
17
|
+
echo
|
|
18
|
+
echo "This tool helps you manage development projects using AI agents."
|
|
19
|
+
echo "Think of it as your AI-powered development team!"
|
|
20
|
+
echo
|
|
21
|
+
echo "What would you like to do?"
|
|
22
|
+
echo
|
|
23
|
+
echo " 1) Development mode (default) - AI agents work on coding tasks"
|
|
24
|
+
echo " 2) Planning mode - AI agents help plan your project"
|
|
25
|
+
echo " 3) Generate initial plan - Create a new project plan from scratch"
|
|
26
|
+
echo " 4) Exit"
|
|
27
|
+
echo
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# Check dependencies first
|
|
31
|
+
check_dependencies
|
|
32
|
+
|
|
33
|
+
# If no arguments provided, show interactive menu
|
|
34
|
+
if [ $# -eq 0 ]; then
|
|
35
|
+
show_menu
|
|
36
|
+
read -p "Enter your choice [1]: " choice
|
|
37
|
+
choice=${choice:-1} # Default to 1 if empty
|
|
38
|
+
|
|
39
|
+
case $choice in
|
|
40
|
+
1)
|
|
41
|
+
echo -e "${GREEN}Starting development mode...${NC}"
|
|
42
|
+
echo
|
|
43
|
+
exec "$(dirname "$0")/claudefsd-dev"
|
|
44
|
+
;;
|
|
45
|
+
2)
|
|
46
|
+
echo -e "${GREEN}Starting planning mode...${NC}"
|
|
47
|
+
echo
|
|
48
|
+
exec "$(dirname "$0")/claudefsd-plan"
|
|
49
|
+
;;
|
|
50
|
+
3)
|
|
51
|
+
echo -e "${GREEN}Starting plan generation...${NC}"
|
|
52
|
+
echo
|
|
53
|
+
exec "$(dirname "$0")/claudefsd-plan-gen"
|
|
54
|
+
;;
|
|
55
|
+
4)
|
|
56
|
+
echo "Goodbye!"
|
|
57
|
+
exit 0
|
|
58
|
+
;;
|
|
59
|
+
*)
|
|
60
|
+
echo -e "${RED}Invalid choice. Please run again.${NC}"
|
|
61
|
+
exit 1
|
|
62
|
+
;;
|
|
63
|
+
esac
|
|
64
|
+
else
|
|
65
|
+
# If arguments provided, pass them through to the appropriate command
|
|
66
|
+
case "$1" in
|
|
67
|
+
dev)
|
|
68
|
+
shift
|
|
69
|
+
exec "$(dirname "$0")/claudefsd-dev" "$@"
|
|
70
|
+
;;
|
|
71
|
+
plan)
|
|
72
|
+
shift
|
|
73
|
+
exec "$(dirname "$0")/claudefsd-plan" "$@"
|
|
74
|
+
;;
|
|
75
|
+
plan-gen)
|
|
76
|
+
shift
|
|
77
|
+
exec "$(dirname "$0")/claudefsd-plan-gen" "$@"
|
|
78
|
+
;;
|
|
79
|
+
*)
|
|
80
|
+
echo -e "${RED}Unknown command: $1${NC}"
|
|
81
|
+
echo
|
|
82
|
+
echo "Usage: claudefsd [command]"
|
|
83
|
+
echo
|
|
84
|
+
echo "Commands:"
|
|
85
|
+
echo " dev - Run development mode"
|
|
86
|
+
echo " plan - Run planning mode"
|
|
87
|
+
echo " plan-gen - Generate initial plan"
|
|
88
|
+
echo
|
|
89
|
+
echo "Run without arguments for interactive mode."
|
|
90
|
+
exit 1
|
|
91
|
+
;;
|
|
92
|
+
esac
|
|
93
|
+
fi
|
package/bin/claudefsd-dev
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
set -e
|
|
4
4
|
|
|
5
|
+
# Check dependencies
|
|
6
|
+
$(dirname "$0")/check-dependencies.sh
|
|
7
|
+
|
|
5
8
|
# Add counter for loop iterations
|
|
6
9
|
LOOP_COUNTER=0
|
|
7
10
|
|
|
@@ -142,7 +145,9 @@ Do not include any additional commentary or explanations outside of these tagged
|
|
|
142
145
|
|
|
143
146
|
# run the static code reviewer (codex can't do the git push part yet, so we need to follow up with claude after)
|
|
144
147
|
# also run it in the background because it's very slow
|
|
145
|
-
|
|
148
|
+
# Only run if codex is available
|
|
149
|
+
if command -v codex >/dev/null 2>&1; then
|
|
150
|
+
(codex --full-auto -q "
|
|
146
151
|
You are the team's static code reviewer.
|
|
147
152
|
A developer has completed this task: $nexttask
|
|
148
153
|
The developer's notes are at $LOGFILE-developer .
|
|
@@ -166,6 +171,9 @@ the developer to complete the task properly.
|
|
|
166
171
|
If you have any questions of the user for the future, you can add them to QUESTIONS.md.
|
|
167
172
|
If you have any ideas for the future, you can add them to IDEAS.md.
|
|
168
173
|
" > $LOGFILE-reviewer) &
|
|
174
|
+
else
|
|
175
|
+
echo "Codex not available, skipping static code review" > $LOGFILE-reviewer
|
|
176
|
+
fi
|
|
169
177
|
|
|
170
178
|
echo -e "\033[32m==================================================================\033[0m"
|
|
171
179
|
echo -e "\033[32m== REVIEWING/TESTING/COMMITTING WORK\033[0m"
|
package/bin/claudefsd-plan
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
set -e
|
|
4
4
|
|
|
5
|
+
# Check dependencies
|
|
6
|
+
$(dirname "$0")/check-dependencies.sh
|
|
7
|
+
|
|
5
8
|
mkdir -p logs
|
|
6
9
|
|
|
7
10
|
# Use a temporary directory for tmp files, as codex is sandboxed to this directory
|
|
@@ -55,8 +58,14 @@ Focus on the user's brief and answers from docs/QUESTIONS.md, and the plan.
|
|
|
55
58
|
# run BA's
|
|
56
59
|
echo "Running claude..."
|
|
57
60
|
claude --dangerously-skip-permissions -p "$prompt1" | tee >(cat > $LOGFILE-ba1)
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
|
|
62
|
+
# Only run codex if available
|
|
63
|
+
if command -v codex >/dev/null 2>&1; then
|
|
64
|
+
echo "Running codex o3 (results won't display)..."
|
|
65
|
+
codex -m o3 --full-auto -q "$prompt1" > $LOGFILE-ba2
|
|
66
|
+
else
|
|
67
|
+
echo "Codex not available, skipping o3 analysis" > $LOGFILE-ba2
|
|
68
|
+
fi
|
|
60
69
|
|
|
61
70
|
echo -e "\033[32m==================================================================\033[0m"
|
|
62
71
|
echo -e "\033[32m== ANSWER THE QUESTIONS IN QUESTIONS.md\033[0m"
|
|
@@ -68,4 +77,4 @@ read -n 1 -s
|
|
|
68
77
|
echo "Opening QUESTIONS.md in $EDITOR..."
|
|
69
78
|
$EDITOR QUESTIONS.md
|
|
70
79
|
|
|
71
|
-
/
|
|
80
|
+
$(dirname "$0")/claudefsd-plan-gen
|
package/bin/claudefsd-plan-gen
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
set -e
|
|
4
4
|
|
|
5
|
+
# Check dependencies
|
|
6
|
+
$(dirname "$0")/check-dependencies.sh
|
|
7
|
+
|
|
5
8
|
mkdir -p logs
|
|
6
9
|
|
|
7
10
|
# Use a temporary directory for tmp files, as codex is sandboxed to this directory
|
|
@@ -51,14 +54,20 @@ Focus on the user's brief and answers from docs/QUESTIONS.md, and the plan.
|
|
|
51
54
|
# run BA's
|
|
52
55
|
echo "Running claude..."
|
|
53
56
|
claude --dangerously-skip-permissions -p "$prompt2" | tee >(cat > $LOGFILE-ba3-$round)
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
|
|
58
|
+
# Only run codex if available
|
|
59
|
+
if command -v codex >/dev/null 2>&1; then
|
|
60
|
+
echo "Running codex o3 (results won't display)..."
|
|
61
|
+
codex -m o3 --full-auto -q "$prompt2" > $LOGFILE-ba4-$round
|
|
62
|
+
else
|
|
63
|
+
echo "Codex not available, skipping o3 analysis" > $LOGFILE-ba4-$round
|
|
64
|
+
fi
|
|
56
65
|
|
|
57
66
|
echo -e "\033[32m==================================================================\033[0m"
|
|
58
67
|
echo -e "\033[32m== DONE\033[0m"
|
|
59
68
|
echo -e "\033[32m==================================================================\033[0m"
|
|
60
69
|
echo "You can now run claudefsd-dev to start the development process."
|
|
61
|
-
echo "Or do one more round of
|
|
70
|
+
echo "Or do one more round of claudefsd-plan to cover more questions."
|
|
62
71
|
|
|
63
72
|
|
|
64
73
|
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-fsd",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Claude Full Stack Development tools for managing development projects",
|
|
5
5
|
"bin": {
|
|
6
|
+
"claudefsd": "./bin/claudefsd",
|
|
6
7
|
"claudefsd-dev": "./bin/claudefsd-dev",
|
|
7
8
|
"claudefsd-plan": "./bin/claudefsd-plan",
|
|
8
9
|
"claudefsd-plan-gen": "./bin/claudefsd-plan-gen"
|