Back to Home

Documentation

Everything you need to build in public with NowBuilding.

Getting Started

What is NowBuilding?

NowBuilding is a project management platform designed for building in public. It combines traditional task management with AI-powered ideation and agent integration, making it perfect for indie hackers, solo developers, and teams who want to share their progress transparently.

  • Create beautiful public project pages to share your progress
  • Organize work using an Azure DevOps-style hierarchy
  • Let AI agents work on your tasks automatically
  • Use AI to brainstorm and generate project requirements

Creating Your First Project

  1. Sign up at nowbuilding.tech/signup
  2. Create a project — give it a name and description
  3. Make it public (optional) — enable the public page in project settings
  4. Add work items — create epics, features, stories, tasks, and bugs
  5. Start building! — drag items across the kanban board as you progress

Understanding the Backlog

Your backlog is where all work items live. Items flow through statuses:

Backlog

Ideas and future work

Ready

Refined and ready to start

In Progress

Currently being worked on

In Review

Waiting for review

Done

Completed!

Blocked

Waiting for resolution

Features

Kanban Board

Visualize your work with a drag-and-drop kanban board. Move items between columns as work progresses. Filter by item type, assignee, or search by title.

Backlog Management

Manage your backlog with powerful filtering, sorting, and bulk actions. Prioritize work, set story points, and organize items into a hierarchy.

AI Ideation (PIL Framework)

Use the Productive Insight Loop (PIL) to brainstorm your project with AI. Chat about your idea and the AI will help you:

  • Refine your project vision
  • Generate a Product Requirements Document (PRD)
  • Create user stories and tasks
  • Identify potential challenges and solutions

Work Item Types

NowBuilding uses a hierarchy inspired by Azure DevOps:

🎯

Epic

Large initiatives that span multiple features. Examples: "User Authentication System", "Payment Integration"

Feature

Distinct functionality within an epic. Examples: "Social Login", "Stripe Checkout"

📖

User Story

User-focused requirements. Format: "As a [user], I want [goal] so that [benefit]"

Task

Specific, actionable work items. Examples: "Create login API endpoint", "Add password validation"

🐛

Bug

Defects that need fixing. Examples: "Login button unresponsive on mobile"

Public Project Pages

Share your progress with the world! Enable a public page for your project and anyone can see your kanban board, backlog, and progress. Perfect for:

  • Building in public and gathering feedback
  • Showing potential users what's coming
  • Demonstrating your work to employers or clients
  • Keeping stakeholders informed without giving access

AI Agent Integration

New Feature!

Let AI coding agents work on your project tasks. Agents can claim tasks, update progress, and mark items complete — all automatically.

What is the Agent API?

The Agent API allows AI coding assistants (like Claude, Cursor, GitHub Copilot, etc.) to interact with your project's task list. Agents can:

  • Fetch the recommended next task to work on
  • Claim tasks and mark them as in-progress
  • Update progress with notes
  • Complete tasks with summaries
  • Mark tasks as blocked when they hit obstacles
  • Create new tasks when they discover additional work

