Obsidian-based Spec-Driven Development (SDD) toolkit with MCP and spec-kit integration.
Project description
Spec-Craft
Obsidian-based Spec-Driven Development (SDD) toolkit with MCP and spec-kit integration.
Concept
spec-craft is a bridge between high-level roadmaps in Obsidian and tactical implementation using spec-kit.
Strategy vs Tactics
- Strategy (Obsidian): Defines the "What" and "Why". It holds the project's soul, long-term roadmap, and domain-specific principles (Manga storyboards, CAD logic, Blender Bonkei rules, etc.).
- Tactics (spec-kit): Defines the "How". It executes iterative SDD cycles (Specify → Plan → Implement) to generate concrete code and assets based on the strategy.
Installation
uv sync
pip install -e .
spec-kit Extension Setup
To enable slash commands (e.g., /speckit.obsidian-analyze), copy the extension/ folder to your project's .specify/extensions/spec-craft/ directory.
Discovery
Find more AI agent extensions at the official registry: geminicli.com/extensions/.
Automated Release Process
Spec-Craft uses GitHub Actions for CI/CD:
- Testing: Every push/PR triggers a test matrix across Python 3.10-3.12.
- Publishing: Pushing a tag matching
v*automatically builds and publishes the package to PyPI using Trusted Publishing.
Usage
Build Output Organization
All generated assets are stored in the build/ directory:
build/manga/<lang>/: Translated SVG scenes.build/cad/universal/: Parametric STL models and SVG projections.build/3d/universal/: Blender Python scripts for scene construction.
3D Preview
To view your generated CAD models interactively, run:
spec-craft browse
This starts a local server and opens a Three.js viewer. You can load specific models using query parameters: http://localhost:8080/?model=cad/universal/my_part.stl.
Visual Feedback Loop
When triggering a CAD build, spec-craft can generate SVG projections of the model. These are ideal for AI vision analysis, allowing your agent to "see" the dimensions and propose improvements.
Usage
CLI
spec-craft --version
spec-craft serve
MCP Server
Register the server in your MCP client (e.g., Claude Desktop, Gemini CLI) using:
{
"mcpServers": {
"spec-craft": {
"command": "spec-craft",
"args": ["serve"]
}
}
}
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 spec_craft-0.1.1.tar.gz.
File metadata
- Download URL: spec_craft-0.1.1.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9fa5aaf755351dd3418bd04f94bfd611342d2c8bf378a73c122cdc5a819ba34
|
|
| MD5 |
88c3e137f6c35b50f83904d277b7d349
|
|
| BLAKE2b-256 |
f9ac86f3df86c0bd03bc2c2d8c1eb6d241a3aed9afb3910064310f2182c40c77
|
Provenance
The following attestation bundles were made for spec_craft-0.1.1.tar.gz:
Publisher:
publish.yml on akuroiwa/spec-craft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spec_craft-0.1.1.tar.gz -
Subject digest:
d9fa5aaf755351dd3418bd04f94bfd611342d2c8bf378a73c122cdc5a819ba34 - Sigstore transparency entry: 1517820128
- Sigstore integration time:
-
Permalink:
akuroiwa/spec-craft@4b9c4d8f2e711bce9f07faaf1ec195b7328ddf9d -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/akuroiwa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4b9c4d8f2e711bce9f07faaf1ec195b7328ddf9d -
Trigger Event:
push
-
Statement type:
File details
Details for the file spec_craft-0.1.1-py3-none-any.whl.
File metadata
- Download URL: spec_craft-0.1.1-py3-none-any.whl
- Upload date:
- Size: 36.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a70770047d52c70d33933fee2eb6c95b67827bc8b8ba941a4e95d632ee382cb
|
|
| MD5 |
b04d26418cc7ae9eb0c3c5cd6a953179
|
|
| BLAKE2b-256 |
add64222517275efdfb0a047f6c0805bc6790278361038a53568914906b9b3b3
|
Provenance
The following attestation bundles were made for spec_craft-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on akuroiwa/spec-craft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spec_craft-0.1.1-py3-none-any.whl -
Subject digest:
8a70770047d52c70d33933fee2eb6c95b67827bc8b8ba941a4e95d632ee382cb - Sigstore transparency entry: 1517820240
- Sigstore integration time:
-
Permalink:
akuroiwa/spec-craft@4b9c4d8f2e711bce9f07faaf1ec195b7328ddf9d -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/akuroiwa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4b9c4d8f2e711bce9f07faaf1ec195b7328ddf9d -
Trigger Event:
push
-
Statement type: