Skip to the content.

project

Projects are containers that group issues and routines. They belong to a company and can optionally be linked to a goal.

Quick Example

PROJ=$(paperclip-cli project create --company "$CO" --name "Auth System" --json | jq -r '.id')
paperclip-cli project list --company "$CO"
paperclip-cli project get "$PROJ"
paperclip-cli project update "$PROJ" --status in_progress
paperclip-cli project delete "$PROJ" --yes

Warning: Deleting a project also deletes all routines inside it (cascade delete).


project list

List all projects for a company.

paperclip-cli project list --company <company-id>
paperclip-cli project list --company <company-id> --json

Options

Flag Required Default Description
--company Yes Company ID
--json No false Output raw JSON array

Example Output

      Projects (Company: 6ef9c662-…)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ID                                   ┃ Name           ┃ Status      ┃ Description                       ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ f7a8b9c0-d1e2-3456-f012-345678901234 │ Auth System    │ in_progress │ JWT auth and session management   │
│ a8b9c0d1-e2f3-4567-0123-456789012345 │ Dashboard      │ planned     │                                   │
└──────────────────────────────────────┴────────────────┴─────────────┴───────────────────────────────────┘

project create

Create a new project in a company.

paperclip-cli project create --company <company-id> --name "Auth System"
paperclip-cli project create --company <company-id> --name "Auth System" --description "JWT auth and sessions"
paperclip-cli project create --company <company-id> --name "Dashboard" --goal <goal-id> --lead <agent-id>
paperclip-cli project create --company <company-id> --name "Design" --color "#6366f1"

Options

Flag Required Default Description
--company Yes Company ID
--name Yes Project name
--description No Project description
--goal No Goal ID to link this project to
--lead No Lead agent ID (responsible agent)
--color No Hex color for visual grouping (e.g. #6366f1)
--json No false Output created project as JSON

Example Output

✓ Created project Auth System (ID: f7a8b9c0-d1e2-3456-f012-345678901234)

JSON Output (with –json)

{
  "id": "f7a8b9c0-d1e2-3456-f012-345678901234",
  "name": "Auth System",
  "description": "JWT auth and sessions",
  "status": "backlog",
  "companyId": "6ef9c662-776f-43e0-8e7e-55f36c309edb",
  "goalId": null,
  "leadAgentId": null,
  "color": null,
  "createdAt": "2026-03-27T10:00:00.000Z"
}

project get

Get full details for a single project.

paperclip-cli project get <project-id>
paperclip-cli project get <project-id> --json

Arguments

Argument Required Description
project-id Yes UUID of the project

Example JSON Output

{
  "id": "f7a8b9c0-d1e2-3456-f012-345678901234",
  "name": "Auth System",
  "description": "JWT auth and sessions",
  "status": "in_progress",
  "companyId": "6ef9c662-776f-43e0-8e7e-55f36c309edb",
  "goalId": "c3d4e5f6-a7b8-9012-cdef-012345678901",
  "leadAgentId": "a1b2c3d4-e5f6-7890-abcd-ef0123456789",
  "color": "#6366f1",
  "routineCount": 2,
  "createdAt": "2026-03-01T12:00:00.000Z",
  "updatedAt": "2026-03-27T10:00:00.000Z"
}

project update

Update a project’s name, description, status, goal, or lead agent.

paperclip-cli project update <project-id> --name "Auth v2"
paperclip-cli project update <project-id> --status in_progress
paperclip-cli project update <project-id> --lead <agent-id>
paperclip-cli project update <project-id> --goal <goal-id>

Arguments

Argument Required Description
project-id Yes UUID of the project

Options

Flag Required Default Description
--name No New project name
--description No New description
--status No New status: backlog, planned, in_progress, completed, cancelled, paused
--goal No Goal ID to link to
--lead No Lead agent ID
--json No false Output updated project as JSON

Project Status Values

Status Meaning
backlog Not yet planned
planned Scheduled for future work
in_progress Actively being worked on
completed Done
cancelled Abandoned
paused Temporarily on hold

Error Cases

Error Cause
No fields to update No update flags provided
404 Not Found Project ID not found

project delete

Delete a project permanently. All routines inside the project are also deleted (cascade).

paperclip-cli project delete <project-id>
paperclip-cli project delete <project-id> --yes

Arguments

Argument Required Description
project-id Yes UUID of the project

Options

Flag Required Default Description
--yes No false Skip confirmation prompt

Example Output

✓ Deleted project f7a8b9c0-d1e2-3456-f012-345678901234

API Gotchas


project archive

Archive a project by setting its status to cancelled. Removes it from active project views.

Note: Paperclip projects have no dedicated “archived” status. cancelled is the closest equivalent — it signals the project is no longer active without permanently deleting anything.

paperclip-cli project archive <project-id>

Options

Flag Required Default Description
--json No false Output updated project as JSON

Example

✓ Archived project ff7d2546-... (status: cancelled)
  Use 'project unarchive ff7d2546-...' to restore

project unarchive

Restore a cancelled project back to backlog status.

paperclip-cli project unarchive <project-id>

Options

Flag Required Default Description
--json No false Output updated project as JSON

Example

✓ Restored project ff7d2546-... (status: backlog)

Valid Project Statuses

Status Meaning
backlog Not yet started (default on create)
planned Planned for future work
in_progress Actively being worked on
completed Successfully finished
cancelled Cancelled/archived — hidden from active views

⚠️ Projects do NOT support archived or paused status — use cancelled to archive.