151 lines
4.1 KiB
Markdown
151 lines
4.1 KiB
Markdown
---
|
|
name: project-bootstrapper
|
|
description: Sets up new projects or improves existing projects with development best practices, tooling, documentation, and workflow automation. Use when user wants to start a new project, improve project structure, add development tooling, or establish professional workflows.
|
|
---
|
|
|
|
# Project Bootstrapper
|
|
|
|
Sets up new projects or improves existing projects with development best practices, tooling, documentation, and workflow automation.
|
|
|
|
## When to Use
|
|
|
|
- "set up a new project"
|
|
- "bootstrap this project"
|
|
- "add best practices"
|
|
- "improve project structure"
|
|
- "set up development tooling"
|
|
- "initialize project properly"
|
|
|
|
## What It Sets Up
|
|
|
|
### 1. Project Structure
|
|
- Standard directories (src/, tests/, docs/, scripts/, .github/)
|
|
- Logical file organization
|
|
- Structure improvements
|
|
|
|
### 2. Git Configuration
|
|
- Comprehensive `.gitignore`
|
|
- `.gitattributes` for line endings/diffs
|
|
- Git hooks (pre-commit, commit-msg)
|
|
- Branch protection patterns
|
|
- Git LFS if needed
|
|
|
|
### 3. Documentation
|
|
- Comprehensive `README.md`
|
|
- `CONTRIBUTING.md`
|
|
- Code documentation (JSDoc, docstrings)
|
|
- `CHANGELOG.md` structure
|
|
- Architecture docs if complex
|
|
|
|
### 4. Testing Setup
|
|
- Identify/suggest testing framework
|
|
- Test structure and conventions
|
|
- Example/template tests
|
|
- Configure test runners
|
|
- Coverage reporting
|
|
- Testing scripts/commands
|
|
|
|
### 5. Code Quality Tools
|
|
- Linters (ESLint, Pylint, etc.)
|
|
- Formatters (Prettier, Black, etc.)
|
|
- Type checking (TypeScript, mypy, etc.)
|
|
- Pre-commit hooks for quality
|
|
- Editor configs (.editorconfig)
|
|
- Code quality badges
|
|
|
|
### 6. Dependencies Management
|
|
- Package manager configuration
|
|
- Organize dependencies
|
|
- Check security vulnerabilities
|
|
- Set up dependency updates (Dependabot, Renovate)
|
|
- Create lock files
|
|
- Document dependency choices
|
|
|
|
### 7. Development Workflow
|
|
- Useful npm scripts / Makefile targets
|
|
- Environment variable templates (.env.example)
|
|
- Docker configuration if appropriate
|
|
- Development startup scripts
|
|
- Hot-reload / watch modes
|
|
- Document development workflow
|
|
|
|
### 8. CI/CD Setup
|
|
- GitHub Actions / GitLab CI config
|
|
- Automated testing
|
|
- Automated deployment (if applicable)
|
|
- Status badges
|
|
- Release automation
|
|
- Branch protection
|
|
|
|
## Approach
|
|
|
|
### Discovery Phase
|
|
|
|
Ask clarifying questions:
|
|
1. **Project type**: New or existing?
|
|
2. **Primary purpose**: Web app, library, CLI tool?
|
|
3. **Language/framework**: JS/TS, Python, Go, etc.?
|
|
4. **Collaboration**: Personal or team?
|
|
5. **Deployment target**: Server, cloud, mobile, desktop?
|
|
6. **Preferences**: Specific tools/frameworks?
|
|
7. **Scope**: Full setup or specific areas?
|
|
|
|
### Implementation Phase
|
|
|
|
1. **Analyze existing** structure (if existing project)
|
|
2. **Create plan** based on answers
|
|
3. **Show plan** and get approval
|
|
4. **Implement systematically** (one area at a time)
|
|
5. **Verify completeness**
|
|
6. **Provide handoff** documentation
|
|
|
|
## Customization
|
|
|
|
Adapts to:
|
|
- **Language ecosystem**: Node.js vs Python vs Go vs Rust
|
|
- **Project size**: Small script vs large app
|
|
- **Team size**: Solo vs collaborative
|
|
- **Maturity**: Startup speed vs enterprise standards
|
|
|
|
## Tools Used
|
|
|
|
- **AskUserQuestion**: Gather requirements
|
|
- **Write**: Create configuration files, documentation
|
|
- **Edit**: Update existing files
|
|
- **Bash**: Initialize tools (git init, npm init)
|
|
- **Read**: Analyze existing structure
|
|
- **Glob**: Find files to update
|
|
|
|
## Success Criteria
|
|
|
|
- All standard files present and configured
|
|
- Clear and complete documentation
|
|
- Documented development workflow
|
|
- Automated quality tooling (pre-commit hooks)
|
|
- Easy test execution
|
|
- Follows language/framework conventions
|
|
- Quick developer onboarding
|
|
- No obvious best practices missing
|
|
|
|
## Templates
|
|
|
|
- Node.js/TypeScript web app
|
|
- Python CLI tool
|
|
- Python web API (FastAPI/Flask)
|
|
- React/Next.js app
|
|
- Go service
|
|
- Rust CLI/library
|
|
|
|
## Integration
|
|
|
|
- **feature-planning**: For planning custom features
|
|
- **code-auditor**: For validating setup quality
|
|
- **codebase-documenter**: For generating detailed docs
|
|
|
|
## Scope Control
|
|
|
|
- **Full bootstrap**: Everything from scratch
|
|
- **Partial setup**: Specific areas only (e.g., "just add testing")
|
|
- **Improvement pass**: Enhance existing project
|
|
- **Audit + fix**: Check what's missing and add it
|