Skip to content

specsmith-ai/specsmith-cli

Repository files navigation

Specsmith CLI

Forge clear specifications from product ideas. AI-powered agent for developers and builders.

PyPI version Python 3.9+ License: MIT

The Specsmith CLI is a thin client for AI-powered specification generation using the Specsmith platform. Run specsmith, describe what you need, and get structured, implementation-ready technical specs.

🚀 What is Specsmith?

Specsmith helps engineers move from rough ideas to actionable specifications. It asks clarifying questions, identifies ambiguities, and produces detailed specs designed to feed directly into AI coding agents or human implementation.

✨ Key Capabilities

  • 🧠 Structured Specs: From natural language to clear acceptance criteria & Definition of Done
  • 💬 Clarifying Conversations: Interactive chat that refines requirements before finalizing
  • 📁 File Handling: Create and update spec files right from the CLI
  • ⚡ Streaming Responses: Real-time feedback as the AI reasons through your request
  • 🎯 Simple Entry Point: Just run specsmith — no flags required

🎯 Perfect For

  • Product managers defining features
  • Engineers planning implementations
  • Architects documenting systems
  • DevOps & infra teams writing technical runbooks

📦 Installation

pip install specsmith-cli
specsmith --version

⚡ Quickstart

1. Get Your API Keys

Learn more at specsmith.ai or go straight to signupSettingsAPI Keys → generate a new key pair.

2. Configure Authentication

Recommended:

specsmith setup

Advanced alternatives:

  • Env vars

    export SPECSMITH_ACCESS_KEY_ID="your-access-key-id"
    export SPECSMITH_ACCESS_KEY_TOKEN="your-access-key-token"
  • Config file

    mkdir -p ~/.specsmith
    cat > ~/.specsmith/credentials << EOF
    access_key_id=your-access-key-id
    access_key_token=your-access-key-token
    EOF

3. Test

specsmith test

4. Start Workinggit add 0p

specsmith

That’s it — describe what you need, and specsmith will generate detailed specifications.

🎨 Usage Examples

Interactive session:

specsmith

Example:

You: I need a real-time chat app

specsmith: Let’s cover scale, features, tech stack, and platforms.
...

File management:

# Inside a chat session
# ✓ Create new file: database-schema.sql? (y/n): y

Configuration:

specsmith config

🛠️ Advanced Features

  • Custom API Endpoint

    export SPECSMITH_API_URL="https://your.company/api"
  • Debug Mode

    specsmith --debug
  • Available Commands

    specsmith chat      # start chat (default)
    specsmith setup     # configure credentials
    specsmith test      # test connection
    specsmith config    # show current config
    specsmith version   # version info
    specsmith --help    # all options

🔧 Configuration Options

Variable Description Default
SPECSMITH_ACCESS_KEY_ID API key ID required
SPECSMITH_ACCESS_KEY_TOKEN API key token required
SPECSMITH_API_URL API endpoint https://api.specsmith.ai
SPECSMITH_DEBUG Enable debug logging false

Config sources (priority order):

  1. ~/.specsmith/credentials
  2. Env vars
  3. CLI args

🚀 Real-World Use Cases

specsmith
# "Plan a notification system for a mobile app with push + email"
specsmith
# "Design a REST API for a multi-tenant SaaS with RBAC"
specsmith
# "Specify a CI/CD pipeline for microservices on Kubernetes"
specsmith
# "Create a database schema for a social app with posts, comments, likes"

🔍 Troubleshooting

Auth Errors

specsmith test
specsmith setup

Connection Issues

curl -I https://api.specsmith.ai/health
specsmith test --debug

File Permissions

chmod 755 .

More help:

📄 License

MIT License — see LICENSE

🌟 Why specsmith?

Good code starts with good specs. specsmith makes your requirements:

  • Complete: No missing edge cases
  • Actionable: Ready for humans or AI agents
  • Consistent: Following best practices & standards
  • Contextual: Informed by your repo & architecture

Transform your workflow. Start with better specs.


Get StartedSignupDocs

Made with ❤️ by specsmith

Packages

No packages published

Languages