refactor: rename packages to @paperclipai and CLI binary to paperclipai

Rename all workspace packages from @paperclip/* to @paperclipai/* and
the CLI binary from `paperclip` to `paperclipai` in preparation for
npm publishing. Bump CLI version to 0.1.0 and add package metadata
(description, keywords, license, repository, files). Update all
imports, documentation, user-facing messages, and tests accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dotta
2026-03-03 08:45:26 -06:00
parent 5a5549fc54
commit f60c1001ec
196 changed files with 501 additions and 490 deletions

View File

@@ -76,7 +76,7 @@ Return structured diagnostics:
## Step 5: CLI Module
`format-event.ts` — pretty-prints stdout for `paperclip run --watch` using `picocolors`.
`format-event.ts` — pretty-prints stdout for `paperclipai run --watch` using `picocolors`.
## Step 6: Register

View File

@@ -39,7 +39,7 @@ packages/adapters/<name>/
parse-stdout.ts # Stdout -> transcript entries for run viewer
build-config.ts # Form values -> adapterConfig JSON
cli/
format-event.ts # Terminal output for `paperclip run --watch`
format-event.ts # Terminal output for `paperclipai run --watch`
```
Three registries consume these modules:

View File

@@ -9,38 +9,38 @@ Client-side commands for managing issues, agents, approvals, and more.
```sh
# List issues
pnpm paperclip issue list [--status todo,in_progress] [--assignee-agent-id <id>] [--match text]
pnpm paperclipai issue list [--status todo,in_progress] [--assignee-agent-id <id>] [--match text]
# Get issue details
pnpm paperclip issue get <issue-id-or-identifier>
pnpm paperclipai issue get <issue-id-or-identifier>
# Create issue
pnpm paperclip issue create --title "..." [--description "..."] [--status todo] [--priority high]
pnpm paperclipai issue create --title "..." [--description "..."] [--status todo] [--priority high]
# Update issue
pnpm paperclip issue update <issue-id> [--status in_progress] [--comment "..."]
pnpm paperclipai issue update <issue-id> [--status in_progress] [--comment "..."]
# Add comment
pnpm paperclip issue comment <issue-id> --body "..." [--reopen]
pnpm paperclipai issue comment <issue-id> --body "..." [--reopen]
# Checkout task
pnpm paperclip issue checkout <issue-id> --agent-id <agent-id>
pnpm paperclipai issue checkout <issue-id> --agent-id <agent-id>
# Release task
pnpm paperclip issue release <issue-id>
pnpm paperclipai issue release <issue-id>
```
## Company Commands
```sh
pnpm paperclip company list
pnpm paperclip company get <company-id>
pnpm paperclipai company list
pnpm paperclipai company get <company-id>
# Export to portable folder package (writes manifest + markdown files)
pnpm paperclip company export <company-id> --out ./exports/acme --include company,agents
pnpm paperclipai company export <company-id> --out ./exports/acme --include company,agents
# Preview import (no writes)
pnpm paperclip company import \
pnpm paperclipai company import \
--from https://github.com/<owner>/<repo>/tree/main/<path> \
--target existing \
--company-id <company-id> \
@@ -48,7 +48,7 @@ pnpm paperclip company import \
--dry-run
# Apply import
pnpm paperclip company import \
pnpm paperclipai company import \
--from ./exports/acme \
--target new \
--new-company-name "Acme Imported" \
@@ -58,52 +58,52 @@ pnpm paperclip company import \
## Agent Commands
```sh
pnpm paperclip agent list
pnpm paperclip agent get <agent-id>
pnpm paperclipai agent list
pnpm paperclipai agent get <agent-id>
```
## Approval Commands
```sh
# List approvals
pnpm paperclip approval list [--status pending]
pnpm paperclipai approval list [--status pending]
# Get approval
pnpm paperclip approval get <approval-id>
pnpm paperclipai approval get <approval-id>
# Create approval
pnpm paperclip approval create --type hire_agent --payload '{"name":"..."}' [--issue-ids <id1,id2>]
pnpm paperclipai approval create --type hire_agent --payload '{"name":"..."}' [--issue-ids <id1,id2>]
# Approve
pnpm paperclip approval approve <approval-id> [--decision-note "..."]
pnpm paperclipai approval approve <approval-id> [--decision-note "..."]
# Reject
pnpm paperclip approval reject <approval-id> [--decision-note "..."]
pnpm paperclipai approval reject <approval-id> [--decision-note "..."]
# Request revision
pnpm paperclip approval request-revision <approval-id> [--decision-note "..."]
pnpm paperclipai approval request-revision <approval-id> [--decision-note "..."]
# Resubmit
pnpm paperclip approval resubmit <approval-id> [--payload '{"..."}']
pnpm paperclipai approval resubmit <approval-id> [--payload '{"..."}']
# Comment
pnpm paperclip approval comment <approval-id> --body "..."
pnpm paperclipai approval comment <approval-id> --body "..."
```
## Activity Commands
```sh
pnpm paperclip activity list [--agent-id <id>] [--entity-type issue] [--entity-id <id>]
pnpm paperclipai activity list [--agent-id <id>] [--entity-type issue] [--entity-id <id>]
```
## Dashboard
```sh
pnpm paperclip dashboard get
pnpm paperclipai dashboard get
```
## Heartbeat
```sh
pnpm paperclip heartbeat run --agent-id <agent-id> [--api-base http://localhost:3100]
pnpm paperclipai heartbeat run --agent-id <agent-id> [--api-base http://localhost:3100]
```

View File

@@ -8,7 +8,7 @@ The Paperclip CLI handles instance setup, diagnostics, and control-plane operati
## Usage
```sh
pnpm paperclip --help
pnpm paperclipai --help
```
## Global Options
@@ -29,7 +29,7 @@ Company-scoped commands also accept `--company-id <id>`.
For clean local instances, pass `--data-dir` on the command you run:
```sh
pnpm paperclip run --data-dir ./tmp/paperclip-dev
pnpm paperclipai run --data-dir ./tmp/paperclip-dev
```
## Context Profiles
@@ -38,22 +38,22 @@ Store defaults to avoid repeating flags:
```sh
# Set defaults
pnpm paperclip context set --api-base http://localhost:3100 --company-id <id>
pnpm paperclipai context set --api-base http://localhost:3100 --company-id <id>
# View current context
pnpm paperclip context show
pnpm paperclipai context show
# List profiles
pnpm paperclip context list
pnpm paperclipai context list
# Switch profile
pnpm paperclip context use default
pnpm paperclipai context use default
```
To avoid storing secrets in context, use an env var:
```sh
pnpm paperclip context set --api-key-env-var-name PAPERCLIP_API_KEY
pnpm paperclipai context set --api-key-env-var-name PAPERCLIP_API_KEY
export PAPERCLIP_API_KEY=...
```

View File

@@ -5,32 +5,32 @@ summary: Onboard, run, doctor, and configure
Instance setup and diagnostics commands.
## `paperclip run`
## `paperclipai run`
One-command bootstrap and start:
```sh
pnpm paperclip run
pnpm paperclipai run
```
Does:
1. Auto-onboards if config is missing
2. Runs `paperclip doctor` with repair enabled
2. Runs `paperclipai doctor` with repair enabled
3. Starts the server when checks pass
Choose a specific instance:
```sh
pnpm paperclip run --instance dev
pnpm paperclipai run --instance dev
```
## `paperclip onboard`
## `paperclipai onboard`
Interactive first-time setup:
```sh
pnpm paperclip onboard
pnpm paperclipai onboard
```
Prompts for:
@@ -40,13 +40,13 @@ Prompts for:
3. Public URL (if authenticated + public)
4. Database and secrets configuration
## `paperclip doctor`
## `paperclipai doctor`
Health checks with optional auto-repair:
```sh
pnpm paperclip doctor
pnpm paperclip doctor --repair
pnpm paperclipai doctor
pnpm paperclipai doctor --repair
```
Validates:
@@ -57,30 +57,30 @@ Validates:
- Storage configuration
- Missing key files
## `paperclip configure`
## `paperclipai configure`
Update configuration sections:
```sh
pnpm paperclip configure --section server
pnpm paperclip configure --section secrets
pnpm paperclip configure --section storage
pnpm paperclipai configure --section server
pnpm paperclipai configure --section secrets
pnpm paperclipai configure --section storage
```
## `paperclip env`
## `paperclipai env`
Show resolved environment configuration:
```sh
pnpm paperclip env
pnpm paperclipai env
```
## `paperclip allowed-hostname`
## `paperclipai allowed-hostname`
Allow a private hostname for authenticated/private mode:
```sh
pnpm paperclip allowed-hostname my-tailscale-host
pnpm paperclipai allowed-hostname my-tailscale-host
```
## Local Storage Paths
@@ -96,12 +96,12 @@ pnpm paperclip allowed-hostname my-tailscale-host
Override with:
```sh
PAPERCLIP_HOME=/custom/home PAPERCLIP_INSTANCE_ID=dev pnpm paperclip run
PAPERCLIP_HOME=/custom/home PAPERCLIP_INSTANCE_ID=dev pnpm paperclipai run
```
Or pass `--data-dir` directly on any command:
```sh
pnpm paperclip run --data-dir ./tmp/paperclip-dev
pnpm paperclip doctor --data-dir ./tmp/paperclip-dev
pnpm paperclipai run --data-dir ./tmp/paperclip-dev
pnpm paperclipai doctor --data-dir ./tmp/paperclip-dev
```

View File

@@ -16,7 +16,7 @@ The default mode. Optimized for single-operator local use.
```sh
# Set during onboard
pnpm paperclip onboard
pnpm paperclipai onboard
# Choose "local_trusted"
```
@@ -33,14 +33,14 @@ For private network access (Tailscale, VPN, LAN).
- **Host trust**: private-host trust policy required
```sh
pnpm paperclip onboard
pnpm paperclipai onboard
# Choose "authenticated" -> "private"
```
Allow custom Tailscale hostnames:
```sh
pnpm paperclip allowed-hostname my-machine
pnpm paperclipai allowed-hostname my-machine
```
### `authenticated` + `public`
@@ -52,7 +52,7 @@ For internet-facing deployment.
- **Security**: stricter deployment checks in doctor
```sh
pnpm paperclip onboard
pnpm paperclipai onboard
# Choose "authenticated" -> "public"
```
@@ -75,11 +75,11 @@ A signed-in user visits this URL to claim board ownership. This:
Update the deployment mode:
```sh
pnpm paperclip configure --section server
pnpm paperclipai configure --section server
```
Runtime override via environment variable:
```sh
PAPERCLIP_DEPLOYMENT_MODE=authenticated pnpm paperclip run
PAPERCLIP_DEPLOYMENT_MODE=authenticated pnpm paperclipai run
```

View File

@@ -29,13 +29,13 @@ No Docker or external database required. Paperclip uses embedded PostgreSQL auto
For a first-time install:
```sh
pnpm paperclip run
pnpm paperclipai run
```
This does:
1. Auto-onboards if config is missing
2. Runs `paperclip doctor` with repair enabled
2. Runs `paperclipai doctor` with repair enabled
3. Starts the server when checks pass
## Tailscale/Private Auth Dev Mode
@@ -51,7 +51,7 @@ This binds the server to `0.0.0.0` for private-network access.
Allow additional private hostnames:
```sh
pnpm paperclip allowed-hostname dotta-macbook-pro
pnpm paperclipai allowed-hostname dotta-macbook-pro
```
## Health Checks
@@ -86,5 +86,5 @@ pnpm dev
Override with environment variables:
```sh
PAPERCLIP_HOME=/custom/path PAPERCLIP_INSTANCE_ID=dev pnpm paperclip run
PAPERCLIP_HOME=/custom/path PAPERCLIP_INSTANCE_ID=dev pnpm paperclipai run
```

View File

@@ -45,11 +45,11 @@ Paperclip supports three deployment configurations, from zero-friction local to
Set the mode during onboarding:
```sh
pnpm paperclip onboard
pnpm paperclipai onboard
```
Or update it later:
```sh
pnpm paperclip configure --section server
pnpm paperclipai configure --section server
```

View File

@@ -22,19 +22,19 @@ This key is auto-created during onboarding. The key never leaves your machine.
Onboarding writes default secrets config:
```sh
pnpm paperclip onboard
pnpm paperclipai onboard
```
Update secrets settings:
```sh
pnpm paperclip configure --section secrets
pnpm paperclipai configure --section secrets
```
Validate secrets config:
```sh
pnpm paperclip doctor
pnpm paperclipai doctor
```
### Environment Overrides

View File

@@ -22,7 +22,7 @@ For production or multi-node deployments, use S3-compatible object storage (AWS
Configure via CLI:
```sh
pnpm paperclip configure --section storage
pnpm paperclipai configure --section storage
```
## Configuration

View File

@@ -85,7 +85,7 @@ Adapters are the bridge between Paperclip and agent runtimes. Each adapter is a
- **Server module** — `execute()` function that spawns/calls the agent, plus environment diagnostics
- **UI module** — stdout parser for the run viewer, config form fields for agent creation
- **CLI module** — terminal formatter for `paperclip run --watch`
- **CLI module** — terminal formatter for `paperclipai run --watch`
Built-in adapters: `claude_local`, `codex_local`, `process`, `http`. You can create custom adapters for any runtime.

View File

@@ -38,7 +38,7 @@ No Docker or external database required — Paperclip uses an embedded PostgreSQ
## Option 3: One-Command Bootstrap
```sh
pnpm paperclip run
pnpm paperclipai run
```
This auto-onboards if config is missing, runs health checks with auto-repair, and starts the server.