The npx corp CLI is the command-line interface for TheCorporation platform — a corporate governance system built by agents, for agents. It manages the full lifecycle of business entities: formation, governance, cap tables, finance, documents, tax, compliance, agents, and work items.
npx corp setup
Choose a hosting mode:
~/.corp/data. Each command invokes the Rust binary directly (~6ms).npx corp setup # choose "Local (your machine)"
npx corp status # verify — all local, no network
npx corp setup # choose "TheCorporation cloud"
# Follow the magic link auth flow
For development with a persistent HTTP server:
npx corp serve --port 8020
npx corp config set api_url http://localhost:8020 --force
npx corp context
Shows active workspace, user, entity, and hosting mode.
The CLI supports flexible reference formats across all commands:
| Format | Example | Description |
|---|---|---|
| -------- | --------- | ------------- |
| Full UUID | 763dde4d-ca62-4e20-90ba-662c462d4b09 | Canonical ID |
| Short ID | 763dde4d | First segment of UUID |
@last | @last | Most recently created resource of that type |
| Name/Handle | "Acme Corp" | Unique name match |
Use npx corp resolve to test resolution. Use npx corp find to list matches.
Form an entity in a single command using key=value member syntax:
npx corp form \
--type c_corp \
--name "Acme Inc" \
--jurisdiction US-DE \
--member "name=Jane Doe,email=jane@acme.com,role=director,officer_title=ceo,is_incorporator=true,address=123 Main St|Dover|DE|19901" \
--member "name=John Doe,email=john@acme.com,role=director,officer_title=cto,address=456 Oak Ave|Dover|DE|19901" \
--json
One-shot flags:
--type — Entity type (see below)--name — Legal name of the entity--jurisdiction — e.g. US-DE, US-WY--member — Founder (repeatable); key=value format with keys: name, email, role (director|officer|manager|member|chair), officer_title (ceo|cfo|cto|coo|secretary|treasurer|president|vp|other), is_incorporator (true|false), address (street|city|state|zip), pct (ownership %), shares (shares purchased)--address — Company address as street,city,state,zip--fiscal-year-end — Fiscal year end (MM-DD, default "12-31")--s-corp — Elect S-Corp status--transfer-restrictions — Enable transfer restrictions--rofr — Enable right of first refusalImportant: Member addresses use pipe | as separator (street|city|state|zip), NOT commas.
For more control, use the staged flow:
npx corp form create --type c_corp --name "Acme Inc" --jurisdiction US-DE --jsonnpx corp form add-founder @last --name "Jane Doe" --email jane@acme.com --role director --pct 100 --officer-title ceo --incorporator --address "123 Main St,Dover,DE,19901" --jsonnpx corp form finalize @last --board-size 1 --company-address "123 Main St,Dover,DE,19901" --jsonnpx corp form activate @last --jsonThe activate step transitions from documents_generated to active status by auto-signing formation documents.
Staged add-founder flags:
--name (required), --email (required), --role (required: director|officer|manager|member|chair), --pct (required: ownership %)--officer-title (choices: ceo, cfo, cto, coo, secretary, treasurer, president, vp, other)--incorporator (boolean flag — mark as sole incorporator)--address (as street,city,state,zip)Staged finalize flags:
--board-size , --authorized-shares , --par-value --company-address, --incorporator-name, --incorporator-address--principal-name (LLC manager name)c_corp, llc, lp, llp, gp, sole_prop, cooperative, nonprofit
Most commands require an active entity context:
npx corp config set active_entity_id <entity-ref>
Governance operates through bodies (e.g., Board of Directors), seats, meetings, and resolutions.
create-body → add-seat → convene (with --agenda) → notice → open (--present-seat) → vote → resolve → finalize-item → adjourn
```bash
npx corp governance create-body --name "Board of Directors" --body-type board_of_directors --json
```
Body types: board_of_directors, llc_member_vote
is a positional argument```bash
npx corp governance add-seat @last --holder
```
Roles: chair, member, officer, observer
--type and --body are required```bash
npx corp governance convene --body @last --type board_meeting --title "Board Meeting Q1" --date 2026-04-01 --agenda "Approve equity grant" --agenda "Review financials" --json
```
Meeting types: board_meeting, shareholder_meeting, member_meeting, written_consent
Agenda items are added via repeatable --agenda flags on convene. There is no separate agenda-items add command.
npx corp governance agenda-items --json npx corp governance notice --json ```bash
npx corp governance open
```
Repeat --present-seat for each seat present.
```bash
npx corp governance vote
```
Vote values: for, against, abstain, recusal
and as positional args```bash
npx corp governance resolve
```
```bash
npx corp governance finalize-item
```
Status choices: discussed, voted, tabled, withdrawn
npx corp governance adjourn --json For board approvals without a formal meeting:
npx corp governance written-consent --body <body-ref> --title "Approve Equity Grant" --description "Approve 10000 shares to Jane Doe" --json
Written consent produces a meeting_id and resolution that can be used for downstream operations like equity issuance. List the agenda items and vote to complete:
npx corp governance agenda-items @last
npx corp governance vote @last <item-ref> --voter <contact-ref> --vote for --json
Create equity instruments before issuing shares:
npx corp cap-table create-instrument --kind common_equity --symbol COMMON --authorized-units 10000000 --issue-price-cents 1 --json
Instrument kinds: common_equity, preferred_equity, membership_unit, option_grant, safe
Flags:
--kind (required) — instrument kind--symbol (required) — e.g. COMMON, SERIES-A, OPTION-PLAN--authorized-units — total authorized shares/units--issue-price-cents — issue price in cents--issuer-legal-entity-id — auto-resolved if omitted--terms-json — JSON object of additional termsC-Corps require board approval (a resolution) before issuing equity:
npx corp cap-table issue-equity --grant-type common --shares 100000 --recipient "Jane Doe" --meeting-id <meeting-ref> --resolution-id <resolution-ref> --json
Flags:
--grant-type (required) — common, preferred, membership_unit, stock_option, iso, nso, rsa--shares (required) — number of shares--recipient (required) — recipient name (not an ID)--email — recipient email (auto-creates contact if needed)--instrument-id — instrument reference (auto-resolved by grant type if omitted)--meeting-id — board meeting reference (required for board-governed entities)--resolution-id — board resolution reference (required for board-governed entities)npx corp cap-table issue-safe --investor "Jane Investor" --amount 5000000 --valuation-cap 1000000000 --json
Important: --amount and --valuation-cap are in cents (e.g., 5000000 = $50,000).
Flags:
--investor (required) — investor name--amount (required) — principal amount in cents--valuation-cap (required) — valuation cap in cents--safe-type — SAFE type (default: post_money)--meeting-id — board meeting reference--resolution-id — board resolution referenceThree-step process:
```bash
npx corp cap-table create-valuation --type four_oh_nine_a --date 2026-03-15 --methodology market --enterprise-value 120000000 --json
```
Types: four_oh_nine_a, fair_market_value
Methodologies: income, market, asset, backsolve, hybrid
npx corp cap-table submit-valuation --json npx corp cap-table approve-valuation --resolution-id --json Then check: npx corp cap-table 409a --json
npx corp cap-table transfer --from <contact-ref> --to <contact-ref> --shares 1000 --share-class-id <ref> --governing-doc-type bylaws --transferee-rights full_member --json
npx corp cap-table distribute --amount 100000 --type dividend --description "Q1 distribution" --json
Key subcommands: invoices, invoice, payroll-runs, payroll, payments, pay, bank-accounts, open-account, classifications, classify-contractor, reconciliations, reconcile, distributions.
Monetary amounts are in cents (e.g., --amount 500000 = $5,000).
npx corp finance pay --amount 500000 --recipient "Jane Doe" --method ach --json
Note: Payments require an active bank account. Use npx corp finance open-account to create one (created in pending_review state).
npx corp finance invoice --customer "Client Co" --amount 1000000 --due-date 2026-04-01 --json
npx corp finance payroll --period-start 2026-03-01 --period-end 2026-03-15 --json
npx corp documents generate --template employment_offer --counterparty "Jane Doe" --param department=Engineering --param equity_grant_type=iso --param base_salary=150000 --json
Flags:
--template (required) — consulting_agreement, employment_offer, contractor_agreement, nda, custom--counterparty (required) — counterparty name--effective-date — ISO 8601 date (defaults to today)--base-salary — for employment_offer template--param — additional template parameter (repeatable)npx corp documents signing-link <document-ref>
npx corp documents sign <document-ref> --json
npx corp documents sign-all --json
npx corp documents preview-pdf --definition-id bylaws
Known issue: preview-pdf fails in process:// local transport mode. Use cloud or HTTP server mode for PDF previews.
Templates: bylaws, operating_agreement, certificate_of_incorporation, articles_of_organization, employment_offer, nda, ip_assignment, etc.
npx corp contacts --json # list all
npx corp contacts add --name "Jane Doe" --email jane@acme.com --category founder --json
npx corp contacts edit <contact-ref> --category board_member --json
npx corp contacts show <contact-ref> --json
Categories: employee, contractor, board_member, investor, law_firm, valuation_firm, accounting_firm, officer, founder, member, other
Agents are autonomous actors that can claim work items and interact with the system:
npx corp agents create --name "Ops Agent" --prompt "You manage corporate operations" --json
npx corp agents skill <agent-ref> --name "gov-watch" --description "Monitor governance deadlines" --json
npx corp agents message <agent-ref> --body "Check upcoming deadlines" --json
npx corp agents pause <agent-ref>
npx corp agents resume <agent-ref>
npx corp agents delete <agent-ref>
agents create flags:
--name (required) — agent display name--prompt (required) — system prompt for the agent--model — LLM model to useNote: Agents are workspace-scoped, not entity-scoped. No --entity-id needed.
Agent payloads can be size-sensitive — keep skill descriptions and message bodies concise to avoid 500 errors. Use --body-file or --instructions-file for large content.
npx corp work-items create --entity-id <ref> --title "File annual report" --category compliance --description "File with DE SOS" --deadline 2026-06-01 --created-by agent --json
npx corp work-items claim <work-item-ref> --by "Ops Agent" --json
npx corp work-items complete <work-item-ref> --by "Ops Agent" --result "Filed successfully" --json
npx corp work-items release <work-item-ref>
npx corp work-items cancel <work-item-ref>
Note: --by is required for both claim and complete. Alias: --claimer for claim, --completed-by for complete.
npx corp tax filings --json
npx corp tax file --type franchise_tax --year 2026 --json
npx corp tax deadlines --json
npx corp tax deadline --type annual_report --due-date 2026-06-01 --description "Delaware annual report" --json
resolution_id from a governance vote or written consent before issuing equity on a C-Corp. LLCs do not have this requirement.active_entity_id must be set — Most entity-scoped commands require either --entity-id or a configured active_entity_id.$ characters in command arguments may be shell-interpolated. In descriptions like "$50K SAFE", the $50K can become 0K. Avoid $ or escape it properly.issue-safe — Unlike issue-equity, the issue-safe command does not require a pre-existing instrument. It creates the SAFE directly.agents skill or agents message can cause 500 errors. Keep payloads short, or use --body-file/--instructions-file.finalize requires complete data — The staged flow requires --board-size and --company-address on finalize for C-Corps. Missing fields cause validation errors.demo command — Use npx corp demo --name "Acme" --minimal for a reliable quick seed. Full scenarios (startup, llc, restaurant) may hit validation edge cases depending on version.--amount, --valuation-cap, --enterprise-value, --issue-price-cents, --price-per-share-cents) are in cents. 500000 = $5,000.director, officer, manager, member, chair — NOT founder. Use founder as a contact category instead.board_of_directors, llc_member_vote — NOT board.--member addresses use pipe separator: street|city|state|zip. Staged --address and --company-address use comma separator: street,city,state,zip.finance activate-account — Bank accounts are created in pending_review state. Use npx corp finance activate-account to activate before submitting payments.create-body separately after formation.pct (ownership percentage). C-Corp members can use either pct or shares.form (one-shot with --type c_corp) → config set active_entity_id @last → written-consent (approve equity) → cap-table issue-equity --grant-type common --shares <n> --recipient <name> --meeting-id <consent-meeting> --resolution-id <consent-resolution>
Note: Formation auto-creates a board, so skip create-body + add-seat if using one-shot formation.
cap-table create-valuation --type four_oh_nine_a --date <date> --methodology <method> → submit-valuation <valuation-ref> → governance written-consent (approve 409A) → approve-valuation <valuation-ref> --resolution-id <consent-resolution> → cap-table 409a
agents create --name <name> --prompt <prompt> → agents skill <agent-ref> --name <skill> --description <desc> → work-items create → work-items claim <ref> --by <agent-name> → work-items complete <ref> --by <agent-name> → agents message <agent-ref> --body "status report"
For the complete command catalog with all options, run:
npx corp schema --json
For help on any specific command:
npx corp <command> --help
共 1 个版本
暂无安全检测报告