specsmith 0.1.4.dev37__tar.gz → 0.2.1.dev38__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 (93) hide show
  1. {specsmith-0.1.4.dev37/src/specsmith.egg-info → specsmith-0.2.1.dev38}/PKG-INFO +1 -1
  2. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/pyproject.toml +1 -1
  3. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/__init__.py +1 -1
  4. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38/src/specsmith.egg-info}/PKG-INFO +1 -1
  5. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_auditor.py +9 -7
  6. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_importer.py +2 -2
  7. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_scaffolder.py +7 -7
  8. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/LICENSE +0 -0
  9. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/README.md +0 -0
  10. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/setup.cfg +0 -0
  11. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/__main__.py +0 -0
  12. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/architect.py +0 -0
  13. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/auditor.py +0 -0
  14. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/cli.py +0 -0
  15. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/commands/__init__.py +0 -0
  16. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/compressor.py +0 -0
  17. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/config.py +0 -0
  18. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/credit_analyzer.py +0 -0
  19. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/credits.py +0 -0
  20. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/differ.py +0 -0
  21. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/doctor.py +0 -0
  22. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/exporter.py +0 -0
  23. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/importer.py +0 -0
  24. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/__init__.py +0 -0
  25. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/aider.py +0 -0
  26. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/base.py +0 -0
  27. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/claude_code.py +0 -0
  28. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/copilot.py +0 -0
  29. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/cursor.py +0 -0
  30. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/gemini.py +0 -0
  31. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/warp.py +0 -0
  32. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/integrations/windsurf.py +0 -0
  33. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/ledger.py +0 -0
  34. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/plugins.py +0 -0
  35. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/releaser.py +0 -0
  36. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/requirements.py +0 -0
  37. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/scaffolder.py +0 -0
  38. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/session.py +0 -0
  39. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/agents.md.j2 +0 -0
  40. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
  41. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
  42. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/contributing.md.j2 +0 -0
  43. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
  44. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
  45. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/license-MIT.j2 +0 -0
  46. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
  47. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/community/security.md.j2 +0 -0
  48. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
  49. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
  50. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
  51. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
  52. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/editorconfig.j2 +0 -0
  53. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/gitattributes.j2 +0 -0
  54. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/gitignore.j2 +0 -0
  55. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
  56. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
  57. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/governance/roles.md.j2 +0 -0
  58. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/governance/rules.md.j2 +0 -0
  59. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/governance/verification.md.j2 +0 -0
  60. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
  61. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/ledger.md.j2 +0 -0
  62. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/pyproject.toml.j2 +0 -0
  63. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/python/cli.py.j2 +0 -0
  64. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/python/init.py.j2 +0 -0
  65. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/readme.md.j2 +0 -0
  66. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
  67. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
  68. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
  69. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
  70. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
  71. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
  72. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/tools.py +0 -0
  73. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/updater.py +0 -0
  74. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/upgrader.py +0 -0
  75. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/validator.py +0 -0
  76. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/vcs/__init__.py +0 -0
  77. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/vcs/base.py +0 -0
  78. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/vcs/bitbucket.py +0 -0
  79. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/vcs/github.py +0 -0
  80. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/vcs/gitlab.py +0 -0
  81. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith/vcs_commands.py +0 -0
  82. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith.egg-info/SOURCES.txt +0 -0
  83. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith.egg-info/dependency_links.txt +0 -0
  84. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith.egg-info/entry_points.txt +0 -0
  85. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith.egg-info/requires.txt +0 -0
  86. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/src/specsmith.egg-info/top_level.txt +0 -0
  87. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_cli.py +0 -0
  88. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_compressor.py +0 -0
  89. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_integrations.py +0 -0
  90. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_smoke.py +0 -0
  91. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_tools.py +0 -0
  92. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/tests/test_validator.py +0 -0
  93. {specsmith-0.1.4.dev37 → specsmith-0.2.1.dev38}/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.dev37
3
+ Version: 0.2.1.dev38
4
4
  Summary: Forge governed project scaffolds from the Agentic AI Development Workflow Specification.
