What’s New

Starting a new project with .pip is now as simple as answering 6 questions. The new interactive bootstrap wizard captures your user story and automatically generates personalized project documentation—mission statement, README, activity log, and changelog—all customized to your specific project.

The Problem

Previously, setting up a new project with .pip required:

  1. Manually editing docs/mission.md with your project details
  2. Customizing the README.md to reflect your use case
  3. Understanding the template structure before making changes
  4. Risk of forgetting to update key sections

This created friction at the most critical moment: project inception.

The Solution

./.pip/bin/bootstrap-project.sh

One command launches an interactive wizard that asks:

  1. Project Name - What should we call this?
  2. Who It Serves - Your primary users
  3. Problem - What pain point are you solving?
  4. Solution - How does your project address it?
  5. Differentiator - What makes it unique?
  6. Project Type - Web app, mobile, CLI, etc.

In 60 seconds, you get:

Example Output

Here’s what the wizard generates for “TaskFlow,” a time-tracking app for freelancers:

Generated mission.md

# Mission: TaskFlow

## Who It Serves
- **Primary user**: Freelancers and consultants

## Problem We Solve
Tracking billable hours is tedious and error-prone

## Solution Overview
Automated time tracking with smart project switching

**Differentiator**: AI auto-categorizes tasks based on context

## Project Type
Web application

Generated README.md

# TaskFlow

Automated time tracking with smart project switching

## Problem
Tracking billable hours is tedious and error-prone

## Solution
Web application that automated time tracking with smart project switching

**What makes it different**: AI auto-categorizes tasks based on context

Clean, professional, and ready to build on.

Technical Details

The bootstrap script:

Implementation Highlights

# User-friendly input with printf + read (no control characters)
printf "   > "
read -r PROJECT_NAME

# Sanitize all inputs
PROJECT_NAME=$(echo "$PROJECT_NAME" | tr -d '[:cntrl:]')

# Generate personalized mission.md
cat > docs/mission.md << EOF
# Mission: ${PROJECT_NAME}
...
EOF

Integration with .pip Workflow

The bootstrap wizard fits seamlessly into the recommended setup flow:

  1. Add .pip as submodule: git submodule add git@github.com:derrybirkett/pip.git .pip
  2. Run bootstrap: ./.pip/bin/bootstrap-project.shNEW
  3. Initialize Nx: npx nx@latest init --integrated
  4. Apply infrastructure: ./.pip/bin/apply-nx-dev-infra.sh
  5. Start building: nx run infra:up

The bootstrap step is now highlighted in the README as the recommended first step.

Why This Matters

User stories are the foundation of product development. By capturing your story upfront, .pip ensures that:

This aligns perfectly with .pip’s LEAN methodology: validated learning starts with understanding who you serve and what problem you’re solving.

What’s Next

Future enhancements could include:

Try It Now

# In your new project directory
git submodule add git@github.com:derrybirkett/pip.git .pip
./.pip/bin/bootstrap-project.sh

Answer 6 questions, and you’re off to the races.


Links:

Previous: Fragment Compatibility Fixes