Enhanced spec-driven development CLI with modern architecture and Jinja2 templating
Project description
SpecifyX
Enhanced spec-driven development CLI with modern architecture and Jinja2 templating
What is SpecifyX?
SpecifyX is a modern Python CLI tool for spec-driven development that helps teams focus on product scenarios rather than writing boilerplate code. Enhanced fork of GitHub's spec-kit.
Key Features
- Easy Installation:
uv tool install specifyxoruvx specifyx - AI Assistant Management: Add and configure multiple AI assistants (Claude, Copilot, Cursor, Gemini)
- Jinja2 Templating: Variables, conditionals, loops for complex project generation
- Flexible Branch Naming: Custom patterns like
feature/{name},task/{id}-{name}, or no-branch workflow - Configuration System: TOML-based preferences and settings
- Interactive UI: Menus, progress tracking, colored output
Installation
Using uv (recommended )
uv tool install specifyx
Alternative without installation
uvx specifyx
Using pipx or pip
pipx install specifyx # or: pip install specifyx
Quick Start
See SpecifyX in action - initialize a new project and start building:
# Create a new project with AI assistant
specifyx init my-project --ai claude
cd my-project
# Or add AI assistants to existing project
specifyx add-ai claude,copilot
# Check system requirements
specifyx check
# Traditional workflow (with feature branches)
specifyx run create-feature "User authentication"
specifyx run setup-plan setup
specifyx run generate-tasks
# No-branch workflow (single branch development)
specifyx run create-feature "User login" --no-branch
specifyx run setup-plan setup --spec-id 001
specifyx run generate-tasks --spec-id 001
What is Spec-Driven Development?
Spec-Driven Development makes specifications executable - directly generating working implementations rather than just guiding them.
Core Philosophy
- Intent-driven development where specs define "what" before "how"
- Multi-step refinement rather than one-shot code generation
- AI-enhanced specification interpretation and implementation
Prerequisites
- Linux/macOS (or WSL2 on Windows)
- Python 3.11+
- AI Assistant: Choose one or more:
- Claude Code - Anthropic's AI coding assistant
- GitHub Copilot - GitHub's AI assistant
- Cursor - AI-powered code editor
- Gemini CLI - Google's AI assistant
- uv for package management
AI Assistant Setup
SpecifyX supports multiple AI assistants with dedicated configurations:
# Add AI assistants to your project
specifyx add-ai claude # Add Claude Code
specifyx add-ai copilot,cursor # Add multiple assistants
specifyx add-ai --interactive # Interactive selection
# Update templates when assistants change
specifyx refresh-templates
Development
git clone https://github.com/barisgit/spec-kit-improved
cd spec-kit-improved
uv sync --extra dev
# Run tests
pytest
# Code quality
ruff check . && ruff format . && pyrefly check .
Contributing
See CONTRIBUTING.md for guidelines. We welcome contributions!
License
MIT License - see LICENSE file.
SpecifyX: Making spec-driven development accessible and powerful for modern teams.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file specifyx-0.3.0.tar.gz.
File metadata
- Download URL: specifyx-0.3.0.tar.gz
- Upload date:
- Size: 236.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94944767a9ae401fed9832425fc4dea5f14a22a18d2e18d5aad1fa74e6de454e
|
|
| MD5 |
dc9106f339ec110d0f6cf017dde0c424
|
|
| BLAKE2b-256 |
6cc6e3ca57709f9ffec12b1eefc11a787a8d46f4a95d33010c4943fa775d5316
|
Provenance
The following attestation bundles were made for specifyx-0.3.0.tar.gz:
Publisher:
release.yml on barisgit/spec-kit-improved
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
specifyx-0.3.0.tar.gz -
Subject digest:
94944767a9ae401fed9832425fc4dea5f14a22a18d2e18d5aad1fa74e6de454e - Sigstore transparency entry: 537927896
- Sigstore integration time:
-
Permalink:
barisgit/spec-kit-improved@fff6261c9584199f986f4efc8311d1b6ee72a601 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/barisgit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fff6261c9584199f986f4efc8311d1b6ee72a601 -
Trigger Event:
push
-
Statement type:
File details
Details for the file specifyx-0.3.0-py3-none-any.whl.
File metadata
- Download URL: specifyx-0.3.0-py3-none-any.whl
- Upload date:
- Size: 317.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e3d07f7f63db859db7925b03f645003770e5448706ebd0310f51cd7542315dd
|
|
| MD5 |
dacc9d8927b9018460e77997b2b099a8
|
|
| BLAKE2b-256 |
a0b4312e366b97527bccbef7754715f7c828790745a890185e127fbf5cb3c01e
|
Provenance
The following attestation bundles were made for specifyx-0.3.0-py3-none-any.whl:
Publisher:
release.yml on barisgit/spec-kit-improved
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
specifyx-0.3.0-py3-none-any.whl -
Subject digest:
5e3d07f7f63db859db7925b03f645003770e5448706ebd0310f51cd7542315dd - Sigstore transparency entry: 537927914
- Sigstore integration time:
-
Permalink:
barisgit/spec-kit-improved@fff6261c9584199f986f4efc8311d1b6ee72a601 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/barisgit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fff6261c9584199f986f4efc8311d1b6ee72a601 -
Trigger Event:
push
-
Statement type: