Initial commit
This commit is contained in:
150
skills/project-bootstrapper/SKILL.md
Normal file
150
skills/project-bootstrapper/SKILL.md
Normal file
@@ -0,0 +1,150 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user