First-time setup for the task management platform integration with NebInfra. Clones the repo to ~/oss/, installs dependencies, starts the instance, creates the NebInfra company, hires all department agents, and installs the nebinfra plugin. Use when setting up the platform for the first time or on a new machine.
Complete setup of the platform as the AI workforce backbone for NebInfra.
npm install -g pnpm)Agents run as headless Claude Code processes. They need a long-lived OAuth token (valid for 1 year) that uses your Claude Max subscription — NOT an API key.
Run this in a separate terminal (not inside Claude Code):
claude setup-token
This opens a browser for authentication and outputs a token starting with sk-ant-oat01-....
Store it in the platform's environment:
echo "CLAUDE_CODE_OAUTH_TOKEN=<your-token>" >> ~/.paperclip/instances/default/.env
chmod 600 ~/.paperclip/instances/default/.env
The token is passed to agents via their adapterConfig.env and never stored in code.
MCP servers and plugins: Agents inherit all 41+ plugins and MCP servers from
your ~/.claude/settings.json automatically. No separate configuration needed —
agents run with the same HOME directory and load the same plugin ecosystem.
Only MCP OAuth tokens (PagerDuty) stored via Electron safeStorage may
not be accessible to headless agents — use API keys for those services instead.
Use /superpowers:executing-plans to follow the 8-step setup plan sequentially with verification.
# If using system-setup.sh (recommended):
bash scripts/system-setup.sh oss
# Or manually:
mkdir -p ~/oss
git clone [email protected]:paperclipai/paperclip.git ~/oss/paperclip
cd ~/oss/paperclip && pnpm install
cd ~/oss/paperclip
pnpm dev
# Server starts at the URL configured in .env as NEB_TASK_API_URL
# First run auto-creates embedded PGlite database
Wait for "Server ready" message before proceeding.
# Via CLI:
cd ~/oss/paperclip
pnpm paperclipai onboard
# Follow the interactive prompts:
# Instance name: default
# Company name: NebInfra
# Deployment mode: local_trusted
Or via API:
source "$(git rev-parse --show-toplevel)/.env"
curl -sS "${NEB_TASK_API_URL}/api/companies" \
-H "Content-Type: application/json" \
-d '{"name": "NebInfra"}'
Save the returned companyId — needed for all subsequent commands.
Create each agent via the platform API. All use the claude_local adapter.
CEO Agent:
source "$(git rev-parse --show-toplevel)/.env"
curl -sS "${NEB_TASK_API_URL}/api/agents" \
-H "Content-Type: application/json" \
-d '{
"companyId": "<companyId>",
"name": "CEO",
"role": "Strategic coordination, delegation, output review, hire approval",
"title": "Chief Executive Officer",
"adapterId": "claude_local",
"costBudget": { "monthlyLimit": 5000, "hardCeiling": true }
}'
Repeat for: HR, Marketing, Sales, Compliance, DevOps, Executive agents.
See docs/platform-agents.md for full agent definitions and budget policies.
Set each department agent's reportsToAgentId to the CEO agent's ID:
source "$(git rev-parse --show-toplevel)/.env"
curl -sS -X PATCH "${NEB_TASK_API_URL}/api/agents/<agentId>" \
-H "Content-Type: application/json" \
-d '{"reportsToAgentId": "<ceoAgentId>"}'
cd ~/sources/nebinfra/paperclip-plugin
pnpm install
pnpm build
# Install into the platform
source "$(git rev-parse --show-toplevel)/.env"
curl -sS -X POST "${NEB_TASK_API_URL}/api/plugins/install" \
-H "Content-Type: application/json" \
-d "{\"packageName\": \"$(pwd)\", \"isLocalPath\": true}"
source "$(git rev-parse --show-toplevel)/.env"
curl -sS -X POST "${NEB_TASK_API_URL}/api/plugins/nebinfra.paperclip-integration/config" \
-H "Content-Type: application/json" \
-d '{
"nebinfraRoot": "'$HOME'/sources/nebinfra",
"ossRoot": "'$HOME'/oss",
"enabledDepartments": ["HR", "Marketing", "Sales", "Compliance", "DevOps", "Executive"]
}'
Use /superpowers:verification-before-completion to verify with smoke tests before proceeding.
Create one test issue per agent to verify the pipeline works:
# Example: HR smoke test
source "$(git rev-parse --show-toplevel)/.env"
curl -sS "${NEB_TASK_API_URL}/api/companies/<companyId>/issues" \
-H "Content-Type: application/json" \
-d '{
"title": "[Smoke Test] HR: List available employment templates for India",
"description": "List all employment document templates available in business/talent-management/templates/india/",
"priority": "low",
"labels": ["HR", "smoke-test"]
}'
${NEB_TASK_API_URL}.env (NEB_TASK_API_URL) and set PORT=<new-port> before pnpm devpnpm build completed without errors in nebcore/nebcore-ai/plugins/neb-platform/| Superpowers Skill | When to Use |
|---|---|
/superpowers:executing-plans | The setup is an 8-step plan — follow it sequentially with verification |
/superpowers:verification-before-completion | After each setup step — verify with smoke tests before proceeding |