-
Notifications
You must be signed in to change notification settings - Fork 3
feat: add Claude Code configuration #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: add Claude Code configuration #20
Conversation
- Add CLAUDE.md that imports AGENTS.md for project context - Add .claude/settings.json with sessionStart hook - Add .claude/README.md with configuration guide - Add scripts/setup.sh for automated environment setup - Update .gitignore to commit CLAUDE.md (team config) while keeping CLAUDE.local.md ignored (personal config) The setup script automatically: - Verifies project structure - Installs FVM, Flutter, Melos, and DCM - Bootstraps the workspace - Generates code with build_runner - Runs flutter doctor to verify setup This enables Claude Code (web and CLI) to automatically configure the development environment and understand the project architecture.
|
To view this pull requests documentation preview, visit the following URL: Documentation is deployed and generated using docs.page. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds Claude Code integration to the SuperDeck project, enabling automated development environment setup and providing project context to Claude Code sessions.
- Introduces Claude Code configuration files with automatic session startup hooks
- Implements an automated setup script for installing and configuring Flutter development tools
- Configures context file to import project architecture documentation
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/setup.sh | Automated setup script that installs FVM, Flutter, Melos, DCM, and bootstraps the workspace |
| CLAUDE.md | Context file that imports AGENTS.md for Claude Code |
| .claude/settings.json | Claude Code configuration with sessionStart hook, model, and shell settings |
| .claude/README.md | Documentation for Claude Code configuration and setup script |
| .gitignore | Removes CLAUDE.md from ignore list to commit team configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Install Flutter via FVM | ||
| step "Step 4/9: Installing Flutter via FVM" | ||
|
|
||
| FLUTTER_CHANNEL=$(cat .fvmrc | grep '"flutter"' | cut -d'"' -f4) |
Copilot
AI
Nov 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The parsing of .fvmrc using grep and cut is fragile and assumes a specific JSON format. If the JSON formatting changes (e.g., different spacing, different quote styles), this will break. Consider using jq or a more robust JSON parser: FLUTTER_CHANNEL=$(cat .fvmrc | jq -r '.flutter')
| else | ||
| log_info "Installing FVM..." | ||
| dart pub global activate fvm | ||
| export PATH="$HOME/.pub-cache/bin:$PATH" |
Copilot
AI
Nov 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PATH export is redundant as the same path was already added at line 75. Consider removing this duplicate line.
| export PATH="$HOME/.pub-cache/bin:$PATH" |
| log_info "Flutter channel from .fvmrc: $FLUTTER_CHANNEL" | ||
|
|
||
| if [ -d ".fvm/flutter_sdk" ]; then | ||
| FLUTTER_VERSION=$(cd .fvm/flutter_sdk && bin/flutter --version | head -n1 || echo "unknown") |
Copilot
AI
Nov 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using cd in a subshell and relative path is fragile. Consider using an absolute path or checking the command more robustly: FLUTTER_VERSION=$(.fvm/flutter_sdk/bin/flutter --version | head -n1 || echo \"unknown\")
| FLUTTER_VERSION=$(cd .fvm/flutter_sdk && bin/flutter --version | head -n1 || echo "unknown") | |
| FLUTTER_VERSION=$("$(pwd)/.fvm/flutter_sdk/bin/flutter" --version | head -n1 || echo "unknown") |
while keeping CLAUDE.local.md ignored (personal config)
The setup script automatically:
This enables Claude Code (web and CLI) to automatically configure
the development environment and understand the project architecture.