Enabling the Agent API

  1. Navigate to your project's Settings
  2. Click on Agent API in the sidebar
  3. Toggle Enable Agent Access
  4. Click Generate Key to create an API key
  5. Copy and securely store your key (it won't be shown again!)

Security Model

Project Isolation

Each API key only grants access to its specific project. Agents cannot see or modify other projects.

API Key Authentication

All requests must include a valid Bearer token. Keys can be regenerated or revoked at any time.

Activity Logging

All agent actions are logged for audit. See what agents did, when, and on which tasks.

API Endpoints

GET/api/agent/next

Get the recommended next task to work on. Returns the highest-priority available task with reasoning.

Request:

curl -H "Authorization: Bearer nb_agent_xxxxx" \
  https://nowbuilding.tech/api/agent/next

Response:

{
  "task": {
    "id": "abc-123",
    "title": "Implement login form",
    "description": "Create a login form with email/password",
    "type": "task",
    "status": "ready",
    "priority": "high",
    "acceptance_criteria": [...]
  },
  "reasoning": "High priority task with no blockers"
}
GET/api/agent/tasks

List all tasks. Supports filtering by status and type.

Request:

curl -H "Authorization: Bearer nb_agent_xxxxx" \
  "https://nowbuilding.tech/api/agent/tasks?status=ready&type=task"

Response:

{
  "tasks": [
    { "id": "abc-123", "title": "...", "status": "ready", ... },
    { "id": "def-456", "title": "...", "status": "ready", ... }
  ]
}
POST/api/agent/claim

Claim a task to start working on it. Moves task to in_progress.

Request:

curl -X POST -H "Authorization: Bearer nb_agent_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"task_id": "abc-123", "agent_identifier": "my-agent"}' \
  https://nowbuilding.tech/api/agent/claim

Response:

{
  "success": true,
  "task": { "id": "abc-123", "status": "in_progress", ... },
  "message": "Task claimed successfully"
}
POST/api/agent/update

Update progress on a task. Add notes or change status.

Request:

curl -X POST -H "Authorization: Bearer nb_agent_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"task_id": "abc-123", "notes": "Implemented form validation"}' \
  https://nowbuilding.tech/api/agent/update

Response:

{
  "success": true,
  "message": "Task updated successfully"
}
POST/api/agent/complete

Mark a task as complete (done or in_review).

Request:

curl -X POST -H "Authorization: Bearer nb_agent_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"task_id": "abc-123", "notes": "Added login form with tests"}' \
  https://nowbuilding.tech/api/agent/complete

Response:

{
  "success": true,
  "message": "Task completed successfully"
}
POST/api/agent/block

Mark a task as blocked with a reason.

Request:

curl -X POST -H "Authorization: Bearer nb_agent_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"task_id": "abc-123", "reason": "Need API credentials", "blocked_type": "access"}' \
  https://nowbuilding.tech/api/agent/block

Response:

{
  "success": true,
  "message": "Task marked as blocked"
}
POST/api/agent/create

Create a new task (for discovered work).

Request:

curl -X POST -H "Authorization: Bearer nb_agent_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"title": "Add rate limiting", "description": "...", "item_type": "task", "priority": "high"}' \
  https://nowbuilding.tech/api/agent/create

Response:

{
  "success": true,
  "task": { "id": "ghi-789", "title": "Add rate limiting", ... },
  "message": "Task created and added to backlog"
}

MCP Server Integration

What is MCP?

The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. NowBuilding provides an MCP server that lets tools like Claude Desktop and Cursor interact with your tasks natively.

Setup Instructions

  1. Clone or download the MCP server from your NowBuilding project's tools/mcp-server/ directory
  2. Install dependencies: npm install
  3. Configure your MCP-compatible tool (see examples below)

Available Tools

ToolDescription
nowbuilding_get_next_taskGet recommended next task
nowbuilding_list_tasksList tasks (with optional filters)
nowbuilding_claim_taskClaim a task to work on
nowbuilding_update_taskUpdate task progress
nowbuilding_complete_taskMark task as done
nowbuilding_block_taskMark task as blocked
nowbuilding_create_taskCreate a new task

Claude Desktop Configuration

Add to ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "nowbuilding": {
      "command": "node",
      "args": ["/absolute/path/to/tools/mcp-server/index.js"],
      "env": {
        "NOWBUILDING_API_KEY": "nb_agent_xxxxx"
      }
    }
  }
}

Cursor Configuration

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "nowbuilding": {
      "command": "node",
      "args": ["./tools/mcp-server/index.js"],
      "env": {
        "NOWBUILDING_API_KEY": "nb_agent_xxxxx"
      }
    }
  }
}

CLI Tool

Setup

  1. Save your API key:
    echo "nb_agent_xxxxx" > ~/.config/nowbuilding_key
    chmod 600 ~/.config/nowbuilding_key
  2. Add the CLI to your PATH:
    # Option 1: Symlink
    sudo ln -s /path/to/NowBuilding/tools/cli/nb /usr/local/bin/nb
    
    # Option 2: Add to PATH
    export PATH="/path/to/NowBuilding/tools/cli:$PATH"

Commands Reference

nb next

Get the recommended next task to work on

nb list [status] [--type type]

List tasks with optional filters

Examples:

nb list              # All tasks
nb list ready        # Ready tasks only
nb list --type bug   # Bugs only
nb list backlog --type task
nb show <task_id>

Show detailed information about a task

nb claim <task_id>

Claim a task and start working on it

nb update <task_id> "notes"

Update progress on a task

nb done <task_id> "notes"

Mark a task as complete

nb block <task_id> "reason" [type]

Mark a task as blocked

Examples:

nb block abc-123 "Need DB credentials" access
nb block abc-123 "Waiting for design review" decision
nb create "title" ["description"] [type] [priority]

Create a new task

Examples:

nb create "Fix login bug"
nb create "Add caching" "Implement Redis caching for API" task high
nb create "Payment flow broken" "" bug critical

Environment Variables

VariableDescriptionDefault
NOWBUILDING_KEYAPI key (alternative to file)
NOWBUILDING_KEY_FILEPath to key file~/.config/nowbuilding_key
NOWBUILDING_APIAPI base URLhttps://nowbuilding.tech/api/agent
NOWBUILDING_AGENTAgent identifierhostname-agent

Security Best Practices

🔐 Protect Your API Keys

  • Store keys with restricted permissions (chmod 600)
  • Never commit keys to version control
  • Use environment variables in CI/CD pipelines
  • Regenerate keys immediately if exposed

👀 Monitor Agent Activity

  • Check the Activity Log in your project settings
  • Review what actions agents are taking
  • Set up alerts for unusual activity

🔄 Key Rotation

  • Regenerate keys periodically (Settings → Agent API → Regenerate)
  • Old keys are immediately invalidated
  • Update all configured agents with the new key

For Developers

Want to self-host NowBuilding or contribute to the project?