Package Exports
- @francisco-donadio/specops
- @francisco-donadio/specops/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@francisco-donadio/specops) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Specops
Specops is a CLI + MCP tool that turns product requests into structured analysis and ticket drafts, then creates tickets in GitHub, Jira, Linear, or Notion.
Install
Homebrew:
brew install francisco-donadio/tap/specopsnpm global:
npm install -g @francisco-donadio/specopsnpx (no install):
npx @francisco-donadio/specops --helpMore install and upgrade paths: docs/install-upgrade.md.
Architecture overview: docs/how-specops-works.md.
Quick Setup
Create config:
specops init-configRun guided setup:
specops setupRun environment checks:
specops doctor --fix-hintsCheck installed binary details:
specops versionLLM Providers
Supported:
- OpenAI
- Anthropic (Claude)
- Gemini
Environment-based selection example:
export SPECOPS_LLM_PROVIDER=openai
export OPENAI_API_KEY=...
export FA_AGENT_MODEL=gpt-4.1-miniProvider keys:
OPENAI_API_KEYANTHROPIC_API_KEYGOOGLE_API_KEY
You can also set these in specops.config.json under llm:
llm.providerllm.modelllm.apiKeyEnv
Core Commands
Analyze:
specops analyze-feature '{"feature":{"title":"Checkout Revamp","problem":"Drop-off is high after shipping","users":["buyers"]}}'Draft tickets:
specops draft-tickets "draft tickets for improving onboarding conversion"Suggest business actions:
specops suggest-business "suggest improvements for activation funnel"Collect context:
specops collect-context '{"sources":["repo","git","notion"],"query":"checkout"}'Create tickets (dry-run):
specops create-tickets '{"provider":"github","target":{"owner":"acme","repo":"web-app"},"tickets":[{"title":"[FA] Checkout Revamp","description":"Improve checkout flow and reduce drop-off.","labels":["product"],"priority":"medium","status":"Backlog"}],"dryRun":true}'Provider Targets
- GitHub:
owner/repoor{ "owner": "...", "repo": "..." } - Jira:
PROJECT_KEYorPROJECT_KEY:BOARD_IDor{ "projectKey": "...", "boardId": "..." } - Linear:
TEAM_IDorTEAM_ID:PROJECT_IDor{ "teamId": "...", "projectId": "..." } - Notion:
dataSourceIdor{ "dataSourceId": "..." }
Context Management
List/clear persisted context:
specops context list
specops context list checkout
specops context clear --yesInteractive TUI:
specops context tuiGuide: docs/context-tui.md.
Slack Integration
Run Slack server:
export SLACK_SIGNING_SECRET=...
export SLACK_BOT_TOKEN=xoxb-...
specops serve-slackEndpoints:
POST /slack/eventsPOST /slack/command
Ticket creation in Slack uses confirmation flow: run preview first, then reply confirm create within 10 minutes for live execution.
Guide: docs/slack-setup.md.
MCP
Generate manifest:
specops mcp-manifestRun MCP server:
specops serve-mcpSecurity Notes
- Keep
.envowner-only:chmod 600 .env - Do not commit API keys/tokens
- Enable safe debug logs only when needed:
SPECOPS_SAFE_DEBUG=1
License
MIT