Initialize a project for incremental multi-session development. Use when user wants to set up a new long-running project, says "init", or no feature_list.json exists yet.
Initializes a new project by clarifying requirements, researching documentation, and creating a comprehensive feature list for incremental development.
/plugin marketplace add mikkelkrogsholm/harness/plugin install harness@mikkelkrogsholm-harnessTransform a project description into scaffolding for incremental development.
BEFORE generating any features, analyze the project description critically:
Ask yourself:
Use AskUserQuestion to gather missing information. Example questions:
Do NOT proceed until you have enough clarity to create specific, implementable features.
If the user says "just use sensible defaults", document your assumptions explicitly in the feature list metadata.
Before creating features, search for relevant documentation for the chosen tech stack:
List all technologies, libraries, and APIs that will be used.
Use WebSearch to find official documentation for each technology:
Each feature should include relevant documentation URLs that the implementing agent will need.
Create three files that will guide long-running autonomous development:
Create a comprehensive feature breakdown with documentation references:
{
"project": "Project Name",
"created": "2025-01-08T12:00:00Z",
"tech_stack": {
"frontend": "Next.js 14",
"backend": "Node.js with tRPC",
"database": "PostgreSQL with Drizzle ORM",
"auth": "Better Auth",
"styling": "Tailwind CSS + shadcn/ui"
},
"assumptions": [
"Single-tenant application",
"English only (no i18n)",
"Desktop-first responsive design"
],
"features": [
{
"id": "F001",
"priority": 1,
"category": "core",
"description": "Set up Next.js 14 project with App Router and TypeScript",
"verification": [
"Run `npm run dev` starts development server",
"Navigate to localhost:3000 shows default page",
"TypeScript compilation succeeds with no errors"
],
"documentation": [
"https://nextjs.org/docs/getting-started/installation",
"https://nextjs.org/docs/app/building-your-application/routing"
],
"passes": false,
"completed_at": null
},
{
"id": "F002",
"priority": 1,
"category": "core",
"description": "Configure Drizzle ORM with PostgreSQL connection",
"verification": [
"Database connection succeeds",
"Can run `npm run db:push` to sync schema",
"Drizzle Studio accessible via `npm run db:studio`"
],
"documentation": [
"https://orm.drizzle.team/docs/get-started-postgresql",
"https://orm.drizzle.team/docs/drizzle-config-file"
],
"passes": false,
"completed_at": null
}
]
}
Feature Rules:
core, functional, ui, integration, polish"passes": falseCreate a session log file:
# Project: [Name]
# Created: [Timestamp]
# Total Features: [Count]
# Tech Stack: [Summary]
## Assumptions Made
- [List assumptions from clarification phase]
## Session Log
Create an environment setup script tailored to the chosen stack:
#!/bin/bash
set -e
# Install dependencies (customize for your stack)
npm install 2>/dev/null || pip install -r requirements.txt 2>/dev/null || true
# Add any project-specific setup here
# Examples:
# - Start development server in background
# - Set up database
# - Configure environment variables
echo "Dev environment ready"
Make it executable with: chmod +x init.sh
After creating the files, provide a summary:
Designs feature architectures by analyzing existing codebase patterns and conventions, then providing comprehensive implementation blueprints with specific files to create/modify, component designs, data flows, and build sequences