agentscaffold 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.
- agentscaffold-0.1.0/.gitignore +26 -0
- agentscaffold-0.1.0/LICENSE +21 -0
- agentscaffold-0.1.0/PKG-INFO +133 -0
- agentscaffold-0.1.0/README.md +98 -0
- agentscaffold-0.1.0/docs/README.md +11 -0
- agentscaffold-0.1.0/docs/ci-integration.md +130 -0
- agentscaffold-0.1.0/docs/configuration.md +248 -0
- agentscaffold-0.1.0/docs/creating-domain-packs.md +174 -0
- agentscaffold-0.1.0/docs/domain-packs.md +92 -0
- agentscaffold-0.1.0/docs/getting-started.md +189 -0
- agentscaffold-0.1.0/docs/importing-conversations.md +163 -0
- agentscaffold-0.1.0/docs/semi-autonomous-guide.md +224 -0
- agentscaffold-0.1.0/docs/user-guide.md +760 -0
- agentscaffold-0.1.0/pyproject.toml +78 -0
- agentscaffold-0.1.0/src/agentscaffold/__init__.py +3 -0
- agentscaffold-0.1.0/src/agentscaffold/agents/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/agents/cursor.py +36 -0
- agentscaffold-0.1.0/src/agentscaffold/agents/generate.py +42 -0
- agentscaffold-0.1.0/src/agentscaffold/ci/__init__.py +7 -0
- agentscaffold-0.1.0/src/agentscaffold/ci/setup.py +76 -0
- agentscaffold-0.1.0/src/agentscaffold/cli.py +306 -0
- agentscaffold-0.1.0/src/agentscaffold/config.py +303 -0
- agentscaffold-0.1.0/src/agentscaffold/domain/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/domain/loader.py +154 -0
- agentscaffold-0.1.0/src/agentscaffold/domain/registry.py +68 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/manifest.yaml +14 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/prompts/api_design_review.md.j2 +241 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/prompts/contract_testing_review.md.j2 +146 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/standards/backward_compatibility.md.j2 +181 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/standards/error_response.md.j2 +228 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/standards/openapi_validation.md.j2 +170 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/standards/rate_limiting.md.j2 +180 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/api_services/standards/versioning_strategy.md.j2 +164 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/manifest.yaml +14 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/prompts/data_quality_review.md.j2 +87 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/prompts/pipeline_design_review.md.j2 +111 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/standards/backfill_procedures.md.j2 +149 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/standards/data_quality.md.j2 +123 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/standards/idempotency.md.j2 +150 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/standards/schema_evolution.md.j2 +107 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/data_engineering/standards/sla_monitoring.md.j2 +133 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/manifest.yaml +12 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/prompts/memory_constraint_review.md.j2 +202 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/prompts/realtime_deadline_review.md.j2 +198 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/standards/interrupt_handling.md.j2 +210 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/standards/memory_management.md.j2 +183 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/standards/ota_update.md.j2 +218 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/embedded/standards/power_consumption.md.j2 +168 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/manifest.yaml +12 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/prompts/game_loop_review.md.j2 +180 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/prompts/performance_profiling_review.md.j2 +179 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/standards/asset_pipeline.md.j2 +174 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/standards/ecs_patterns.md.j2 +211 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/standards/frame_budget.md.j2 +149 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/game_dev/standards/state_sync.md.j2 +227 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/manifest.yaml +14 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/prompts/cost_analysis_review.md.j2 +177 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/prompts/deployment_safety_review.md.j2 +207 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/prompts/iac_review.md.j2 +212 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/security/threat_model_infrastructure.md.j2 +184 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/standards/iac_patterns.md.j2 +229 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/standards/monitoring_alerting.md.j2 +227 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/standards/rollback_procedures.md.j2 +217 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/infrastructure/standards/secret_management.md.j2 +226 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/manifest.yaml +15 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/prompts/experiment_design_review.md.j2 +104 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/prompts/model_governance_review.md.j2 +95 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/prompts/model_lifecycle_review.md.j2 +113 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/standards/data_drift.md.j2 +103 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/standards/experiment_tracking.md.j2 +121 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/standards/feature_store.md.j2 +139 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/standards/model_serving.md.j2 +164 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mlops/standards/model_versioning.md.j2 +119 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/manifest.yaml +12 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/prompts/app_store_compliance.md.j2 +199 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/prompts/platform_review.md.j2 +208 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/standards/deep_linking.md.j2 +204 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/standards/offline_first.md.j2 +248 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/standards/performance_profiling.md.j2 +207 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/mobile/standards/push_notifications.md.j2 +255 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/manifest.yaml +12 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/prompts/reproducibility_review.md.j2 +184 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/prompts/statistical_rigor_review.md.j2 +203 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/standards/citation_tracking.md.j2 +196 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/standards/data_archival.md.j2 +193 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/standards/experiment_protocol.md.j2 +173 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/research/standards/random_seed.md.j2 +246 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/manifest.yaml +14 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/prompts/quant_architect_implementation_review.md.j2 +267 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/prompts/quant_architect_review.md.j2 +473 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/prompts/quant_code_review.md.j2 +198 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/prompts/strategy_review.md.j2 +144 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/security/threat_model_live_trading.md.j2 +162 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/standards/concurrency_patterns.md.j2 +225 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/standards/performance_patterns.md.j2 +164 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/standards/rl_patterns.md.j2 +209 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/standards/rl_reward_shaping.md.j2 +162 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/trading/standards/traceability.md.j2 +222 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/webapp/manifest.yaml +11 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/webapp/prompts/product_design_review.md.j2 +208 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/webapp/standards/accessibility.md.j2 +191 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/webapp/standards/frontend_testing.md.j2 +186 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/webapp/standards/performance_budgets.md.j2 +182 -0
- agentscaffold-0.1.0/src/agentscaffold/domains/webapp/standards/responsive_design.md.j2 +212 -0
- agentscaffold-0.1.0/src/agentscaffold/import_cmd/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/import_cmd/chatgpt.py +258 -0
- agentscaffold-0.1.0/src/agentscaffold/import_cmd/claude.py +35 -0
- agentscaffold-0.1.0/src/agentscaffold/import_cmd/markdown.py +31 -0
- agentscaffold-0.1.0/src/agentscaffold/import_cmd/router.py +200 -0
- agentscaffold-0.1.0/src/agentscaffold/init_cmd.py +336 -0
- agentscaffold-0.1.0/src/agentscaffold/metrics/__init__.py +7 -0
- agentscaffold-0.1.0/src/agentscaffold/metrics/dashboard.py +137 -0
- agentscaffold-0.1.0/src/agentscaffold/notify/__init__.py +7 -0
- agentscaffold-0.1.0/src/agentscaffold/notify/sender.py +104 -0
- agentscaffold-0.1.0/src/agentscaffold/plan/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/plan/create.py +72 -0
- agentscaffold-0.1.0/src/agentscaffold/plan/lint.py +106 -0
- agentscaffold-0.1.0/src/agentscaffold/plan/status.py +87 -0
- agentscaffold-0.1.0/src/agentscaffold/rendering.py +60 -0
- agentscaffold-0.1.0/src/agentscaffold/retro/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/retro/check.py +94 -0
- agentscaffold-0.1.0/src/agentscaffold/spike/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/spike/create.py +45 -0
- agentscaffold-0.1.0/src/agentscaffold/study/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/study/create.py +47 -0
- agentscaffold-0.1.0/src/agentscaffold/study/lint.py +87 -0
- agentscaffold-0.1.0/src/agentscaffold/study/list_cmd.py +60 -0
- agentscaffold-0.1.0/src/agentscaffold/taskrunner/__init__.py +7 -0
- agentscaffold-0.1.0/src/agentscaffold/taskrunner/setup.py +47 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/agents/agents_md.md.j2 +696 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/agents/cursor_rules.md.j2 +89 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/ci/github_ci.yml.j2 +29 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/ci/github_security.yml.j2 +23 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/ci/github_semi_autonomous.yml.j2 +27 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/contracts/contract_template.md.j2 +43 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/contracts/contracts_readme.md.j2 +31 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/adr_template.md.j2 +44 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/plan_review_checklist.md.j2 +220 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/plan_template.md.j2 +149 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/plan_template_bugfix.md.j2 +80 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/plan_template_refactor.md.j2 +84 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/session_summary.md.j2 +54 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/spike_template.md.j2 +129 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/core/study_template.md.j2 +172 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/pr/pull_request_template.md.j2 +40 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/project/architectural_design_changelog.md.j2 +48 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/project/collaboration_protocol.md.j2 +48 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/project/commands.md.j2 +62 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/project/product_vision.md.j2 +17 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/project/strategy_roadmap.md.j2 +11 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/project/system_architecture.md.j2 +61 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/prompts/plan_critique.md.j2 +115 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/prompts/plan_expansion.md.j2 +192 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/prompts/retrospective.md.j2 +131 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/scaffold_yaml.yaml.j2 +156 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/scripts/notify_script.py.j2 +120 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/security/threat_model_template.md.j2 +70 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/standards/config.md.j2 +401 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/standards/errors.md.j2 +290 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/standards/logging.md.j2 +365 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/standards/testing.md.j2 +905 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/state/backlog.md.j2 +15 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/state/backlog_archive.md.j2 +18 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/state/learnings_tracker.md.j2 +39 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/state/plan_completion_log.md.j2 +35 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/state/workflow_state.md.j2 +19 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/taskrunner/justfile.j2 +54 -0
- agentscaffold-0.1.0/src/agentscaffold/templates/taskrunner/makefile.j2 +58 -0
- agentscaffold-0.1.0/src/agentscaffold/validate/__init__.py +0 -0
- agentscaffold-0.1.0/src/agentscaffold/validate/integration.py +100 -0
- agentscaffold-0.1.0/src/agentscaffold/validate/orchestrator.py +102 -0
- agentscaffold-0.1.0/src/agentscaffold/validate/prohibitions.py +152 -0
- agentscaffold-0.1.0/src/agentscaffold/validate/safety.py +88 -0
- agentscaffold-0.1.0/src/agentscaffold/validate/secrets.py +121 -0
- agentscaffold-0.1.0/tests/__init__.py +0 -0
- agentscaffold-0.1.0/tests/conftest.py +40 -0
- agentscaffold-0.1.0/tests/test_agents.py +106 -0
- agentscaffold-0.1.0/tests/test_ci_taskrunner.py +121 -0
- agentscaffold-0.1.0/tests/test_config.py +131 -0
- agentscaffold-0.1.0/tests/test_domain.py +96 -0
- agentscaffold-0.1.0/tests/test_import.py +390 -0
- agentscaffold-0.1.0/tests/test_init.py +112 -0
- agentscaffold-0.1.0/tests/test_plan.py +153 -0
- agentscaffold-0.1.0/tests/test_study.py +108 -0
- agentscaffold-0.1.0/tests/test_validate.py +136 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*$py.class
|
|
4
|
+
*.egg-info/
|
|
5
|
+
*.egg
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
.eggs/
|
|
9
|
+
*.so
|
|
10
|
+
|
|
11
|
+
.venv/
|
|
12
|
+
venv/
|
|
13
|
+
env/
|
|
14
|
+
|
|
15
|
+
.pytest_cache/
|
|
16
|
+
.ruff_cache/
|
|
17
|
+
.mypy_cache/
|
|
18
|
+
htmlcov/
|
|
19
|
+
.coverage
|
|
20
|
+
coverage.xml
|
|
21
|
+
|
|
22
|
+
*.swp
|
|
23
|
+
*.swo
|
|
24
|
+
*~
|
|
25
|
+
.DS_Store
|
|
26
|
+
Thumbs.db
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Dave Robb
|
|
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.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentscaffold
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Structured AI-assisted development framework with plan lifecycle, review gates, and continuous improvement.
|
|
5
|
+
Project-URL: Homepage, https://github.com/drobbster/agentscaffold
|
|
6
|
+
Project-URL: Documentation, https://github.com/drobbster/agentscaffold#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/drobbster/agentscaffold
|
|
8
|
+
Project-URL: Issues, https://github.com/drobbster/agentscaffold/issues
|
|
9
|
+
Author: Dave Robb
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: agent,ai,claude,cursor,development,llm,scaffolding,workflow
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
22
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Requires-Dist: jinja2>=3.1.0
|
|
25
|
+
Requires-Dist: pydantic>=2.0.0
|
|
26
|
+
Requires-Dist: pyyaml>=6.0
|
|
27
|
+
Requires-Dist: rich>=13.0.0
|
|
28
|
+
Requires-Dist: typer>=0.9.0
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: ruff>=0.4.0; extra == 'dev'
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
# AgentScaffold
|
|
37
|
+
|
|
38
|
+
Structured AI-assisted development framework with plan lifecycle, review gates, and continuous improvement.
|
|
39
|
+
|
|
40
|
+
## What Is This?
|
|
41
|
+
|
|
42
|
+
AgentScaffold gives your AI coding agent (Cursor, Claude Code, Codex, aider, etc.) a structured development workflow. It generates an `AGENTS.md` file that teaches your agent to:
|
|
43
|
+
|
|
44
|
+
- Follow a **plan lifecycle** (Draft -> Review -> Ready -> In Progress -> Complete) with configurable gates
|
|
45
|
+
- Run **devil's advocate** and **expansion reviews** before execution
|
|
46
|
+
- Maintain **interface contracts** between modules
|
|
47
|
+
- Complete **retrospectives** after every plan, feeding learnings back into the process
|
|
48
|
+
- Track state across sessions via **workflow state**, **learnings tracker**, and **plan completion log**
|
|
49
|
+
|
|
50
|
+
## Quick Start
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pip install agentscaffold
|
|
54
|
+
cd my-project
|
|
55
|
+
scaffold init
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The `init` command scaffolds your project with:
|
|
59
|
+
|
|
60
|
+
- `docs/ai/` -- templates, prompts, standards, state files
|
|
61
|
+
- `AGENTS.md` -- rules your AI agent follows automatically
|
|
62
|
+
- `.cursor/rules.md` -- Cursor-specific rules
|
|
63
|
+
- `scaffold.yaml` -- your project's framework configuration
|
|
64
|
+
- `justfile` + `Makefile` -- task runner shortcuts
|
|
65
|
+
- `.github/workflows/` -- CI with security scanning
|
|
66
|
+
|
|
67
|
+
## Execution Profiles
|
|
68
|
+
|
|
69
|
+
**Interactive** (default): Human + AI agent in an IDE conversation. The agent follows AGENTS.md, asks questions when uncertain.
|
|
70
|
+
|
|
71
|
+
**Semi-Autonomous** (opt-in): Agent invoked from CLI/CI without a human present. Adds session tracking, safety boundaries, notification hooks, structured PR output, and cautious execution rules.
|
|
72
|
+
|
|
73
|
+
Both profiles coexist in the same AGENTS.md. The agent self-selects based on invocation context.
|
|
74
|
+
|
|
75
|
+
## Rigor Levels
|
|
76
|
+
|
|
77
|
+
- **Minimal**: Lightweight gates for prototypes and small projects
|
|
78
|
+
- **Standard**: Full plan lifecycle with reviews, contracts, and retrospectives
|
|
79
|
+
- **Strict**: All gates enforced, all plans require approval
|
|
80
|
+
|
|
81
|
+
## Domain Packs
|
|
82
|
+
|
|
83
|
+
Domain packs add specialized review prompts, standards, and approval gates:
|
|
84
|
+
|
|
85
|
+
| Pack | Focus |
|
|
86
|
+
|------|-------|
|
|
87
|
+
| trading | Quantitative finance, RL, traceability |
|
|
88
|
+
| webapp | UX/UI, accessibility, performance budgets |
|
|
89
|
+
| mlops | Model lifecycle, experiment tracking, drift detection |
|
|
90
|
+
| data-engineering | Pipeline quality, schema evolution, SLAs |
|
|
91
|
+
| api-services | API design, backward compatibility, contract testing |
|
|
92
|
+
| infrastructure | IaC, deployment safety, cost analysis |
|
|
93
|
+
| mobile | Platform guidelines, offline-first, app store compliance |
|
|
94
|
+
| game-dev | Game loops, ECS, frame budgets |
|
|
95
|
+
| embedded | Memory constraints, real-time deadlines, OTA safety |
|
|
96
|
+
| research | Reproducibility, statistical rigor, experiment protocol |
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
scaffold domain add trading
|
|
100
|
+
scaffold domain add webapp
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## CLI Commands
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
scaffold init # Set up framework
|
|
107
|
+
scaffold plan create my-feature # Create a plan
|
|
108
|
+
scaffold plan lint --plan 001 # Validate a plan
|
|
109
|
+
scaffold plan status # Dashboard of all plans
|
|
110
|
+
scaffold validate # Run all checks
|
|
111
|
+
scaffold retro check # Find missing retrospectives
|
|
112
|
+
scaffold agents generate # Regenerate AGENTS.md
|
|
113
|
+
scaffold cursor setup # Regenerate .cursor/rules.md
|
|
114
|
+
scaffold import chat.json --format chatgpt # Import conversation
|
|
115
|
+
scaffold ci setup # Generate CI workflows
|
|
116
|
+
scaffold taskrunner setup # Generate justfile + Makefile
|
|
117
|
+
scaffold metrics # Plan analytics
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Documentation
|
|
121
|
+
|
|
122
|
+
Full documentation is in [docs/](docs/):
|
|
123
|
+
|
|
124
|
+
- [User Guide](docs/user-guide.md) -- interaction patterns and session workflow
|
|
125
|
+
- [Getting Started](docs/getting-started.md)
|
|
126
|
+
- [Configuration Reference](docs/configuration.md)
|
|
127
|
+
- [Domain Packs](docs/domain-packs.md)
|
|
128
|
+
- [Semi-Autonomous Guide](docs/semi-autonomous-guide.md)
|
|
129
|
+
- [CI Integration](docs/ci-integration.md)
|
|
130
|
+
|
|
131
|
+
## License
|
|
132
|
+
|
|
133
|
+
MIT
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# AgentScaffold
|
|
2
|
+
|
|
3
|
+
Structured AI-assisted development framework with plan lifecycle, review gates, and continuous improvement.
|
|
4
|
+
|
|
5
|
+
## What Is This?
|
|
6
|
+
|
|
7
|
+
AgentScaffold gives your AI coding agent (Cursor, Claude Code, Codex, aider, etc.) a structured development workflow. It generates an `AGENTS.md` file that teaches your agent to:
|
|
8
|
+
|
|
9
|
+
- Follow a **plan lifecycle** (Draft -> Review -> Ready -> In Progress -> Complete) with configurable gates
|
|
10
|
+
- Run **devil's advocate** and **expansion reviews** before execution
|
|
11
|
+
- Maintain **interface contracts** between modules
|
|
12
|
+
- Complete **retrospectives** after every plan, feeding learnings back into the process
|
|
13
|
+
- Track state across sessions via **workflow state**, **learnings tracker**, and **plan completion log**
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install agentscaffold
|
|
19
|
+
cd my-project
|
|
20
|
+
scaffold init
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The `init` command scaffolds your project with:
|
|
24
|
+
|
|
25
|
+
- `docs/ai/` -- templates, prompts, standards, state files
|
|
26
|
+
- `AGENTS.md` -- rules your AI agent follows automatically
|
|
27
|
+
- `.cursor/rules.md` -- Cursor-specific rules
|
|
28
|
+
- `scaffold.yaml` -- your project's framework configuration
|
|
29
|
+
- `justfile` + `Makefile` -- task runner shortcuts
|
|
30
|
+
- `.github/workflows/` -- CI with security scanning
|
|
31
|
+
|
|
32
|
+
## Execution Profiles
|
|
33
|
+
|
|
34
|
+
**Interactive** (default): Human + AI agent in an IDE conversation. The agent follows AGENTS.md, asks questions when uncertain.
|
|
35
|
+
|
|
36
|
+
**Semi-Autonomous** (opt-in): Agent invoked from CLI/CI without a human present. Adds session tracking, safety boundaries, notification hooks, structured PR output, and cautious execution rules.
|
|
37
|
+
|
|
38
|
+
Both profiles coexist in the same AGENTS.md. The agent self-selects based on invocation context.
|
|
39
|
+
|
|
40
|
+
## Rigor Levels
|
|
41
|
+
|
|
42
|
+
- **Minimal**: Lightweight gates for prototypes and small projects
|
|
43
|
+
- **Standard**: Full plan lifecycle with reviews, contracts, and retrospectives
|
|
44
|
+
- **Strict**: All gates enforced, all plans require approval
|
|
45
|
+
|
|
46
|
+
## Domain Packs
|
|
47
|
+
|
|
48
|
+
Domain packs add specialized review prompts, standards, and approval gates:
|
|
49
|
+
|
|
50
|
+
| Pack | Focus |
|
|
51
|
+
|------|-------|
|
|
52
|
+
| trading | Quantitative finance, RL, traceability |
|
|
53
|
+
| webapp | UX/UI, accessibility, performance budgets |
|
|
54
|
+
| mlops | Model lifecycle, experiment tracking, drift detection |
|
|
55
|
+
| data-engineering | Pipeline quality, schema evolution, SLAs |
|
|
56
|
+
| api-services | API design, backward compatibility, contract testing |
|
|
57
|
+
| infrastructure | IaC, deployment safety, cost analysis |
|
|
58
|
+
| mobile | Platform guidelines, offline-first, app store compliance |
|
|
59
|
+
| game-dev | Game loops, ECS, frame budgets |
|
|
60
|
+
| embedded | Memory constraints, real-time deadlines, OTA safety |
|
|
61
|
+
| research | Reproducibility, statistical rigor, experiment protocol |
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
scaffold domain add trading
|
|
65
|
+
scaffold domain add webapp
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## CLI Commands
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
scaffold init # Set up framework
|
|
72
|
+
scaffold plan create my-feature # Create a plan
|
|
73
|
+
scaffold plan lint --plan 001 # Validate a plan
|
|
74
|
+
scaffold plan status # Dashboard of all plans
|
|
75
|
+
scaffold validate # Run all checks
|
|
76
|
+
scaffold retro check # Find missing retrospectives
|
|
77
|
+
scaffold agents generate # Regenerate AGENTS.md
|
|
78
|
+
scaffold cursor setup # Regenerate .cursor/rules.md
|
|
79
|
+
scaffold import chat.json --format chatgpt # Import conversation
|
|
80
|
+
scaffold ci setup # Generate CI workflows
|
|
81
|
+
scaffold taskrunner setup # Generate justfile + Makefile
|
|
82
|
+
scaffold metrics # Plan analytics
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Documentation
|
|
86
|
+
|
|
87
|
+
Full documentation is in [docs/](docs/):
|
|
88
|
+
|
|
89
|
+
- [User Guide](docs/user-guide.md) -- interaction patterns and session workflow
|
|
90
|
+
- [Getting Started](docs/getting-started.md)
|
|
91
|
+
- [Configuration Reference](docs/configuration.md)
|
|
92
|
+
- [Domain Packs](docs/domain-packs.md)
|
|
93
|
+
- [Semi-Autonomous Guide](docs/semi-autonomous-guide.md)
|
|
94
|
+
- [CI Integration](docs/ci-integration.md)
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# AgentScaffold Documentation
|
|
2
|
+
|
|
3
|
+
| Document | Description |
|
|
4
|
+
|----------|-------------|
|
|
5
|
+
| [Getting Started](getting-started.md) | Installation, init, first plan, review, execution, retrospective, validation |
|
|
6
|
+
| [Configuration](configuration.md) | Full scaffold.yaml reference, gates, rigor presets |
|
|
7
|
+
| [Domain Packs](domain-packs.md) | Available packs, installation, using multiple packs |
|
|
8
|
+
| [Creating Domain Packs](creating-domain-packs.md) | Structure, manifest, prompts, standards |
|
|
9
|
+
| [Semi-Autonomous Guide](semi-autonomous-guide.md) | CLI/CI agent mode, session tracking, safety, notifications |
|
|
10
|
+
| [Importing Conversations](importing-conversations.md) | ChatGPT, markdown, Claude exports |
|
|
11
|
+
| [CI Integration](ci-integration.md) | scaffold ci setup, workflows, task runner |
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# CI Integration
|
|
2
|
+
|
|
3
|
+
AgentScaffold generates GitHub Actions workflows and task runner files to integrate the framework into your CI pipeline.
|
|
4
|
+
|
|
5
|
+
## scaffold ci setup
|
|
6
|
+
|
|
7
|
+
From your project root:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
scaffold ci setup
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This generates files based on your `scaffold.yaml` configuration. Run it after changing CI-related settings (e.g. enabling semi-autonomous, toggling plan lint).
|
|
14
|
+
|
|
15
|
+
## Generated Workflows
|
|
16
|
+
|
|
17
|
+
### ci.yml (main CI)
|
|
18
|
+
|
|
19
|
+
Runs on push and pull request to `main`:
|
|
20
|
+
|
|
21
|
+
- Checkout and Python setup
|
|
22
|
+
- Install dependencies (`pip install -e ".[dev]"`)
|
|
23
|
+
- Lint (`ruff check .`)
|
|
24
|
+
- Test (`pytest -q`)
|
|
25
|
+
- Study lint (`scaffold study lint`) if `ci.study_lint: true`
|
|
26
|
+
- Plan lint (`scaffold plan lint`) if `ci.plan_lint: true` (strict rigor)
|
|
27
|
+
|
|
28
|
+
### security.yml (security scanning)
|
|
29
|
+
|
|
30
|
+
Runs on push and pull request to `main` when `ci.security_scanning: true`:
|
|
31
|
+
|
|
32
|
+
- Bandit SAST (`bandit -r src/ -ll`)
|
|
33
|
+
- TruffleHog for secret detection (`trufflesecurity/trufflehog` with `--only-verified`)
|
|
34
|
+
|
|
35
|
+
### semi-autonomous-pr.yml (agent PR validation)
|
|
36
|
+
|
|
37
|
+
Generated when `semi_autonomous.enabled: true` and `ci.semi_autonomous_pr_checks: true`. Runs on pull requests that:
|
|
38
|
+
|
|
39
|
+
- Have the `agent-created` label, or
|
|
40
|
+
- Have a branch name starting with `agent/`
|
|
41
|
+
|
|
42
|
+
Steps:
|
|
43
|
+
|
|
44
|
+
- Checkout and Python setup
|
|
45
|
+
- Install dependencies
|
|
46
|
+
- `scaffold validate --check-safety-boundaries`
|
|
47
|
+
- `scaffold validate --check-session-summary`
|
|
48
|
+
- Full test suite
|
|
49
|
+
- Lint
|
|
50
|
+
|
|
51
|
+
When semi-autonomous is enabled, `scaffold ci setup` also generates:
|
|
52
|
+
|
|
53
|
+
- `.github/pull_request_template.md` (PR template for agent PRs)
|
|
54
|
+
- `scripts/notify.py` (notification helper script)
|
|
55
|
+
|
|
56
|
+
## Customizing Generated Workflows
|
|
57
|
+
|
|
58
|
+
Generated files are overwritten each time you run `scaffold ci setup`. To customize:
|
|
59
|
+
|
|
60
|
+
1. **Edit after generation**: Modify the generated YAML files. Re-running `scaffold ci setup` will overwrite them, so document your changes or maintain a patch.
|
|
61
|
+
|
|
62
|
+
2. **Add separate workflows**: Create additional workflow files (e.g. `.github/workflows/custom.yml`) that run alongside the generated ones. The generator does not touch files it did not create.
|
|
63
|
+
|
|
64
|
+
3. **Adjust scaffold.yaml**: Toggle `security_scanning`, `study_lint`, `plan_lint`, and `semi_autonomous_pr_checks` to control what gets generated.
|
|
65
|
+
|
|
66
|
+
## Running scaffold validate in CI
|
|
67
|
+
|
|
68
|
+
Add a validation step to any workflow:
|
|
69
|
+
|
|
70
|
+
```yaml
|
|
71
|
+
- name: Validate
|
|
72
|
+
run: scaffold validate
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
For agent-created PRs, use the optional flags:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
- name: Validate safety boundaries
|
|
79
|
+
run: scaffold validate --check-safety-boundaries
|
|
80
|
+
- name: Validate session summary
|
|
81
|
+
run: scaffold validate --check-session-summary
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Ensure `agentscaffold` is installed (e.g. `pip install agentscaffold` or `pip install -e ".[dev]"` if it is a project dependency).
|
|
85
|
+
|
|
86
|
+
## Task Runner Integration
|
|
87
|
+
|
|
88
|
+
Generate task runner files:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
scaffold taskrunner setup
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Options:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
scaffold taskrunner setup --format both # justfile + Makefile (default)
|
|
98
|
+
scaffold taskrunner setup --format justfile
|
|
99
|
+
scaffold taskrunner setup --format makefile
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### justfile
|
|
103
|
+
|
|
104
|
+
Provides targets such as:
|
|
105
|
+
|
|
106
|
+
- `lint-plans`, `plan-status`, `check-retros`, `validate`, `study-lint`, `metrics`
|
|
107
|
+
- `agents-generate`, `cursor-setup`
|
|
108
|
+
- `lint`, `format`, `test`, `test-cov`
|
|
109
|
+
- `ci-setup`
|
|
110
|
+
- `validate-safety`, `validate-session` (when semi-autonomous enabled)
|
|
111
|
+
|
|
112
|
+
### Makefile
|
|
113
|
+
|
|
114
|
+
Similar targets for environments where `make` is preferred over `just`.
|
|
115
|
+
|
|
116
|
+
### Usage
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
just validate
|
|
120
|
+
just lint-plans
|
|
121
|
+
just test
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Or with Make:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
make validate
|
|
128
|
+
make lint-plans
|
|
129
|
+
make test
|
|
130
|
+
```
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# Configuration Reference
|
|
2
|
+
|
|
3
|
+
This document describes every section and field in `scaffold.yaml`. After editing, run `scaffold agents generate` to regenerate AGENTS.md.
|
|
4
|
+
|
|
5
|
+
## Top-Level Sections
|
|
6
|
+
|
|
7
|
+
### framework
|
|
8
|
+
|
|
9
|
+
| Field | Type | Default | Description |
|
|
10
|
+
|-------|------|---------|-------------|
|
|
11
|
+
| version | string | "1.0" | Framework version (informational) |
|
|
12
|
+
| project_name | string | "My Project" | Project name used in templates |
|
|
13
|
+
| architecture_layers | int | 6 | Number of layers in system architecture |
|
|
14
|
+
|
|
15
|
+
### profile
|
|
16
|
+
|
|
17
|
+
| Value | Description |
|
|
18
|
+
|-------|-------------|
|
|
19
|
+
| interactive | Human + AI in IDE. Agent asks questions when uncertain. |
|
|
20
|
+
| semi_autonomous | Agent invoked from CLI/CI without human. Adds session tracking, safety boundaries, notifications. |
|
|
21
|
+
|
|
22
|
+
Default: `interactive`
|
|
23
|
+
|
|
24
|
+
### rigor
|
|
25
|
+
|
|
26
|
+
| Value | Description |
|
|
27
|
+
|-------|-------------|
|
|
28
|
+
| minimal | Lightweight gates for prototypes and small projects |
|
|
29
|
+
| standard | Full plan lifecycle with reviews, contracts, retrospectives |
|
|
30
|
+
| strict | All gates enforced, domain implementation review, approval required |
|
|
31
|
+
|
|
32
|
+
Default: `standard`
|
|
33
|
+
|
|
34
|
+
### domains
|
|
35
|
+
|
|
36
|
+
List of installed domain pack names (e.g. `trading`, `webapp`, `mlops`). Domain packs add review prompts, standards, and approval gates. See [Domain Packs](domain-packs.md).
|
|
37
|
+
|
|
38
|
+
Default: `[]`
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Gates
|
|
43
|
+
|
|
44
|
+
Gates control transitions between plan lifecycle states: Draft -> Review -> Ready -> In Progress -> Complete.
|
|
45
|
+
|
|
46
|
+
### gates.draft_to_review
|
|
47
|
+
|
|
48
|
+
| Field | Type | Default | Description |
|
|
49
|
+
|-------|------|---------|-------------|
|
|
50
|
+
| plan_lint | bool | true | Require plan lint to pass |
|
|
51
|
+
| architecture_layer_check | bool | true | Verify plan maps to a layer in system_architecture.md |
|
|
52
|
+
|
|
53
|
+
### gates.review_to_ready
|
|
54
|
+
|
|
55
|
+
| Field | Type | Default | Description |
|
|
56
|
+
|-------|------|---------|-------------|
|
|
57
|
+
| devils_advocate | bool | true | Require devil's advocate review |
|
|
58
|
+
| expansion_review | bool | true | Require expansion/gap analysis review |
|
|
59
|
+
| domain_reviews | list[str] | [] | Domain-specific review names (from domain packs) |
|
|
60
|
+
| spike_for_high_uncertainty | bool | true | Require spike when plan has high uncertainty |
|
|
61
|
+
| interface_contracts | bool | true | Require interface contracts for exports |
|
|
62
|
+
| security_review | bool | true | Require security review when applicable |
|
|
63
|
+
|
|
64
|
+
### gates.ready_to_in_progress
|
|
65
|
+
|
|
66
|
+
| Field | Type | Default | Description |
|
|
67
|
+
|-------|------|---------|-------------|
|
|
68
|
+
| review_checklist | bool | true | Require plan review checklist completed |
|
|
69
|
+
| approval_gates | bool | true | Require human approval for approval-required changes |
|
|
70
|
+
| interactive_gate | bool | true | Require human confirmation when "review it with me" requested |
|
|
71
|
+
|
|
72
|
+
### gates.in_progress_to_complete
|
|
73
|
+
|
|
74
|
+
| Field | Type | Default | Description |
|
|
75
|
+
|-------|------|---------|-------------|
|
|
76
|
+
| all_steps_checked | bool | true | All execution steps must be checked off |
|
|
77
|
+
| validation_commands | bool | true | Validation commands must pass |
|
|
78
|
+
| tests_pass | bool | true | Tests must pass |
|
|
79
|
+
| retrospective | bool | true | Retrospective must be completed |
|
|
80
|
+
| domain_implementation_review | bool | false | Domain-specific post-implementation review (e.g. quant_architect_implementation) |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Rigor Presets
|
|
85
|
+
|
|
86
|
+
Rigor presets override gate defaults. The preset is applied when loading config.
|
|
87
|
+
|
|
88
|
+
### minimal
|
|
89
|
+
|
|
90
|
+
- `architecture_layer_check`: false
|
|
91
|
+
- `devils_advocate`, `expansion_review`, `spike_for_high_uncertainty`, `interface_contracts`, `security_review`: false
|
|
92
|
+
- `review_checklist`, `approval_gates`, `interactive_gate`: false
|
|
93
|
+
- `retrospective`: false
|
|
94
|
+
|
|
95
|
+
### standard
|
|
96
|
+
|
|
97
|
+
No overrides. Uses default gate values.
|
|
98
|
+
|
|
99
|
+
### strict
|
|
100
|
+
|
|
101
|
+
- `security_review`: true
|
|
102
|
+
- `approval_gates`: true
|
|
103
|
+
- `domain_implementation_review`: true
|
|
104
|
+
- `ci.plan_lint`: true
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## approval_required
|
|
109
|
+
|
|
110
|
+
Determines which change types require human approval before execution.
|
|
111
|
+
|
|
112
|
+
| Field | Type | Default | Description |
|
|
113
|
+
|-------|------|---------|-------------|
|
|
114
|
+
| breaking_changes | bool | true | Breaking API/schema changes |
|
|
115
|
+
| security_sensitive | bool | true | Auth, crypto, secrets |
|
|
116
|
+
| data_migrations | bool | true | Database migrations |
|
|
117
|
+
| infrastructure | bool | true | Terraform, Docker, infra |
|
|
118
|
+
| external_apis | bool | true | External API integrations |
|
|
119
|
+
|
|
120
|
+
Domain packs can add approval gates (e.g. `financial_calculations`, `model_deployment`).
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## standards
|
|
125
|
+
|
|
126
|
+
| Field | Type | Default | Description |
|
|
127
|
+
|-------|------|---------|-------------|
|
|
128
|
+
| core | list[str] | ["errors", "logging", "config", "testing"] | Core standards referenced in plans |
|
|
129
|
+
| domain | list[str] | [] | Domain-specific standards (from domain packs) |
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## prohibitions
|
|
134
|
+
|
|
135
|
+
| Field | Type | Default | Description |
|
|
136
|
+
|-------|------|---------|-------------|
|
|
137
|
+
| emojis | bool | false | Forbid emojis in code, docs, logs |
|
|
138
|
+
| patterns | list[str] | [] | Regex patterns to forbid (e.g. `TODO`, `FIXME`) |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## agents
|
|
143
|
+
|
|
144
|
+
| Field | Type | Default | Description |
|
|
145
|
+
|-------|------|---------|-------------|
|
|
146
|
+
| agents_md | bool | true | Generate AGENTS.md |
|
|
147
|
+
| cursor_rules | bool | true | Generate .cursor/rules.md |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## semi_autonomous
|
|
152
|
+
|
|
153
|
+
Only applies when `profile: semi_autonomous` or `semi_autonomous.enabled: true`.
|
|
154
|
+
|
|
155
|
+
### semi_autonomous.enabled
|
|
156
|
+
|
|
157
|
+
| Type | Default | Description |
|
|
158
|
+
|------|---------|-------------|
|
|
159
|
+
| bool | false | Enable semi-autonomous enhancements |
|
|
160
|
+
|
|
161
|
+
### semi_autonomous.session_tracking
|
|
162
|
+
|
|
163
|
+
| Type | Default | Description |
|
|
164
|
+
|------|---------|-------------|
|
|
165
|
+
| bool | true | Track agent sessions in docs/ai/state/sessions/ |
|
|
166
|
+
|
|
167
|
+
### semi_autonomous.context_handoff
|
|
168
|
+
|
|
169
|
+
| Type | Default | Description |
|
|
170
|
+
|------|---------|-------------|
|
|
171
|
+
| bool | true | Support context handoff between sessions |
|
|
172
|
+
|
|
173
|
+
### semi_autonomous.safety
|
|
174
|
+
|
|
175
|
+
| Field | Type | Default | Description |
|
|
176
|
+
|-------|------|---------|-------------|
|
|
177
|
+
| read_only_paths | list[str] | ["docs/ai/system_architecture.md", "scaffold.yaml", ".github/"] | Paths the agent must not modify |
|
|
178
|
+
| require_approval_paths | list[str] | ["infra/", "docs/security/"] | Paths requiring human approval before modification |
|
|
179
|
+
|
|
180
|
+
### semi_autonomous.notifications
|
|
181
|
+
|
|
182
|
+
| Field | Type | Default | Description |
|
|
183
|
+
|-------|------|---------|-------------|
|
|
184
|
+
| enabled | bool | true | Enable notification hooks |
|
|
185
|
+
| channel | str | "github_issue" | `stdout`, `github_issue`, or `slack` |
|
|
186
|
+
| slack_webhook_env | str | "SLACK_WEBHOOK_URL" | Env var for Slack webhook URL |
|
|
187
|
+
| notify_on | list[str] | ["plan_complete", "escalation", "validation_failure", "approval_required"] | Events that trigger notifications |
|
|
188
|
+
|
|
189
|
+
### semi_autonomous.cautious_execution
|
|
190
|
+
|
|
191
|
+
| Field | Type | Default | Description |
|
|
192
|
+
|-------|------|---------|-------------|
|
|
193
|
+
| max_fix_attempts | int | 2 | Max auto-fix attempts before escalation |
|
|
194
|
+
| max_new_files_before_escalation | int | 5 | Max new files before escalating for review |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## import
|
|
199
|
+
|
|
200
|
+
| Field | Type | Default | Description |
|
|
201
|
+
|-------|------|---------|-------------|
|
|
202
|
+
| conversation_dir | str | "data/conversations" | Directory for imported conversation files |
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## task_runner
|
|
207
|
+
|
|
208
|
+
| Field | Type | Default | Description |
|
|
209
|
+
|-------|------|---------|-------------|
|
|
210
|
+
| justfile | bool | true | Generate justfile |
|
|
211
|
+
| makefile | bool | true | Generate Makefile |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## ci
|
|
216
|
+
|
|
217
|
+
| Field | Type | Default | Description |
|
|
218
|
+
|-------|------|---------|-------------|
|
|
219
|
+
| provider | str | "github" | CI provider (only `github` supported) |
|
|
220
|
+
| security_scanning | bool | true | Generate security workflow (Bandit, TruffleHog) |
|
|
221
|
+
| study_lint | bool | true | Run `scaffold study lint` in CI |
|
|
222
|
+
| plan_lint | bool | false | Run `scaffold plan lint` in CI (true for strict rigor) |
|
|
223
|
+
| semi_autonomous_pr_checks | bool | false | Generate semi-autonomous PR validation workflow |
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## How Gates Interact with Lifecycle
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
Draft --[draft_to_review]--> Review --[review_to_ready]--> Ready
|
|
231
|
+
| | |
|
|
232
|
+
| plan_lint | devils_advocate | review_checklist
|
|
233
|
+
| architecture_layer_check | expansion_review | approval_gates
|
|
234
|
+
| domain_reviews | interactive_gate
|
|
235
|
+
| spike_for_high_uncertainty |
|
|
236
|
+
| interface_contracts |
|
|
237
|
+
| security_review |
|
|
238
|
+
|
|
239
|
+
Ready --[ready_to_in_progress]--> In Progress --[in_progress_to_complete]--> Complete
|
|
240
|
+
| |
|
|
241
|
+
| | all_steps_checked
|
|
242
|
+
| | validation_commands
|
|
243
|
+
| | tests_pass
|
|
244
|
+
| | retrospective
|
|
245
|
+
| | domain_implementation_review
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Disabling a gate skips that requirement. For example, `devils_advocate: false` allows a plan to move from Review to Ready without running the devil's advocate prompt.
|