Skip to main content

New Project Playbook

Step-by-step guide for starting a new software project.

Overview

This playbook covers everything needed to go from idea to first commit.

Checklist

Phase 1: Planning

  • Define the problem (Phase 1: Capture)
  • Validate the idea (Phase 2: Validate)
  • Create initial designs (Phase 3: Design)
  • Write PRD (Phase 4: Spec)

Phase 2: Setup

  • Choose tech stack
  • Set up repository
  • Configure development environment
  • Set up CI/CD
  • Configure deployment

Phase 3: Foundation

  • Create project structure
  • Set up database
  • Implement authentication
  • Create base UI components

Tech Stack Decision

Before starting, decide on:

LayerOptionsDecision
FrontendNext.js, React, Vue
BackendNode, Python, Go
DatabasePostgreSQL, MongoDB
HostingVercel, AWS, GCP
AuthClerk, Auth0, Custom

Document decisions in ADRs.

Repository Setup

# Create new repository
gh repo create [name] --private

# Clone and setup
git clone [repo-url]
cd [name]

# Initialize project (example for Next.js)
npx create-next-app@latest . --typescript

# Initial commit
git add .
git commit -m "Initial project setup"
git push

Project Structure

Recommended structure:

project/
├── src/
│ ├── app/ # Pages/routes
│ ├── components/ # UI components
│ ├── lib/ # Utilities
│ ├── services/ # API/external services
│ └── types/ # TypeScript types
├── tests/
├── docs/ # Project documentation
├── .env.example # Environment template
├── README.md
└── package.json

Environment Setup

  1. Create .env.example with all required variables
  2. Copy to .env.local for local development
  3. Configure production secrets in hosting platform

CI/CD Setup

Minimum CI pipeline:

  • Lint check
  • Type check
  • Unit tests
  • Build verification

Next Steps

After setup is complete:

  1. Start building core features
  2. Follow the Add Feature Playbook
  3. Prepare for Deployment