project-scaffolding
SKILL.md
Project Scaffolding Skill
Overview
Standardized project initialization workflow with templates, boilerplate generation, and structure patterns. Ensures new projects start with consistent, well-organized foundations.
Type
workflow
When to Invoke
Trigger keywords: scaffold, new project, boilerplate, template, initialize, project structure, bootstrap, starter, setup
Trigger phrases:
- "create a new project"
- "set up a new app"
- "initialize the project"
- "bootstrap a new..."
- "scaffold a..."
Project Type Selection
| Type | Use When | Key Files |
|---|---|---|
| Web App | Frontend/fullstack, browser-based | package.json, index.html, src/, public/ |
| API/Backend | REST/GraphQL services | app.py or main.ts, routes/, models/ |
| CLI Tool | Command-line applications | cli.py or index.ts, commands/ |
| Library | Reusable package/module | lib/, src/, package.json or pyproject.toml |
| Microservice | Distributed service | Dockerfile, kubernetes/, src/ |
| Monorepo | Multiple packages | packages/, apps/, turbo.json or nx.json |
Essential Files Checklist
Every project MUST have:
Root Files
-
.gitignore- Appropriate for language/framework -
README.md- Project overview, setup, usage -
LICENSE- If open source
Configuration
- Language config (
pyproject.toml,package.json,cargo.toml) - Editor config (
.editorconfigor IDE settings) - Linter/formatter config (eslint, prettier, ruff, black)
Development
-
./tmp/- For temporary/test files -
./docs/- Documentation folder (invokedocumentation-standardsskill) - Test directory (
tests/,__tests__/,spec/)
Optional but Recommended
-
Dockerfile- Container definition -
docker-compose.yml- Local development -
.env.example- Environment variable template -
Makefileorjustfile- Common commands
Directory Structures
Python Project
project/
├── src/
│ └── project/
│ ├── __init__.py
│ ├── main.py
│ └── modules/
├── tests/
│ ├── __init__.py
│ ├── test_main.py
│ └── fixtures/
├── docs/
├── tmp/
├── pyproject.toml
├── README.md
└── .gitignore
TypeScript/Node Project
project/
├── src/
│ ├── index.ts
│ ├── types/
│ └── modules/
├── tests/
│ └── *.test.ts
├── docs/
├── tmp/
├── package.json
├── tsconfig.json
├── README.md
└── .gitignore
API Project
project/
├── src/
│ ├── app.ts (or main.py)
│ ├── routes/
│ ├── controllers/
│ ├── models/
│ ├── services/
│ ├── middleware/
│ └── utils/
├── tests/
├── docs/
│ ├── API_REFERENCE.md
│ └── SCHEMAS.md
├── tmp/
├── Dockerfile
├── docker-compose.yml
└── README.md
Technology Selection Framework
When choosing tech stack, consider:
Language Selection
| Factor | Python | TypeScript | Go | Rust |
|---|---|---|---|---|
| Rapid prototyping | Excellent | Good | Moderate | Slow |
| Performance | Moderate | Moderate | Excellent | Excellent |
| Type safety | Optional | Excellent | Good | Excellent |
| Ecosystem | Massive | Massive | Growing | Growing |
| Learning curve | Low | Low | Moderate | High |
Framework Selection
| Use Case | Python | TypeScript | Go |
|---|---|---|---|
| REST API | FastAPI, Flask | Express, Fastify | Gin, Echo |
| Web App | Django, FastAPI | Next.js, Nuxt | - |
| CLI | Click, Typer | Commander, Yargs | Cobra |
| Data | Pandas, Polars | - | - |
Database Selection
| Type | Options | Use When |
|---|---|---|
| Relational | PostgreSQL, SQLite | Structured data, transactions |
| Document | MongoDB | Flexible schemas, rapid iteration |
| Key-Value | Redis | Caching, sessions |
| Graph | Neo4j | Relationship-heavy data |
Initialization Workflow
Step 1: Define Project Type
- What problem does this solve?
- Who is the user?
- What's the deployment target?
Step 2: Select Technology
- Language based on requirements
- Framework based on use case
- Database based on data model
Step 3: Create Structure
- Use appropriate directory template
- Create all essential files
- Initialize version control
Step 4: Configure Development
- Set up linting/formatting
- Configure testing framework
- Create development environment
Step 5: Document
- Write README with setup instructions
- Invoke
documentation-standardsskill - Create initial architecture docs
Anti-Patterns to Avoid
| Anti-Pattern | Why Bad | Do Instead |
|---|---|---|
| No .gitignore | Commits secrets, artifacts | Always create appropriate .gitignore |
| Flat structure | Doesn't scale | Use module/feature folders |
| No tests folder | Testing becomes afterthought | Create tests/ from start |
| Hardcoded config | Environment-specific | Use .env files |
| No docs folder | Documentation neglected | Create docs/ immediately |
Integration
Works with:
documentation-standards- For project documentationtdd-workflow- For test setuparchitecture-patterns- For design decisions/newappcommand - Invokes this skill automatically
Ensures consistent, well-structured project initialization
Weekly Installs
1
Repository
seqis/openclaw-…ude-codeGitHub Stars
31
First Seen
12 days ago
Security Audits
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1