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.
@@ -0,0 +1,10 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git add:*)",
5
+ "Bash(git push:*)",
6
+ "Bash(npm publish:*)"
7
+ ],
8
+ "deny": []
9
+ }
10
+ }
package/README.md CHANGED
@@ -1,6 +1,19 @@
1
1
  # claude-fsd
2
2
 
3
- Claude Full Stack Development tools for managing development projects.
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
- ## Usage
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-dev
28
+ claudefsd
20
29
  ```
21
30
 
22
- ### claudefsd-plan
23
- Project planning and management tool.
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-plan
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
- ### claudefsd-plan-gen
30
- Plan generation utility.
43
+ ### Individual commands (if you know what you're doing)
31
44
 
32
- ```bash
33
- claudefsd-plan-gen
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
- (codex --full-auto -q "
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"
@@ -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
- echo "Running codex o3 (results won't display)..."
59
- codex -m o3 --full-auto -q "$prompt1" > $LOGFILE-ba2
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
- /usr/local/bin/claudefsd-plan-gen
80
+ $(dirname "$0")/claudefsd-plan-gen
@@ -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
- echo "Running codex o3 (results won't display)..."
55
- codex -m o3 --full-auto -q "$prompt2" > $LOGFILE-ba4-$round
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 $0 to cover more questions."
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.0.0",
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"