CLI Setup
Write RFCs as local Markdown files, then push them to DesignDoc.
Install
Homebrew (macOS / Linux)
brew install shubham030/tap/designdocInstall script
curl -sSL https://raw.githubusercontent.com/shubham030/designdoc-cli/main/install.sh | shGo install
go install github.com/designdoctech/designdoc/cmd/cli@latestManual download
Download the latest binary from GitHub Releases.
Login
Authenticate with your DesignDoc account:
designdoc loginThis opens your browser for Auth0 login. After authenticating, your token and orgs are saved to ~/.designdoc/config.yaml.
Organization Management
# List your orgs (* = active)
designdoc org list
# Switch active org
designdoc org switch my-team
# Set a short alias
designdoc org alias my-long-org-name mt
designdoc org switch mt
# Show current org
designdoc org currentCreate an RFC
1. Scaffold from template
designdoc rfc init --project backend my-proposal.mdThis fetches your org's default template and creates a local Markdown file with YAML front matter pre-filled.
2. Edit the file
Open the file in your editor and fill in the sections:
---
title: "API Rate Limiting"
project: backend
tags: [api, security]
summary: "Add rate limiting to public endpoints"
---
## Summary
Add rate limiting to prevent abuse...
## Motivation
Our public API has no rate limits...
## Detailed Design
### Token bucket algorithm
...3. Push to DesignDoc
designdoc rfc push my-proposal.mdOn first push, the CLI creates the RFC on the server and writes rfc_id and numberback into your file's front matter. Subsequent pushes update the existing RFC.
Browse RFCs
# List all RFCs
designdoc rfc list
# Filter by status
designdoc rfc list --status in_review
# View an RFC in your terminal
designdoc rfc show RFC-001Front Matter Reference
| Field | Required | Description |
|---|---|---|
title | Yes | RFC title |
project | Yes | Project slug |
tags | No | Array of tags |
summary | No | One-line summary |
visibility | No | public, org_only (default), private |
rfc_id | Auto | Set by CLI after first push |
number | Auto | Set by CLI after first push |
Environment Variables
| Variable | Description |
|---|---|
DESIGNDOC_API_KEY | API key (overrides config token) |
DESIGNDOC_ORG | Override active org slug |
DESIGNDOC_API_URL | Override API URL |