JSPM

@francisco-donadio/specops

0.3.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q52272F
  • License MIT

Installable AI Functional Analyst agent for repositories, IDEs, and coding assistants.

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/specops

npm global:

npm install -g @francisco-donadio/specops

npx (no install):

npx @francisco-donadio/specops --help

More install and upgrade paths: docs/install-upgrade.md.

Architecture overview: docs/how-specops-works.md.

Quick Setup

Create config:

specops init-config

Run guided setup:

specops setup

Run environment checks:

specops doctor --fix-hints

Check installed binary details:

specops version

LLM 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-mini

Provider keys:

  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY
  • GOOGLE_API_KEY

You can also set these in specops.config.json under llm:

  • llm.provider
  • llm.model
  • llm.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/repo or { "owner": "...", "repo": "..." }
  • Jira: PROJECT_KEY or PROJECT_KEY:BOARD_ID or { "projectKey": "...", "boardId": "..." }
  • Linear: TEAM_ID or TEAM_ID:PROJECT_ID or { "teamId": "...", "projectId": "..." }
  • Notion: dataSourceId or { "dataSourceId": "..." }

Context Management

List/clear persisted context:

specops context list
specops context list checkout
specops context clear --yes

Interactive TUI:

specops context tui

Guide: docs/context-tui.md.

Slack Integration

Run Slack server:

export SLACK_SIGNING_SECRET=...
export SLACK_BOT_TOKEN=xoxb-...
specops serve-slack

Endpoints:

  • POST /slack/events
  • POST /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-manifest

Run MCP server:

specops serve-mcp

Security Notes

  • Keep .env owner-only: chmod 600 .env
  • Do not commit API keys/tokens
  • Enable safe debug logs only when needed: SPECOPS_SAFE_DEBUG=1

License

MIT