specsmith 0.2.2.dev47__tar.gz → 0.2.2.dev48__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.
- {specsmith-0.2.2.dev47/src/specsmith.egg-info → specsmith-0.2.2.dev48}/PKG-INFO +1 -1
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/pyproject.toml +1 -1
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/upgrader.py +29 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48/src/specsmith.egg-info}/PKG-INFO +1 -1
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/LICENSE +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/README.md +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/setup.cfg +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/__init__.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/__main__.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/architect.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/auditor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/cli.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/compressor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/config.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/credits.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/differ.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/doctor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/executor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/exporter.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/importer.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/warp.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/ledger.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/plugins.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/releaser.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/requirements.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/session.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/tools.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/updater.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/validator.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_auditor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_cli.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_compressor.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_importer.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_integrations.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_scaffolder.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_smoke.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_tools.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_validator.py +0 -0
- {specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/tests/test_vcs.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.2.2.
|
|
7
|
+
version = "0.2.2.dev48"
|
|
8
8
|
description = "Forge governed project scaffolds from the Agentic AI Development Workflow Specification."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -246,6 +246,35 @@ def _sync_full(
|
|
|
246
246
|
out.write_text(tmpl.render(**ctx), encoding="utf-8")
|
|
247
247
|
synced.append(f"{output_rel} (created)")
|
|
248
248
|
|
|
249
|
+
# 6. Essential docs — create stubs if missing (these are needed for audit to pass)
|
|
250
|
+
if not (root / "LEDGER.md").exists():
|
|
251
|
+
(root / "LEDGER.md").write_text("# Ledger\n\nNo entries yet.\n", encoding="utf-8")
|
|
252
|
+
synced.append("LEDGER.md (created)")
|
|
253
|
+
|
|
254
|
+
if not (root / "docs" / "ARCHITECTURE.md").exists():
|
|
255
|
+
try:
|
|
256
|
+
from specsmith.architect import generate_architecture
|
|
257
|
+
|
|
258
|
+
generate_architecture(root)
|
|
259
|
+
synced.append("docs/ARCHITECTURE.md (generated from scan)")
|
|
260
|
+
except Exception: # noqa: BLE001
|
|
261
|
+
arch_path = root / "docs" / "ARCHITECTURE.md"
|
|
262
|
+
arch_path.parent.mkdir(parents=True, exist_ok=True)
|
|
263
|
+
arch_path.write_text(
|
|
264
|
+
f"# Architecture \u2014 {config.name}\n\n[Run `specsmith architect` to populate]\n",
|
|
265
|
+
encoding="utf-8",
|
|
266
|
+
)
|
|
267
|
+
synced.append("docs/ARCHITECTURE.md (stub created)")
|
|
268
|
+
|
|
269
|
+
# Initialize credit tracking if not present
|
|
270
|
+
specsmith_dir = root / ".specsmith"
|
|
271
|
+
credit_budget = specsmith_dir / "credit-budget.json"
|
|
272
|
+
if not credit_budget.exists():
|
|
273
|
+
from specsmith.credits import CreditBudget, save_budget
|
|
274
|
+
|
|
275
|
+
save_budget(root, CreditBudget())
|
|
276
|
+
synced.append(".specsmith/credit-budget.json (created)")
|
|
277
|
+
|
|
249
278
|
return synced
|
|
250
279
|
|
|
251
280
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/bug_report.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/contributing.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/license-MIT.j2
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/community/security.md.j2
RENAMED
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/architecture.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/readthedocs.yaml.j2
RENAMED
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/requirements.md.j2
RENAMED
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/docs/test-spec.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/roles.md.j2
RENAMED
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/rules.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/governance/workflow.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/python/pyproject.toml.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/scripts/setup.cmd.j2
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.2.2.dev47 → specsmith-0.2.2.dev48}/src/specsmith/templates/workflows/release.yml.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|