specsmith 0.1.4.dev35__tar.gz → 0.1.4.dev36__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.
Files changed (85) hide show
  1. {specsmith-0.1.4.dev35/src/specsmith.egg-info → specsmith-0.1.4.dev36}/PKG-INFO +5 -2
  2. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/README.md +4 -1
  3. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/pyproject.toml +1 -1
  4. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/upgrader.py +8 -0
  5. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36/src/specsmith.egg-info}/PKG-INFO +5 -2
  6. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/LICENSE +0 -0
  7. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/setup.cfg +0 -0
  8. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/__init__.py +0 -0
  9. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/__main__.py +0 -0
  10. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/architect.py +0 -0
  11. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/auditor.py +0 -0
  12. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/cli.py +0 -0
  13. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/commands/__init__.py +0 -0
  14. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/compressor.py +0 -0
  15. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/config.py +0 -0
  16. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/credit_analyzer.py +0 -0
  17. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/credits.py +0 -0
  18. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/differ.py +0 -0
  19. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/doctor.py +0 -0
  20. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/exporter.py +0 -0
  21. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/importer.py +0 -0
  22. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/__init__.py +0 -0
  23. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/aider.py +0 -0
  24. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/base.py +0 -0
  25. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/claude_code.py +0 -0
  26. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/copilot.py +0 -0
  27. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/cursor.py +0 -0
  28. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/gemini.py +0 -0
  29. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/warp.py +0 -0
  30. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/integrations/windsurf.py +0 -0
  31. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/ledger.py +0 -0
  32. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/plugins.py +0 -0
  33. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/releaser.py +0 -0
  34. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/requirements.py +0 -0
  35. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/scaffolder.py +0 -0
  36. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/session.py +0 -0
  37. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/agents.md.j2 +0 -0
  38. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
  39. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
  40. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
  41. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
  42. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/editorconfig.j2 +0 -0
  43. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/gitattributes.j2 +0 -0
  44. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/gitignore.j2 +0 -0
  45. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
  46. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
  47. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/governance/roles.md.j2 +0 -0
  48. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/governance/rules.md.j2 +0 -0
  49. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/governance/verification.md.j2 +0 -0
  50. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
  51. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/ledger.md.j2 +0 -0
  52. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/pyproject.toml.j2 +0 -0
  53. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/python/cli.py.j2 +0 -0
  54. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/python/init.py.j2 +0 -0
  55. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/readme.md.j2 +0 -0
  56. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
  57. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
  58. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
  59. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
  60. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
  61. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
  62. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/tools.py +0 -0
  63. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/updater.py +0 -0
  64. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/validator.py +0 -0
  65. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/vcs/__init__.py +0 -0
  66. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/vcs/base.py +0 -0
  67. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/vcs/bitbucket.py +0 -0
  68. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/vcs/github.py +0 -0
  69. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/vcs/gitlab.py +0 -0
  70. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith/vcs_commands.py +0 -0
  71. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith.egg-info/SOURCES.txt +0 -0
  72. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith.egg-info/dependency_links.txt +0 -0
  73. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith.egg-info/entry_points.txt +0 -0
  74. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith.egg-info/requires.txt +0 -0
  75. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/src/specsmith.egg-info/top_level.txt +0 -0
  76. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_auditor.py +0 -0
  77. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_cli.py +0 -0
  78. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_compressor.py +0 -0
  79. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_importer.py +0 -0
  80. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_integrations.py +0 -0
  81. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_scaffolder.py +0 -0
  82. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_smoke.py +0 -0
  83. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_tools.py +0 -0
  84. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_validator.py +0 -0
  85. {specsmith-0.1.4.dev35 → specsmith-0.1.4.dev36}/tests/test_vcs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specsmith
3
- Version: 0.1.4.dev35
3
+ Version: 0.1.4.dev36
4
4
  Summary: Forge governed project scaffolds from the Agentic AI Development Workflow Specification.
5
5
  Author: BitConcepts
6
6
  License: MIT
@@ -99,13 +99,14 @@ specsmith doctor --project-dir ./my-project # Tool check
99
99
 
100
100
  Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-specific directory structure, governance rules in AGENTS.md, and pre-populated requirements and test stubs.
101
101
 
102
- ## 30+ CLI Commands
102
+ ## 40+ CLI Commands
103
103
 
104
104
  | Command | Purpose |
105
105
  |---------|---------|
106
106
  | `init` | Scaffold a new governed project |
107
107
  | `import` | Adopt an existing project (merge mode) |
