The Autonomous System Integrator - AI-powered Docker orchestration
Project description
๐งต StackWeaver - Weave Production-Ready Docker Stacks with AI
Turn natural language into production-ready infrastructure.
"I need a CRM + Project Management + Chat" โ
stackweaver initโ Working stack in 5 minutes โก
๐ฏ What is StackWeaver?
StackWeaver is an AI-powered CLI that transforms natural language into production-ready Docker stacks:
- ๐ Search 50+ curated OSS tools via AI semantic search
- โ๏ธ Generate production-ready
docker-compose.ymlwith 100% validation - ๐ Deploy locally with automatic Traefik reverse proxy (SSL + subdomains)
- ๐ Manage secrets, volumes, and dependency isolation automatically
Target User: Technical solopreneurs who know Docker basics but hate infrastructure configuration.
๐ Quick Start
Prerequisites
- Python 3.11+ (Check:
python --version) - Docker Desktop (Check:
docker --version) - Git (Check:
git --version)
Installation
Option 1: pip + venv (Recommended for Windows)
# Clone repository
git clone https://github.com/stackweaver-io/stackweaver.git
cd stackweaver
# Create virtual environment
python -m venv .venv
# Activate (Windows)
.\.venv\Scripts\Activate.ps1
# Activate (Linux/Mac)
source .venv/bin/activate
# Install
pip install -e .
# Verify installation
stackweaver --version
Option 2: Poetry
# Clone repository
git clone https://github.com/stackweaver-io/stackweaver.git
cd stackweaver
# Install dependencies
poetry install
# Verify installation
poetry run stackweaver --version
First Run
# Initialize configuration
stackweaver version
# This creates ~/.stackweaver/config.yaml
# Edit it to add your LLM API key (optional, not needed for Ollama)
# Ingest tool catalog
python -m stackweaver.search.ingest
# You're ready!
stackweaver init
๐ Usage
Search for Tools
stackweaver search "project management tool"
# Returns: Taiga, Kanboard, OpenProject
stackweaver search "I need a CRM"
# Returns: EspoCRM, SuiteCRM, Monica
Initialize and Deploy a Stack
# Initialize project
stackweaver init --query "CRM for small business"
# Review generated files
ls stack/
# docker-compose.yml, .env
# Deploy the stack
stackweaver deploy
# Access your services
open http://espocrm.localhost
Manage Deployments
stackweaver status # Check running services
stackweaver logs # View service logs
stackweaver rollback # Stop and remove stack
๐ For detailed usage, see USER-GUIDE.md
๐๏ธ Architecture
Technology Stack
- AI/ML: ChromaDB (vector search), LiteLLM (multi-LLM support)
- CLI: Click, Rich (beautiful terminal UI)
- Docker: Docker SDK, python-on-whales
- Templates: Jinja2
- Validation: Pydantic v2
Project Structure
stackweaver/
โโโ cli/ # Command-line interface
โโโ search/ # Semantic tool search
โ โโโ schemas.py # Pydantic models
โ โโโ vector_store.py # ChromaDB wrapper
โ โโโ llm_ranker.py # LLM re-ranking
โ โโโ tool_search.py # Search API
โ โโโ ingest.py # Catalog ingestion
โโโ generator/ # docker-compose generation (Epic 2)
โโโ deployer/ # Docker deployment (Epic 3)
โโโ knowledge_base/ # Tool catalog (55 tools)
โโโ utils/ # Config, helpers
tests/
โโโ unit/ # Unit tests (108 tests)
โโโ integration/ # Integration tests
๐๏ธ Configuration
Edit ~/.stackweaver/config.yaml:
# LLM Provider (openai, anthropic, ollama)
llm_provider: openai
llm_model: gpt-4o
llm_api_key: sk-your-key-here # Not needed for Ollama
# Docker Settings
docker_socket: unix:///var/run/docker.sock
# Deployment Settings
traefik_domain: localhost
# Search Settings
search_top_k: 3
use_llm_rerank: true
๐ For complete configuration reference, see CONFIGURATION.md
๐งช Development
Setup
# Install dev dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
# Run tests with coverage
pytest --cov=stackweaver --cov-report=html
# Lint and format
black .
ruff check .
mypy stackweaver
Running Tests
# All tests
pytest
# Unit tests only
pytest tests/unit/
# Integration tests
pytest tests/integration/
# Specific module
pytest tests/unit/search/
# With coverage report
pytest --cov=stackweaver --cov-report=term-missing
๐ฆ Tool Catalog
StackWeaver includes 55 production-ready OSS tools across 15 categories:
| Category | Examples |
|---|---|
| Project Management | Taiga, Kanboard, OpenProject, Wekan, Focalboard |
| CRM | EspoCRM, SuiteCRM, Monica, Twenty |
| Chat | Rocket.Chat, Mattermost, Zulip |
| Analytics | Metabase, Superset, Redash, Plausible, Umami |
| Database | PostgreSQL, MySQL, MongoDB, Redis, ClickHouse |
| Storage | Nextcloud, Seafile, MinIO, Pydio |
| Automation | n8n, Huginn, Automatisch |
| Monitoring | Grafana, Prometheus, Uptime Kuma |
| Development | Gitea, GitLab, Jenkins |
| Security | Vaultwarden, Authentik, Keycloak |
| Infrastructure | Traefik, Nginx, Caddy, Portainer |
| Mailcow, Mailu, Docker Mailserver | |
| Wiki | BookStack, Wiki.js, Outline |
| CMS | WordPress, Ghost, Strapi, Directus |
| Marketing | Listmonk, Mautic, Chatwoot |
All tools are:
- โ Actively maintained (last updated < 6 months)
- โ Production-ready (quality score > 5/10)
- โ Docker-ready (official images)
- โ Well-documented
๐ฃ๏ธ Roadmap
Epic 1: Knowledge Base Foundation โ (COMPLETE)
- Project structure & CLI scaffolding
- Tool schema & catalog (55 tools)
- ChromaDB vector store
- Tool ingestion pipeline
- LiteLLM multi-provider integration
- Semantic search (vector + LLM hybrid)
- Configuration management
Epic 2: Stack Generation โ (COMPLETE)
- Jinja2 template engine
- docker-compose.yml generation
- 3-stage validation pipeline
- Conflict resolution (Isolation strategy)
- Secret generation
Epic 3: Deployer & CLI โ (COMPLETE)
- Docker SDK integration
- Traefik reverse proxy setup
- CLI commands (init, deploy, status, rollback)
- Health checks & monitoring
Epic 4: Core Engine & Testing โ (COMPLETE)
- ResourceManager (Singleton DI)
- StackWeaverCore (Central orchestration)
- Config & State Management
- Structured Logging
- Agent Interfaces (Phase 2 prep)
- CI/CD Pipeline
- Comprehensive Documentation
- 520+ Unit & Integration Tests
- 88% Code Coverage
Phase 2: LangGraph Agents (2026)
- Curator Agent (Intelligent tool search)
- Architect Agent (Smart stack design)
- Deployer Agent (Self-healing deployment)
- Monitor Agent (Proactive monitoring)
๐ค Contributing
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
Quick Contribution Guide
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
pytest) - Run linters (
black . && ruff check . && mypy stackweaver) - Commit (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Documentation
- User Guide - Complete usage instructions
- Troubleshooting - Common issues and solutions
- Examples - Real-world deployment scenarios
- Configuration - Detailed configuration reference
- Phase 2 Migration - LangGraph integration guide
๐ Links
- GitHub: github.com/stackweaver-io/stackweaver
- Issues: github.com/stackweaver-io/stackweaver/issues
- Discussions: github.com/stackweaver-io/stackweaver/discussions
๐ Acknowledgments
Built with love by Ahmed and powered by:
- ChromaDB - Vector database
- LiteLLM - Multi-LLM interface
- Click + Rich - CLI framework
- Docker - Container platform
- Pydantic - Data validation
Made with ๐งต by the StackWeaver team
Project details
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 stackweaver-0.1.2.tar.gz.
File metadata
- Download URL: stackweaver-0.1.2.tar.gz
- Upload date:
- Size: 84.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de98ed7644b203df915f0afe75e02e55a7315c6351d803105c903a95034c632c
|
|
| MD5 |
f5dba3ae9d9dcb4983de4f319f537cad
|
|
| BLAKE2b-256 |
d9485e28f0a18cc4ff20ee8293764f581087d259665a2c36da124240080b2981
|
Provenance
The following attestation bundles were made for stackweaver-0.1.2.tar.gz:
Publisher:
publish-pypi.yml on stackweaver-io/stackweaver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stackweaver-0.1.2.tar.gz -
Subject digest:
de98ed7644b203df915f0afe75e02e55a7315c6351d803105c903a95034c632c - Sigstore transparency entry: 780491756
- Sigstore integration time:
-
Permalink:
stackweaver-io/stackweaver@0ac114434b46bb0d92b68f2deb25be2808a02aaf -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/stackweaver-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@0ac114434b46bb0d92b68f2deb25be2808a02aaf -
Trigger Event:
release
-
Statement type:
File details
Details for the file stackweaver-0.1.2-py3-none-any.whl.
File metadata
- Download URL: stackweaver-0.1.2-py3-none-any.whl
- Upload date:
- Size: 103.0 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 |
d17c77246b17ff5a268372082da91dff3e03cde440ad404c7569f2ca93e22fde
|
|
| MD5 |
18f3daa577bf9b2337460929a2f5ee1e
|
|
| BLAKE2b-256 |
6aca464a857be52e914aa6d1cdbdf98c71c8e73774f33da166d06a2bfac355f9
|
Provenance
The following attestation bundles were made for stackweaver-0.1.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on stackweaver-io/stackweaver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stackweaver-0.1.2-py3-none-any.whl -
Subject digest:
d17c77246b17ff5a268372082da91dff3e03cde440ad404c7569f2ca93e22fde - Sigstore transparency entry: 780491757
- Sigstore integration time:
-
Permalink:
stackweaver-io/stackweaver@0ac114434b46bb0d92b68f2deb25be2808a02aaf -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/stackweaver-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@0ac114434b46bb0d92b68f2deb25be2808a02aaf -
Trigger Event:
release
-
Statement type: