skills/project-types/SKILL.md
Project type definitions with type-specific questions, patterns, and stacks. Use when: determining project architecture, asking type-specific questions. Referenced by: idea-validation, brainstorming, /ship command.
npx skillsauth add timequity/vibe-coder project-typesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Quick lookup for type-specific questions, patterns, and recommended stacks.
| Type | Complexity | Default PRD | Recommended Stack | |------|------------|-------------|-------------------| | CLI Tool | Low | Minimal | Rust (clap) | | REST API | Low-Medium | Minimal/Standard | Rust (axum) | | Web App | Medium | Standard | Rust + HTMX | | Telegram Bot | Medium | Standard | Rust (teloxide) | | Discord Bot | Medium | Standard | Rust (serenity) | | GraphQL API | Medium | Standard | Rust (async-graphql) | | Mobile App | High | Full | Flutter/React Native | | Data Pipeline | High | Full | Python/Rust | | Browser Extension | Medium | Standard | TypeScript |
clap for argument parsing--json for machine outputanyhow for error handling[dependencies]
clap = { version = "4", features = ["derive"] }
anyhow = "1"
serde_json = "1" # if JSON output
src/
main.rs # Entry point, arg parsing
lib.rs # Core logic
commands/ # Subcommand handlers (if needed)
GET /health[dependencies]
axum = "0.8"
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
tracing-subscriber = "0.3"
src/
main.rs # Server setup
lib.rs # Router, handlers
routes/ # Route modules
models/ # Data structures
middleware/ # Auth, logging
[dependencies]
axum = "0.8"
tokio = { version = "1", features = ["full"] }
askama = "0.12"
askama_axum = "0.4"
tower-http = { version = "0.6", features = ["fs"] }
src/
main.rs
lib.rs
routes/
templates/
base.html
pages/
components/
static/
css/
js/ (minimal)
[dependencies]
teloxide = { version = "0.13", features = ["macros"] }
tokio = { version = "1", features = ["full"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite"] } # if DB
serde = { version = "1", features = ["derive"] }
src/
main.rs # Bot setup
lib.rs # Command handlers
handlers/
commands.rs # /start, /help, etc
callbacks.rs # Button callbacks
state.rs # FSM states (if dialog)
db.rs # Database (if needed)
TELOXIDE_TOKEN/start and /help commands[dependencies]
serenity = { version = "0.12", features = ["framework", "standard_framework"] }
tokio = { version = "1", features = ["full"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite"] } # if DB
[dependencies]
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", features = ["json"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "postgres"] }
serde = { version = "1", features = ["derive"] }
chrono = "0.4"
src/
background.ts # Service worker
content.ts # Content script
popup/ # Popup UI
options/ # Options page
manifest.json
Need CLI tool?
→ Rust + clap
Need API?
→ REST: Rust + axum
→ GraphQL: Rust + async-graphql
Need Web UI?
→ Simple: Rust + HTMX
→ Complex SPA: Consider separate frontend
Need Bot?
→ Telegram: Rust + teloxide
→ Discord: Rust + serenity
Need Mobile?
→ Cross-platform: Flutter
→ Web skills: React Native
Need Data Processing?
→ Batch: Rust or Python
→ Stream: Rust + Tokio
development
Hidden quality gate that runs before showing "Done!" to user - ensures all tests pass, build succeeds, and requirements met before claiming completion
data-ai
Use when about to claim work is complete or fixed - requires running verification commands and confirming output before making any success claims
tools
Generate UI components from natural language descriptions. Use when: user asks for a page, component, or UI element. Triggers: "create page", "add component", "show form", "make button", "страница", "компонент", "форма".
content-media
10 ready-to-use themes with colors and fonts for consistent styling. Use when: applying visual themes to pages, components, or design systems. Triggers: "theme", "color palette", "color scheme", "fonts", "branding", "visual identity", "design system colors".