internal/skills/content/initialize-project/SKILL.md
Project initialization and setup workflow. Use when starting a new project, setting up AI-assisted development environment, or bootstrapping an existing codebase with Samuel framework structure.
npx skillsauth add ar4mirez/samuel initialize-projectInstall 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.
Set up new projects or adopt CLAUDE.md system in existing projects.
This skill handles two scenarios:
Both paths result in a fully configured .claude/ directory with project-specific context.
Ask user these questions to configure the project:
1. Tech Stack
2. Architecture
3. Testing
4. Deployment
5. Database
6. Additional Requirements
1. CLAUDE.md
Document all tech stack decisions and architecture.
2. Directory Structure Create language-appropriate structure (see references/process.md for templates).
3. Configuration Files Generate:
4. Essential Files
.gitignore (language-specific).env.example (with secure defaults)README.md (setup instructions)Automatically scan and analyze:
1. Tech Stack Detection
# Check package managers
ls package.json requirements.txt go.mod Cargo.toml
# Identify language
find . -name "*.ts" -o -name "*.py" -o -name "*.go" -o -name "*.rs"
2. Directory Structure Examination
3. Code Pattern Analysis
# Naming conventions
grep -r "function\|class\|interface" src/
# Testing patterns
head -20 tests/*.test.ts
# Database usage
grep -r "SELECT\|INSERT\|UPDATE" src/
4. Git History Review
# Commit message style
git log --pretty=format:"%s" -10
# Branching strategy
git branch -a
5. Existing Tooling Check
1. CLAUDE.md
Document discovered tech stack and observed patterns.
Example:
# Project: ExistingApp
## Discovered Tech Stack
- **Language**: TypeScript 5.1
- **Framework**: Next.js 14 (App Router)
- **Database**: PostgreSQL with Prisma ORM
- **Testing**: Jest + React Testing Library
- **Styling**: Tailwind CSS
- **Deployment**: Vercel
## Observed Patterns
- API routes in `app/api/`
- Components use `use client` directive
- Server actions for mutations
- Zod for API validation
- Conventional commits (mostly followed)
## Gaps Identified
- Test coverage: 45% (target: >60%)
- No pre-commit hooks
- ESLint config basic (missing recommended rules)
- Some files exceed 300 lines (needs refactoring)
- Missing .env.example
2. CLAUDE.md
Extract coding patterns from existing codebase.
Example:
# Patterns
## API Error Handling
All API routes use this pattern:
\`\`\`typescript
try {
const data = await validateInput(req.body);
const result = await service.process(data);
return NextResponse.json(result);
} catch (error) {
return handleAPIError(error);
}
\`\`\`
## Database Queries
Always use Prisma with error handling:
\`\`\`typescript
const user = await prisma.user.findUnique({
where: { id }
}).catch(handlePrismaError);
\`\`\`
3. Gap Analysis & Recommendations
Propose improvements:
Confirm with user:
Then proceed to:
.claude/New Projects:
# Install dependencies
npm install # or pip install -r requirements.txt
# Run tests (should pass even if empty)
npm test
# Start dev server
npm run dev
# Check linting
npm run lint
Existing Projects:
# Verify .claude/ structure created
ls .claude/
# Read project documentation
cat CLAUDE.md
# Review proposed improvements
cat CLAUDE.md
Review CLAUDE.md
Review CLAUDE.md (if existing project)
Prioritize Improvements (if existing project)
Start Development
.claude/Node.js:
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
Python:
python -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Go:
go clean -modcache
go mod download
Rust:
cargo clean
cargo build
Use version managers:
# Node.js
nvm install 20 && nvm use 20
# Python
pyenv install 3.11 && pyenv local 3.11
# Go
gvm install go1.21 && gvm use go1.21
# Rust
rustup update stable
Manually specify in CLAUDE.md:
# Project: MyApp
**Tech Stack**: TypeScript + React + Express
**Database**: PostgreSQL
**Testing**: Jest
Then: "I've updated project.md. Please load the appropriate language guide."
Edit .claude/skills/initialize-project/SKILL.md to customize:
Create .claude/company-standards.md:
# Company Standards
## Required Tools
- ESLint with company config
- Prettier with company config
- Husky for pre-commit hooks
## Required Files
- SECURITY.md
- CONTRIBUTING.md
- LICENSE (MIT)
## Deployment
- All projects deploy to AWS
- Use Terraform for infrastructure
- CI/CD via GitHub Actions
AI will reference this during initialization.
CLAUDE.md created with accurate tech stackCLAUDE.md created (if existing project).gitignore includes language-specific entries.env.example created with secure defaultsFor detailed templates and examples, see:
references/process.md - Full directory structures and configuration templates.claude/skills/{language}-guide/SKILL.md - Language-specific patternsRemember: Initialization is a one-time setup. The .claude/ directory grows organically as the project evolves. Don't over-document upfront - let patterns emerge naturally.
development
Zig language guardrails, patterns, and best practices for AI-assisted development. Use when working with Zig files (.zig), build.zig, or when the user mentions Zig. Provides comptime patterns, allocator conventions, C interop guidelines, and testing standards specific to this project's coding standards.
tools
WordPress framework guardrails, patterns, and best practices for AI-assisted development. Use when working with WordPress projects, or when the user mentions WordPress. Provides theme development, plugin architecture, REST API, blocks, and security guidelines.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs. Use when testing web apps, automating browser interactions, or debugging frontend issues.
tools
Suite of tools for creating elaborate, multi-component web applications using modern frontend technologies (React, Tailwind CSS, shadcn/ui). Use for complex projects requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX pages.