5
5
  Author: BitConcepts
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "specsmith"
7
- version = "0.1.4.dev37"
7
+ version = "0.2.1.dev38"
8
8
  description = "Forge governed project scaffolds from the Agentic AI Development Workflow Specification."
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -8,4 +8,4 @@ from importlib.metadata import version as _pkg_version
8
8
  try:
9
9
  __version__: str = _pkg_version("specsmith")
10
10
  except PackageNotFoundError: # running from source without install
11
- __version__ = "0.0.0.dev0"
11
+ __version__ = "0.2.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specsmith
3
- Version: 0.1.4.dev37
3
+ Version: 0.2.1.dev38
4
4
  Summary: Forge governed project scaffolds from the Agentic AI Development Workflow Specification.
5
5
  Author: BitConcepts
6
6
  License: MIT
@@ -19,19 +19,21 @@ def governed_project(tmp_path: Path) -> Path:
19
19
  gov = tmp_path / "docs" / "governance"
20
20
  gov.mkdir(parents=True)
21
21
  for f in (
22
- "rules.md",
23
- "workflow.md",
24
- "roles.md",
25
- "context-budget.md",
26
- "verification.md",
27
- "drift-metrics.md",
22
+ "RULES.md",
23
+ "WORKFLOW.md",
24
+ "ROLES.md",
25
+ "CONTEXT-BUDGET.md",
26
+ "VERIFICATION.md",
27
+ "DRIFT-METRICS.md",
28
28
  ):
29
29
  (gov / f).write_text(f"# {f}\nContent.\n", encoding="utf-8")
30
30
 
31
31
  docs = tmp_path / "docs"
32
32
  (docs / "REQUIREMENTS.md").write_text("# Reqs\n", encoding="utf-8")
33
33
  (docs / "TEST_SPEC.md").write_text("# Tests\n", encoding="utf-8")
34
- (docs / "architecture.md").write_text("# Arch\n", encoding="utf-8")
34
+ (docs / "ARCHITECTURE.md").write_text("# Arch\n", encoding="utf-8")
35
+ (tmp_path / "CONTRIBUTING.md").write_text("# Contributing\n", encoding="utf-8")
36
+ (tmp_path / "LICENSE").write_text("MIT License\n", encoding="utf-8")
35
37
 
36
38
  return tmp_path
37
39
 
@@ -146,7 +146,7 @@ class TestGenerateOverlay:
146
146
  assert "LEDGER.md" in created_names
147
147
  assert "REQUIREMENTS.md" in created_names
148
148
  assert "TEST_SPEC.md" in created_names
149
- assert "architecture.md" in created_names
149
+ assert "ARCHITECTURE.md" in created_names
150
150
 
151
151
  def test_overlay_skip_existing(self, tmp_path: Path) -> None:
152
152
  root = _make_python_project(tmp_path)
@@ -181,5 +181,5 @@ class TestGenerateOverlay:
181
181
  result = detect_project(root)
182
182
  generate_overlay(result, root)
183
183
 
184
- arch = (root / "docs" / "architecture.md").read_text()
184
+ arch = (root / "docs" / "ARCHITECTURE.md").read_text()
185
185
  assert "python" in arch
@@ -48,12 +48,12 @@ class TestScaffoldCLIPython:
48
48
 
49
49
  # Modular governance
50
50
  for gov in (
51
- "rules.md",
52
- "workflow.md",
53
- "roles.md",
54
- "context-budget.md",
55
- "verification.md",
56
- "drift-metrics.md",
51
+ "RULES.md",
52
+ "WORKFLOW.md",
53
+ "ROLES.md",
54
+ "CONTEXT-BUDGET.md",
55
+ "VERIFICATION.md",
56
+ "DRIFT-METRICS.md",
57
57
  ):
58
58
  assert f"docs\\governance\\{gov}" in rel_names or f"docs/governance/{gov}" in rel_names
59
59
 
@@ -99,7 +99,7 @@ class TestScaffoldFPGA:
99
99
  rel_names = {f.name for f in files}
100
100
  assert "AGENTS.md" in rel_names
101
101
  assert "LEDGER.md" in rel_names
102
- assert "rules.md" in rel_names
102
+ assert "RULES.md" in rel_names
103
103
 
104
104
 
105
105
  class TestScaffoldLibrary:
File without changes