108
108
  | `audit` | Drift detection and health checks (`--fix` to auto-repair) |
109
+ | `architect` | Interactive architecture generation |
109
110
  | `validate` | Governance file consistency checks |
110
111
  | `compress` | Archive old ledger entries |
111
112
  | `upgrade` | Update governance to new spec version |
@@ -113,6 +114,8 @@ Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-s
113
114
  | `diff` | Compare governance against templates |
114
115
  | `export` | Compliance report with REQ↔TEST coverage |
115
116
  | `doctor` | Check if verification tools are installed |
117
+ | `self-update` | Update specsmith (channel-aware) |
118
+ | `credits` | AI credit tracking, analysis, and budgets |
116
119
 
117
120
  ## 7 Agent Integrations
118
121
 
@@ -56,13 +56,14 @@ specsmith doctor --project-dir ./my-project # Tool check
56
56
 
57
57
  Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-specific directory structure, governance rules in AGENTS.md, and pre-populated requirements and test stubs.
58
58
 
59
- ## 30+ CLI Commands
59
+ ## 40+ CLI Commands
60
60
 
61
61
  | Command | Purpose |
62
62
  |---------|---------|
63
63
  | `init` | Scaffold a new governed project |
64
64
  | `import` | Adopt an existing project (merge mode) |
65
65
  | `audit` | Drift detection and health checks (`--fix` to auto-repair) |
66
+ | `architect` | Interactive architecture generation |
66
67
  | `validate` | Governance file consistency checks |
67
68
  | `compress` | Archive old ledger entries |
68
69
  | `upgrade` | Update governance to new spec version |
@@ -70,6 +71,8 @@ Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-s
70
71
  | `diff` | Compare governance against templates |
71
72
  | `export` | Compliance report with REQ↔TEST coverage |
72
73
  | `doctor` | Check if verification tools are installed |
74
+ | `self-update` | Update specsmith (channel-aware) |
75
+ | `credits` | AI credit tracking, analysis, and budgets |
73
76
 
74
77
  ## 7 Agent Integrations
75
78
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "specsmith"
7
- version = "0.1.4.dev35"
7
+ version = "0.1.4.dev36"
8
8
  description = "Forge governed project scaffolds from the Agentic AI Development Workflow Specification."
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -110,6 +110,14 @@ def run_upgrade(
110
110
  yaml.dump(raw, f, default_flow_style=False, sort_keys=False)
111
111
  result.updated_files.append("scaffold.yml")
112
112
 
113
+ # Initialize credit tracking if not present
114
+ specsmith_dir = root / ".specsmith"
115
+ if not specsmith_dir.exists():
116
+ from specsmith.credits import CreditBudget, save_budget
117
+
118
+ save_budget(root, CreditBudget())
119
+ result.updated_files.append(".specsmith/credit-budget.json")
120
+
113
121
  result.message = (
114
122
  f"Upgraded from {old_version} to {new_version}. "
115
123
  f"{len(result.updated_files)} files updated, {len(result.skipped_files)} skipped."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specsmith
3
- Version: 0.1.4.dev35
3
+ Version: 0.1.4.dev36
4
4
  Summary: Forge governed project scaffolds from the Agentic AI Development Workflow Specification.
5
5
  Author: BitConcepts
6
6
  License: MIT
@@ -99,13 +99,14 @@ specsmith doctor --project-dir ./my-project # Tool check
99
99
 
100
100
  Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-specific directory structure, governance rules in AGENTS.md, and pre-populated requirements and test stubs.
101
101
 
102
- ## 30+ CLI Commands
102
+ ## 40+ CLI Commands
103
103
 
104
104
  | Command | Purpose |
105
105
  |---------|---------|
106
106
  | `init` | Scaffold a new governed project |
107
107
  | `import` | Adopt an existing project (merge mode) |
108
108
  | `audit` | Drift detection and health checks (`--fix` to auto-repair) |
109
+ | `architect` | Interactive architecture generation |
109
110
  | `validate` | Governance file consistency checks |
110
111
  | `compress` | Archive old ledger entries |
111
112
  | `upgrade` | Update governance to new spec version |
@@ -113,6 +114,8 @@ Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-s
113
114
  | `diff` | Compare governance against templates |
114
115
  | `export` | Compliance report with REQ↔TEST coverage |
115
116
  | `doctor` | Check if verification tools are installed |
117
+ | `self-update` | Update specsmith (channel-aware) |
118
+ | `credits` | AI credit tracking, analysis, and budgets |
116
119
 
117
120
  ## 7 Agent Integrations
118
121
 
File without changes