basecamp-cli
✓Verified·Scanned 2/17/2026
This skill is a Node.js CLI for managing Basecamp via OAuth and the Basecamp API. It reads BASECAMP_CLIENT_SECRET, stores encrypted tokens via config.set('tokens', ...), and makes network calls to https://launchpad.37signals.com and https://3.basecampapi.com/.
from clawhub.ai·v985cced·148.9 KB·0 installs
Scanned from 1.0.0 at 985cced · Transparency log ↗
$ vett add clawhub.ai/emredoganer/basecamp-cli
Basecamp CLI
A command-line interface for managing Basecamp (via the official bc3 API / 37signals Launchpad) projects, to-dos, messages, and campfires.
Installation
npm install -g @emredoganer/basecamp-cli
Setup
1. Create a Basecamp Integration
- Go to Basecamp Integrations
- Click "Register another application"
- Fill in the details:
- Name: Your app name
- Company: Your company
- Website: Your website
- Redirect URI:
http://localhost:9292/callback
- Note your Client ID and Client Secret
2. Configure Credentials
Set environment variables:
export BASECAMP_CLIENT_ID="your-client-id"
export BASECAMP_CLIENT_SECRET="your-client-secret"
Or configure via CLI:
basecamp auth configure --client-id "your-client-id" --client-secret "your-client-secret"
3. Login
basecamp auth login
This will open your browser for OAuth authentication.
Usage
Authentication
# Login via OAuth
basecamp auth login
# Check auth status
basecamp auth status
# Logout
basecamp auth logout
Accounts
# List available accounts
basecamp accounts
# Set current account
basecamp account set <id>
# Show current account
basecamp account current
Projects
# List all projects
basecamp projects list
# Get project details
basecamp projects get <id>
# Create a project
basecamp projects create --name "My Project" --description "Description"
# Archive a project
basecamp projects archive <id>
To-do Lists
# List to-do lists in a project
basecamp todolists list --project <id>
# Create a to-do list
basecamp todolists create --project <id> --name "Tasks"
To-dos
# List to-dos
basecamp todos list --project <id> --list <list-id>
# Show completed to-dos
basecamp todos list --project <id> --list <list-id> --completed
# Get to-do details
basecamp todos get <id> --project <project-id>
# Create a to-do
basecamp todos create --project <id> --list <list-id> --content "Task description"
# Create with options
basecamp todos create --project <id> --list <list-id> --content "Task" \
--due "2024-12-31" --assignees "123,456"
# Update a to-do
basecamp todos update <id> --project <project-id> --content "Updated content"
# Complete a to-do
basecamp todos complete <id> --project <project-id>
# Uncomplete a to-do
basecamp todos uncomplete <id> --project <project-id>
Messages
# List messages
basecamp messages list --project <id>
# Get message details
basecamp messages get <id> --project <project-id>
# Create a message
basecamp messages create --project <id> --subject "Subject" --content "<p>HTML content</p>"
Campfires (Chat)
# List campfires
basecamp campfires list --project <id>
# Get recent messages
basecamp campfires lines --project <id> --campfire <campfire-id>
# Send a message
basecamp campfires send --project <id> --campfire <campfire-id> --message "Hello!"
People
# List all people
basecamp people list
# List people in a project
basecamp people list --project <id>
# Get person details
basecamp people get <id>
# Get your profile
basecamp me
Output Formats
All list and get commands support --json flag for JSON output:
basecamp projects list --json
basecamp todos get <id> --project <project-id> --json
Environment Variables
| Variable | Description |
|---|---|
BASECAMP_CLIENT_ID | OAuth Client ID |
BASECAMP_CLIENT_SECRET | OAuth Client Secret |
BASECAMP_REDIRECT_URI | OAuth Redirect URI (default: http://localhost:9292/callback) |
BASECAMP_ACCESS_TOKEN | Access token (alternative to OAuth flow) |
License
MIT