specag 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- specag-0.1.0/.gitignore +47 -0
- specag-0.1.0/CONTRIBUTING.md +76 -0
- specag-0.1.0/LICENSE +21 -0
- specag-0.1.0/PKG-INFO +224 -0
- specag-0.1.0/README.md +195 -0
- specag-0.1.0/docs/architecture.md +220 -0
- specag-0.1.0/docs/bible.md +1836 -0
- specag-0.1.0/docs/quick-start.md +160 -0
- specag-0.1.0/docs/roadmap.md +71 -0
- specag-0.1.0/docs/study-guide.md +226 -0
- specag-0.1.0/docs/tier-matrix.md +130 -0
- specag-0.1.0/pyproject.toml +60 -0
- specag-0.1.0/rootine/__init__.py +5 -0
- specag-0.1.0/rootine/__main__.py +5 -0
- specag-0.1.0/rootine/brand.py +19 -0
- specag-0.1.0/rootine/cli.py +92 -0
- specag-0.1.0/rootine/config.py +116 -0
- specag-0.1.0/rootine/init.py +140 -0
- specag-0.1.0/rootine/sprint.py +87 -0
- specag-0.1.0/rootine/stats.py +89 -0
- specag-0.1.0/rootine/tier.py +146 -0
- specag-0.1.0/specag.config.example.yaml +82 -0
- specag-0.1.0/templates/shared/.sdd/coding-standards.md +274 -0
- specag-0.1.0/templates/shared/.sdd/templates/demo-script.md +106 -0
- specag-0.1.0/templates/shared/specs/INFRA-001-vps-setup.spec.md +197 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-001-token-monitoring.spec.md +378 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-002-model-fallback.spec.md +137 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-003-slack-commands.spec.md +181 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-004-agent-state.spec.md +138 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-005-traceability.spec.md +282 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-006-sprint-ceremonies.spec.md +528 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-007-onboarding.spec.md +139 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-008-epic-categories.spec.md +361 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-009-testing-quality.spec.md +374 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-010-continuous-improvement.spec.md +466 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-011-environments.spec.md +298 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-012-rollback.spec.md +380 -0
- specag-0.1.0/templates/shared/specs/platform/PLAT-013-sprint-cancellation.spec.md +312 -0
specag-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.egg-info/
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
*.egg
|
|
9
|
+
.eggs/
|
|
10
|
+
|
|
11
|
+
# Virtual environments
|
|
12
|
+
.venv/
|
|
13
|
+
venv/
|
|
14
|
+
env/
|
|
15
|
+
|
|
16
|
+
# IDE
|
|
17
|
+
.vscode/
|
|
18
|
+
.idea/
|
|
19
|
+
*.swp
|
|
20
|
+
*.swo
|
|
21
|
+
*~
|
|
22
|
+
|
|
23
|
+
# OS
|
|
24
|
+
.DS_Store
|
|
25
|
+
Thumbs.db
|
|
26
|
+
Desktop.ini
|
|
27
|
+
|
|
28
|
+
# Project runtime
|
|
29
|
+
*.db
|
|
30
|
+
token_usage.db
|
|
31
|
+
agents/state/paused-epics.yaml
|
|
32
|
+
|
|
33
|
+
# Secrets
|
|
34
|
+
.env
|
|
35
|
+
.env.*
|
|
36
|
+
credentials.json
|
|
37
|
+
*.pem
|
|
38
|
+
*.key
|
|
39
|
+
|
|
40
|
+
# Rootine Cloud (private — not part of open source)
|
|
41
|
+
cloud/
|
|
42
|
+
|
|
43
|
+
# User project data (generated by rootine init)
|
|
44
|
+
rootine.config.yaml
|
|
45
|
+
sprints/
|
|
46
|
+
year-*/
|
|
47
|
+
!templates/
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Contributing to SpecAg
|
|
2
|
+
|
|
3
|
+
Thank you for considering contributing. SpecAg is an early-stage open-source project and every contribution matters.
|
|
4
|
+
|
|
5
|
+
## Ways to Contribute
|
|
6
|
+
|
|
7
|
+
### 1. Use it and report back
|
|
8
|
+
|
|
9
|
+
The most valuable contribution right now is **using SpecAg on a real project** and telling us what broke, what was confusing, or what you wish existed. Open an issue with:
|
|
10
|
+
|
|
11
|
+
- What you tried to do
|
|
12
|
+
- What happened
|
|
13
|
+
- What you expected
|
|
14
|
+
|
|
15
|
+
### 2. Improve documentation
|
|
16
|
+
|
|
17
|
+
Found a confusing paragraph? A missing step in the quick start? A broken link? Fix it and open a PR. Documentation PRs are merged fast.
|
|
18
|
+
|
|
19
|
+
### 3. Add an example project
|
|
20
|
+
|
|
21
|
+
Build something small with SpecAg (a todo app, a CLI tool, an API) and submit it to `examples/`. Include:
|
|
22
|
+
|
|
23
|
+
- `specag.config.yaml` with your tier choice
|
|
24
|
+
- At least 2-3 specs showing the spec-driven flow
|
|
25
|
+
- A README explaining what you built and what tier you used
|
|
26
|
+
|
|
27
|
+
### 4. Write a custom hook
|
|
28
|
+
|
|
29
|
+
Implement the `PreCallHook` interface for a use case we haven't covered. Examples:
|
|
30
|
+
|
|
31
|
+
- A hook that reads blocker status from Jira/Linear instead of a local YAML file
|
|
32
|
+
- A hook that enforces different token caps on weekends vs weekdays
|
|
33
|
+
- A hook that routes different epic categories to different models
|
|
34
|
+
|
|
35
|
+
### 5. Contribute a tier profile
|
|
36
|
+
|
|
37
|
+
If you've customized the tier matrix for your use case (e.g., a "regulated" tier between T3 and T4), submit it as a PR to `templates/`.
|
|
38
|
+
|
|
39
|
+
## Development Setup
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
git clone https://github.com/dedeepyasai/specag.git
|
|
43
|
+
cd specag
|
|
44
|
+
python -m venv .venv
|
|
45
|
+
source .venv/bin/activate # or .venv\Scripts\activate on Windows
|
|
46
|
+
pip install -e ".[dev]"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Running tests
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pytest
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Code style
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
ruff check rootine/
|
|
59
|
+
ruff format rootine/
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Pull Request Guidelines
|
|
63
|
+
|
|
64
|
+
1. **One PR per change.** Don't bundle unrelated fixes.
|
|
65
|
+
2. **Write a clear description.** What changed, why, and how to test it.
|
|
66
|
+
3. **Follow existing patterns.** Read the code around your change before writing new abstractions.
|
|
67
|
+
4. **No comments unless the WHY is non-obvious.** Code should be self-documenting.
|
|
68
|
+
5. **Test your change.** If you're adding CLI functionality, manually test `specag <command>`.
|
|
69
|
+
|
|
70
|
+
## Code of Conduct
|
|
71
|
+
|
|
72
|
+
Be kind. Be constructive. Focus on the work, not the person. This is a blameless project (see the Bible's retro rules — they apply to contributions too).
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
By contributing, you agree that your contributions will be licensed under the MIT License.
|
specag-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Datta
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
specag-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: specag
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Run an AI engineering team with full cost control and traceability.
|
|
5
|
+
Project-URL: Homepage, https://github.com/dedeepyasai/specag
|
|
6
|
+
Project-URL: Documentation, https://dedeepyasai.github.io/specag-site/documentation.html
|
|
7
|
+
Project-URL: Repository, https://github.com/dedeepyasai/specag
|
|
8
|
+
Project-URL: Issues, https://github.com/dedeepyasai/specag/issues
|
|
9
|
+
Author-email: Dedeepya Sai Gondi <sai.gondi@ieee.org>
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: agile,ai-agents,cost-control,llm,multi-agent,scrum,spec-driven-development
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Requires-Dist: click>=8.0
|
|
23
|
+
Requires-Dist: pyyaml>=6.0
|
|
24
|
+
Requires-Dist: rich>=13.0
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
27
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
|
|
30
|
+
# SpecAg
|
|
31
|
+
|
|
32
|
+
**Run an AI-powered engineering team with full cost control and traceability.**
|
|
33
|
+
|
|
34
|
+
SpecAg is an open-source, opinionated framework for running real software projects with AI agents doing the development work — using proper Agile ceremonies, spec-driven development, and hard budget guardrails. Built for solo founders and small teams who want AI leverage without AI chaos.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pip install specag
|
|
38
|
+
specag init
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## What SpecAg Does
|
|
44
|
+
|
|
45
|
+
Most AI coding tools solve the **typing** problem. SpecAg solves the **engineering process** problem.
|
|
46
|
+
|
|
47
|
+
| Without SpecAg | With SpecAg |
|
|
48
|
+
|---|---|
|
|
49
|
+
| AI burns $200 overnight on a feature you didn't ask for | Hard daily/weekly token caps with automatic pause |
|
|
50
|
+
| No spec, no tests, no review | Every line of code traces back to an approved spec |
|
|
51
|
+
| "What did the AI do while I was at work?" | Full audit trail: spec + prompt + output + cost |
|
|
52
|
+
| Blocked on a human decision? AI keeps burning tokens. | Cascading 1/3/7 day SLA — T+7 = hard pause, zero spend |
|
|
53
|
+
| One-size-fits-all process | Stakes-based tiers: Starter → Personal → Medium → Enterprise |
|
|
54
|
+
|
|
55
|
+
## The Team
|
|
56
|
+
|
|
57
|
+
SpecAg gives you a 4-role team. 1 human, 3 AI agents.
|
|
58
|
+
|
|
59
|
+
| Role | Who | What they do |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| **Advisor** | You (human) | Vision, architecture, QA, final say. ~10 hrs/week. |
|
|
62
|
+
| **Lead Dev** | AI agent | Architecture, complex features, PR reviews |
|
|
63
|
+
| **Associate** | AI agent | Smaller features, tests, infra scripts |
|
|
64
|
+
| **PO Agent** | AI agent | Backlog, ceremonies, daily reports, process glue |
|
|
65
|
+
|
|
66
|
+
All coordination happens over Slack. No meetings. No Jira.
|
|
67
|
+
|
|
68
|
+
## Quick Start
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Install
|
|
72
|
+
pip install specag
|
|
73
|
+
|
|
74
|
+
# Initialize a new project (interactive tier picker)
|
|
75
|
+
specag init
|
|
76
|
+
|
|
77
|
+
# Prepare next sprint (Saturday)
|
|
78
|
+
specag sprint prepare
|
|
79
|
+
|
|
80
|
+
# Kick off sprint (Sunday)
|
|
81
|
+
specag sprint kickoff
|
|
82
|
+
|
|
83
|
+
# Check cost and token usage
|
|
84
|
+
specag stats
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
See [Quick Start Guide](docs/quick-start.md) for the full 10-minute walkthrough.
|
|
88
|
+
|
|
89
|
+
## Stakes-Based Tiers
|
|
90
|
+
|
|
91
|
+
SpecAg tiers projects by **stakes, not user count**. A HIPAA app with 20 users needs more rigor than a meme app with 10M users.
|
|
92
|
+
|
|
93
|
+
| Tier | When to use | Ceremonies | Spec required | Cost enforcement |
|
|
94
|
+
|---|---|---|---|---|
|
|
95
|
+
| **T1 Starter** | Learning, experiments, tutorials | Optional | Optional | Always on |
|
|
96
|
+
| **T2 Personal** | Real side project, solo owner | Recommended | Recommended | Always on |
|
|
97
|
+
| **T3 Medium** | Paying users, real revenue | Required | Required | Always on |
|
|
98
|
+
|
|
99
|
+
> **Cost enforcement is strict at every tier.** That's the point. Even a hello-world project gets token caps, because the point is to prevent runaway spend.
|
|
100
|
+
|
|
101
|
+
Set your tier in `specag.config.yaml`:
|
|
102
|
+
|
|
103
|
+
```yaml
|
|
104
|
+
project:
|
|
105
|
+
name: "my-project"
|
|
106
|
+
tier: personal # starter | personal | medium
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
See [Tier Matrix](docs/tier-matrix.md) for the full strictness breakdown.
|
|
110
|
+
|
|
111
|
+
## Cost Enforcement (The Moat)
|
|
112
|
+
|
|
113
|
+
Every AI coding tool watches your spend. **SpecAg stops it.**
|
|
114
|
+
|
|
115
|
+
### Pre-Call Hook Chain
|
|
116
|
+
|
|
117
|
+
Before any LLM API call, a chain of hooks runs. First non-ALLOW decision wins:
|
|
118
|
+
|
|
119
|
+
| Hook | What it does |
|
|
120
|
+
|---|---|
|
|
121
|
+
| `DailyCapHook` | Reject if daily token cap reached |
|
|
122
|
+
| `WeeklyCapHook` | Reject if weekly cap reached |
|
|
123
|
+
| `WorkWindowHook` | Reject if outside work hours |
|
|
124
|
+
| `PausedRegistryHook` | Reject if epic is hard-paused (blocker T+7) |
|
|
125
|
+
| `PCModeHook` | Downgrade to cheaper model during discovery phases |
|
|
126
|
+
| `BudgetGuardHook` | Reject if estimated cost exceeds remaining budget |
|
|
127
|
+
|
|
128
|
+
Hooks are pluggable. Swap, add, or remove by editing `hooks.yaml` — no code changes.
|
|
129
|
+
|
|
130
|
+
### Cascading Blocker SLA
|
|
131
|
+
|
|
132
|
+
When work is blocked on a human decision:
|
|
133
|
+
|
|
134
|
+
| Day | What happens |
|
|
135
|
+
|---|---|
|
|
136
|
+
| **T+1** | PO Agent nudges in Slack |
|
|
137
|
+
| **T+3** | Priority bumps. Downstream impact broadcast. |
|
|
138
|
+
| **T+7** | **HARD PAUSE.** Token tracker rejects ALL LLM calls on blocked paths. Zero spend until human responds. |
|
|
139
|
+
|
|
140
|
+
Most tools observe. SpecAg enforces.
|
|
141
|
+
|
|
142
|
+
## Spec-Driven Development
|
|
143
|
+
|
|
144
|
+
No code without a spec. No commit without a spec reference. No PR without a spec update.
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
Spec (business + technical + acceptance criteria)
|
|
148
|
+
→ AI implements against the spec
|
|
149
|
+
→ Commit references the spec (git hook enforces)
|
|
150
|
+
→ PR updates the spec changelog (CI enforces)
|
|
151
|
+
→ Demo proves the spec works
|
|
152
|
+
→ Human accepts
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
AI agents have no memory between conversations. **The spec IS their memory.**
|
|
156
|
+
|
|
157
|
+
## Honest Comparison
|
|
158
|
+
|
|
159
|
+
SpecAg is inspired by and builds on ideas from [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD), [GitHub Spec Kit](https://github.com/github/spec-kit), and [MetaGPT](https://github.com/FoundationAgents/MetaGPT). Here's what's different:
|
|
160
|
+
|
|
161
|
+
| Feature | BMAD | Spec Kit | MetaGPT | **SpecAg** |
|
|
162
|
+
|---|---|---|---|---|
|
|
163
|
+
| Agent roles (PM, Dev, etc.) | Yes | No | Yes | Yes |
|
|
164
|
+
| Spec-driven development | Yes | Yes | Partial | Yes |
|
|
165
|
+
| Token cost enforcement (hard stop) | No | No | No | **Yes** |
|
|
166
|
+
| Cascading blocker SLA (T+7 hard pause) | No | No | No | **Yes** |
|
|
167
|
+
| Stakes-based tier system | No | No | No | **Yes** |
|
|
168
|
+
| Sustainable pace ceiling | No | No | No | **Yes** |
|
|
169
|
+
| Pluggable hook architecture | No | Partial | No | **Yes** |
|
|
170
|
+
| Solo-founder-with-day-job persona | No | No | No | **Yes** |
|
|
171
|
+
|
|
172
|
+
We don't pretend to be unique in every dimension. We're unique where it matters: **cost control + human-compatible pacing.**
|
|
173
|
+
|
|
174
|
+
## Documentation
|
|
175
|
+
|
|
176
|
+
| Doc | What it covers |
|
|
177
|
+
|---|---|
|
|
178
|
+
| [Quick Start](docs/quick-start.md) | Zero to first spec in 10 minutes |
|
|
179
|
+
| [Study Guide](docs/study-guide.md) | Learning path for understanding the full framework |
|
|
180
|
+
| [Project Bible](docs/bible.md) | The complete methodology reference (~2000 lines) |
|
|
181
|
+
| [Tier Matrix](docs/tier-matrix.md) | What's strict/lenient at each tier |
|
|
182
|
+
| [Architecture](docs/architecture.md) | How the pieces fit together |
|
|
183
|
+
| [Roadmap](docs/roadmap.md) | What's built, what's next |
|
|
184
|
+
|
|
185
|
+
## Who This Is For
|
|
186
|
+
|
|
187
|
+
- **Solo founders with a day job** who want AI leverage without full-time babysitting
|
|
188
|
+
- **Small teams (2-5)** adopting AI agents for real production work
|
|
189
|
+
- **Anyone burned by "vibe coding"** who wants the discipline layer back
|
|
190
|
+
|
|
191
|
+
## Who This Is NOT For
|
|
192
|
+
|
|
193
|
+
- Teams that want fully autonomous AI (try [Devin](https://devin.ai))
|
|
194
|
+
- Teams that just need code completion (try [Cursor](https://cursor.sh) or [Copilot](https://github.com/features/copilot))
|
|
195
|
+
- Enterprise teams that need Jira/Linear integration today (that's on the roadmap, not shipped)
|
|
196
|
+
|
|
197
|
+
## Estimated Cost
|
|
198
|
+
|
|
199
|
+
Running a full SpecAg team (1 human + 3 AI agents) for a year:
|
|
200
|
+
|
|
201
|
+
| Item | Annual cost |
|
|
202
|
+
|---|---|
|
|
203
|
+
| VPS (4 vCPU / 16GB) | ~$144 |
|
|
204
|
+
| AI APIs (primary + fallback) | ~$280 |
|
|
205
|
+
| **Total** | **~$424/year ($35/month)** |
|
|
206
|
+
|
|
207
|
+
The framework is designed to stay under $500/year total. Cost enforcement makes this a ceiling, not a guess.
|
|
208
|
+
|
|
209
|
+
## Contributing
|
|
210
|
+
|
|
211
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md). We welcome:
|
|
212
|
+
- Bug reports and feature requests
|
|
213
|
+
- Documentation improvements
|
|
214
|
+
- New hook implementations
|
|
215
|
+
- Tier profile contributions
|
|
216
|
+
- Example projects
|
|
217
|
+
|
|
218
|
+
## License
|
|
219
|
+
|
|
220
|
+
MIT. Use it, fork it, sell products built with it. See [LICENSE](LICENSE).
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
*Built by [Dedeepya Sai Gondi](https://github.com/dedeepyasai) in Dallas, TX. Dogfooded on real projects.*
|
specag-0.1.0/README.md
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# SpecAg
|
|
2
|
+
|
|
3
|
+
**Run an AI-powered engineering team with full cost control and traceability.**
|
|
4
|
+
|
|
5
|
+
SpecAg is an open-source, opinionated framework for running real software projects with AI agents doing the development work — using proper Agile ceremonies, spec-driven development, and hard budget guardrails. Built for solo founders and small teams who want AI leverage without AI chaos.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install specag
|
|
9
|
+
specag init
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## What SpecAg Does
|
|
15
|
+
|
|
16
|
+
Most AI coding tools solve the **typing** problem. SpecAg solves the **engineering process** problem.
|
|
17
|
+
|
|
18
|
+
| Without SpecAg | With SpecAg |
|
|
19
|
+
|---|---|
|
|
20
|
+
| AI burns $200 overnight on a feature you didn't ask for | Hard daily/weekly token caps with automatic pause |
|
|
21
|
+
| No spec, no tests, no review | Every line of code traces back to an approved spec |
|
|
22
|
+
| "What did the AI do while I was at work?" | Full audit trail: spec + prompt + output + cost |
|
|
23
|
+
| Blocked on a human decision? AI keeps burning tokens. | Cascading 1/3/7 day SLA — T+7 = hard pause, zero spend |
|
|
24
|
+
| One-size-fits-all process | Stakes-based tiers: Starter → Personal → Medium → Enterprise |
|
|
25
|
+
|
|
26
|
+
## The Team
|
|
27
|
+
|
|
28
|
+
SpecAg gives you a 4-role team. 1 human, 3 AI agents.
|
|
29
|
+
|
|
30
|
+
| Role | Who | What they do |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| **Advisor** | You (human) | Vision, architecture, QA, final say. ~10 hrs/week. |
|
|
33
|
+
| **Lead Dev** | AI agent | Architecture, complex features, PR reviews |
|
|
34
|
+
| **Associate** | AI agent | Smaller features, tests, infra scripts |
|
|
35
|
+
| **PO Agent** | AI agent | Backlog, ceremonies, daily reports, process glue |
|
|
36
|
+
|
|
37
|
+
All coordination happens over Slack. No meetings. No Jira.
|
|
38
|
+
|
|
39
|
+
## Quick Start
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Install
|
|
43
|
+
pip install specag
|
|
44
|
+
|
|
45
|
+
# Initialize a new project (interactive tier picker)
|
|
46
|
+
specag init
|
|
47
|
+
|
|
48
|
+
# Prepare next sprint (Saturday)
|
|
49
|
+
specag sprint prepare
|
|
50
|
+
|
|
51
|
+
# Kick off sprint (Sunday)
|
|
52
|
+
specag sprint kickoff
|
|
53
|
+
|
|
54
|
+
# Check cost and token usage
|
|
55
|
+
specag stats
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
See [Quick Start Guide](docs/quick-start.md) for the full 10-minute walkthrough.
|
|
59
|
+
|
|
60
|
+
## Stakes-Based Tiers
|
|
61
|
+
|
|
62
|
+
SpecAg tiers projects by **stakes, not user count**. A HIPAA app with 20 users needs more rigor than a meme app with 10M users.
|
|
63
|
+
|
|
64
|
+
| Tier | When to use | Ceremonies | Spec required | Cost enforcement |
|
|
65
|
+
|---|---|---|---|---|
|
|
66
|
+
| **T1 Starter** | Learning, experiments, tutorials | Optional | Optional | Always on |
|
|
67
|
+
| **T2 Personal** | Real side project, solo owner | Recommended | Recommended | Always on |
|
|
68
|
+
| **T3 Medium** | Paying users, real revenue | Required | Required | Always on |
|
|
69
|
+
|
|
70
|
+
> **Cost enforcement is strict at every tier.** That's the point. Even a hello-world project gets token caps, because the point is to prevent runaway spend.
|
|
71
|
+
|
|
72
|
+
Set your tier in `specag.config.yaml`:
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
project:
|
|
76
|
+
name: "my-project"
|
|
77
|
+
tier: personal # starter | personal | medium
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
See [Tier Matrix](docs/tier-matrix.md) for the full strictness breakdown.
|
|
81
|
+
|
|
82
|
+
## Cost Enforcement (The Moat)
|
|
83
|
+
|
|
84
|
+
Every AI coding tool watches your spend. **SpecAg stops it.**
|
|
85
|
+
|
|
86
|
+
### Pre-Call Hook Chain
|
|
87
|
+
|
|
88
|
+
Before any LLM API call, a chain of hooks runs. First non-ALLOW decision wins:
|
|
89
|
+
|
|
90
|
+
| Hook | What it does |
|
|
91
|
+
|---|---|
|
|
92
|
+
| `DailyCapHook` | Reject if daily token cap reached |
|
|
93
|
+
| `WeeklyCapHook` | Reject if weekly cap reached |
|
|
94
|
+
| `WorkWindowHook` | Reject if outside work hours |
|
|
95
|
+
| `PausedRegistryHook` | Reject if epic is hard-paused (blocker T+7) |
|
|
96
|
+
| `PCModeHook` | Downgrade to cheaper model during discovery phases |
|
|
97
|
+
| `BudgetGuardHook` | Reject if estimated cost exceeds remaining budget |
|
|
98
|
+
|
|
99
|
+
Hooks are pluggable. Swap, add, or remove by editing `hooks.yaml` — no code changes.
|
|
100
|
+
|
|
101
|
+
### Cascading Blocker SLA
|
|
102
|
+
|
|
103
|
+
When work is blocked on a human decision:
|
|
104
|
+
|
|
105
|
+
| Day | What happens |
|
|
106
|
+
|---|---|
|
|
107
|
+
| **T+1** | PO Agent nudges in Slack |
|
|
108
|
+
| **T+3** | Priority bumps. Downstream impact broadcast. |
|
|
109
|
+
| **T+7** | **HARD PAUSE.** Token tracker rejects ALL LLM calls on blocked paths. Zero spend until human responds. |
|
|
110
|
+
|
|
111
|
+
Most tools observe. SpecAg enforces.
|
|
112
|
+
|
|
113
|
+
## Spec-Driven Development
|
|
114
|
+
|
|
115
|
+
No code without a spec. No commit without a spec reference. No PR without a spec update.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Spec (business + technical + acceptance criteria)
|
|
119
|
+
→ AI implements against the spec
|
|
120
|
+
→ Commit references the spec (git hook enforces)
|
|
121
|
+
→ PR updates the spec changelog (CI enforces)
|
|
122
|
+
→ Demo proves the spec works
|
|
123
|
+
→ Human accepts
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
AI agents have no memory between conversations. **The spec IS their memory.**
|
|
127
|
+
|
|
128
|
+
## Honest Comparison
|
|
129
|
+
|
|
130
|
+
SpecAg is inspired by and builds on ideas from [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD), [GitHub Spec Kit](https://github.com/github/spec-kit), and [MetaGPT](https://github.com/FoundationAgents/MetaGPT). Here's what's different:
|
|
131
|
+
|
|
132
|
+
| Feature | BMAD | Spec Kit | MetaGPT | **SpecAg** |
|
|
133
|
+
|---|---|---|---|---|
|
|
134
|
+
| Agent roles (PM, Dev, etc.) | Yes | No | Yes | Yes |
|
|
135
|
+
| Spec-driven development | Yes | Yes | Partial | Yes |
|
|
136
|
+
| Token cost enforcement (hard stop) | No | No | No | **Yes** |
|
|
137
|
+
| Cascading blocker SLA (T+7 hard pause) | No | No | No | **Yes** |
|
|
138
|
+
| Stakes-based tier system | No | No | No | **Yes** |
|
|
139
|
+
| Sustainable pace ceiling | No | No | No | **Yes** |
|
|
140
|
+
| Pluggable hook architecture | No | Partial | No | **Yes** |
|
|
141
|
+
| Solo-founder-with-day-job persona | No | No | No | **Yes** |
|
|
142
|
+
|
|
143
|
+
We don't pretend to be unique in every dimension. We're unique where it matters: **cost control + human-compatible pacing.**
|
|
144
|
+
|
|
145
|
+
## Documentation
|
|
146
|
+
|
|
147
|
+
| Doc | What it covers |
|
|
148
|
+
|---|---|
|
|
149
|
+
| [Quick Start](docs/quick-start.md) | Zero to first spec in 10 minutes |
|
|
150
|
+
| [Study Guide](docs/study-guide.md) | Learning path for understanding the full framework |
|
|
151
|
+
| [Project Bible](docs/bible.md) | The complete methodology reference (~2000 lines) |
|
|
152
|
+
| [Tier Matrix](docs/tier-matrix.md) | What's strict/lenient at each tier |
|
|
153
|
+
| [Architecture](docs/architecture.md) | How the pieces fit together |
|
|
154
|
+
| [Roadmap](docs/roadmap.md) | What's built, what's next |
|
|
155
|
+
|
|
156
|
+
## Who This Is For
|
|
157
|
+
|
|
158
|
+
- **Solo founders with a day job** who want AI leverage without full-time babysitting
|
|
159
|
+
- **Small teams (2-5)** adopting AI agents for real production work
|
|
160
|
+
- **Anyone burned by "vibe coding"** who wants the discipline layer back
|
|
161
|
+
|
|
162
|
+
## Who This Is NOT For
|
|
163
|
+
|
|
164
|
+
- Teams that want fully autonomous AI (try [Devin](https://devin.ai))
|
|
165
|
+
- Teams that just need code completion (try [Cursor](https://cursor.sh) or [Copilot](https://github.com/features/copilot))
|
|
166
|
+
- Enterprise teams that need Jira/Linear integration today (that's on the roadmap, not shipped)
|
|
167
|
+
|
|
168
|
+
## Estimated Cost
|
|
169
|
+
|
|
170
|
+
Running a full SpecAg team (1 human + 3 AI agents) for a year:
|
|
171
|
+
|
|
172
|
+
| Item | Annual cost |
|
|
173
|
+
|---|---|
|
|
174
|
+
| VPS (4 vCPU / 16GB) | ~$144 |
|
|
175
|
+
| AI APIs (primary + fallback) | ~$280 |
|
|
176
|
+
| **Total** | **~$424/year ($35/month)** |
|
|
177
|
+
|
|
178
|
+
The framework is designed to stay under $500/year total. Cost enforcement makes this a ceiling, not a guess.
|
|
179
|
+
|
|
180
|
+
## Contributing
|
|
181
|
+
|
|
182
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md). We welcome:
|
|
183
|
+
- Bug reports and feature requests
|
|
184
|
+
- Documentation improvements
|
|
185
|
+
- New hook implementations
|
|
186
|
+
- Tier profile contributions
|
|
187
|
+
- Example projects
|
|
188
|
+
|
|
189
|
+
## License
|
|
190
|
+
|
|
191
|
+
MIT. Use it, fork it, sell products built with it. See [LICENSE](LICENSE).
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
*Built by [Dedeepya Sai Gondi](https://github.com/dedeepyasai) in Dallas, TX. Dogfooded on real projects.*
|