specsmith 0.3.0.dev139__tar.gz → 0.3.6__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 (171) hide show
  1. specsmith-0.3.6/PKG-INFO +363 -0
  2. specsmith-0.3.6/README.md +298 -0
  3. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/pyproject.toml +39 -4
  4. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/__init__.py +1 -1
  5. specsmith-0.3.6/src/specsmith/agent/providers/gemini.py +246 -0
  6. specsmith-0.3.6/src/specsmith/agent/providers/ollama.py +324 -0
  7. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/providers/openai.py +33 -5
  8. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/runner.py +401 -18
  9. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/tools.py +62 -0
  10. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/auditor.py +4 -4
  11. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/cli.py +1302 -15
  12. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/config.py +90 -14
  13. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/importer.py +210 -45
  14. specsmith-0.3.6/src/specsmith/languages.py +321 -0
  15. specsmith-0.3.6/src/specsmith/ollama_cmds.py +407 -0
  16. specsmith-0.3.6/src/specsmith/phase.py +376 -0
  17. specsmith-0.3.6/src/specsmith/profiles.py +425 -0
  18. specsmith-0.3.6/src/specsmith/retrieval.py +118 -0
  19. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/agents.md.j2 +22 -22
  20. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/docs/requirements.md.j2 +7 -7
  21. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/docs/test-spec.md.j2 +3 -3
  22. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/editorconfig.j2 +10 -10
  23. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/gitattributes.j2 +13 -13
  24. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/gitignore.j2 +17 -17
  25. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/js/package.json.j2 +2 -2
  26. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/ledger.md.j2 +3 -3
  27. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/python/pyproject.toml.j2 +1 -1
  28. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/rust/Cargo.toml.j2 +2 -2
  29. specsmith-0.3.6/src/specsmith/tool_installer.py +471 -0
  30. specsmith-0.3.6/src/specsmith/toolrules.py +404 -0
  31. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/tools.py +40 -1
  32. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/vcs_commands.py +3 -2
  33. specsmith-0.3.6/src/specsmith/wireframes.py +86 -0
  34. specsmith-0.3.6/src/specsmith.egg-info/PKG-INFO +363 -0
  35. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith.egg-info/SOURCES.txt +8 -0
  36. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith.egg-info/requires.txt +1 -1
  37. specsmith-0.3.0.dev139/PKG-INFO +0 -332
  38. specsmith-0.3.0.dev139/README.md +0 -267
  39. specsmith-0.3.0.dev139/src/specsmith/agent/providers/gemini.py +0 -125
  40. specsmith-0.3.0.dev139/src/specsmith/agent/providers/ollama.py +0 -148
  41. specsmith-0.3.0.dev139/src/specsmith.egg-info/PKG-INFO +0 -332
  42. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/LICENSE +0 -0
  43. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/setup.cfg +0 -0
  44. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/__init__.py +0 -0
  45. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/belief.py +0 -0
  46. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/certainty.py +0 -0
  47. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/failure_graph.py +0 -0
  48. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/py.typed +0 -0
  49. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/recovery.py +0 -0
  50. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/session.py +0 -0
  51. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/stress_tester.py +0 -0
  52. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/epistemic/trace.py +0 -0
  53. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/__main__.py +0 -0
  54. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/__init__.py +0 -0
  55. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/core.py +0 -0
  56. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/hooks.py +0 -0
  57. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/optimizer.py +0 -0
  58. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/profiles/epistemic-auditor.md +0 -0
  59. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/profiles/planner.md +0 -0
  60. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/profiles/verifier.md +0 -0
  61. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/providers/__init__.py +0 -0
  62. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/providers/anthropic.py +0 -0
  63. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/providers/mistral.py +0 -0
  64. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/agent/skills.py +0 -0
  65. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/architect.py +0 -0
  66. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/auth.py +0 -0
  67. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/commands/__init__.py +0 -0
  68. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/compressor.py +0 -0
  69. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/credit_analyzer.py +0 -0
  70. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/credits.py +0 -0
  71. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/differ.py +0 -0
  72. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/doctor.py +0 -0
  73. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/epistemic/__init__.py +0 -0
  74. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/epistemic/belief.py +0 -0
  75. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/epistemic/certainty.py +0 -0
  76. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/epistemic/failure_graph.py +0 -0
  77. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/epistemic/recovery.py +0 -0
  78. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/epistemic/stress_tester.py +0 -0
  79. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/executor.py +0 -0
  80. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/exporter.py +0 -0
  81. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/__init__.py +0 -0
  82. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/app.py +0 -0
  83. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/main_window.py +0 -0
  84. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/session_tab.py +0 -0
  85. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/theme.py +0 -0
  86. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/__init__.py +0 -0
  87. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/chat_view.py +0 -0
  88. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/input_bar.py +0 -0
  89. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/provider_bar.py +0 -0
  90. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/token_meter.py +0 -0
  91. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/tool_panel.py +0 -0
  92. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/widgets/update_checker.py +0 -0
  93. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/gui/worker.py +0 -0
  94. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/__init__.py +0 -0
  95. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/aider.py +0 -0
  96. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/base.py +0 -0
  97. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/claude_code.py +0 -0
  98. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/copilot.py +0 -0
  99. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/cursor.py +0 -0
  100. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/gemini.py +0 -0
  101. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/warp.py +0 -0
  102. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/integrations/windsurf.py +0 -0
  103. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/ledger.py +0 -0
  104. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/patent.py +0 -0
  105. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/plugins.py +0 -0
  106. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/rate_limits.py +0 -0
  107. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/releaser.py +0 -0
  108. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/requirements.py +0 -0
  109. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/scaffolder.py +0 -0
  110. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/session.py +0 -0
  111. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
  112. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
  113. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/contributing.md.j2 +0 -0
  114. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
  115. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
  116. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/license-MIT.j2 +0 -0
  117. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
  118. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/community/security.md.j2 +0 -0
  119. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
  120. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
  121. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
  122. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
  123. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/go/go.mod.j2 +0 -0
  124. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/go/main.go.j2 +0 -0
  125. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
  126. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
  127. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
  128. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
  129. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
  130. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/roles.md.j2 +0 -0
  131. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/rules.md.j2 +0 -0
  132. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
  133. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/verification.md.j2 +0 -0
  134. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
  135. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/python/cli.py.j2 +0 -0
  136. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/python/init.py.j2 +0 -0
  137. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/readme.md.j2 +0 -0
  138. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/rust/main.rs.j2 +0 -0
  139. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
  140. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
  141. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
  142. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
  143. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
  144. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
  145. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
  146. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/trace.py +0 -0
  147. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/updater.py +0 -0
  148. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/upgrader.py +0 -0
  149. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/validator.py +0 -0
  150. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/vcs/__init__.py +0 -0
  151. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/vcs/base.py +0 -0
  152. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/vcs/bitbucket.py +0 -0
  153. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/vcs/github.py +0 -0
  154. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/vcs/gitlab.py +0 -0
  155. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith/workspace.py +0 -0
  156. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith.egg-info/dependency_links.txt +0 -0
  157. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith.egg-info/entry_points.txt +0 -0
  158. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/src/specsmith.egg-info/top_level.txt +0 -0
  159. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_auditor.py +0 -0
  160. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_cli.py +0 -0
  161. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_compressor.py +0 -0
  162. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_epistemic.py +0 -0
  163. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_importer.py +0 -0
  164. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_integrations.py +0 -0
  165. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_optimizer.py +0 -0
  166. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_rate_limits.py +0 -0
  167. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_scaffolder.py +0 -0
  168. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_smoke.py +0 -0
  169. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_tools.py +0 -0
  170. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_validator.py +0 -0
  171. {specsmith-0.3.0.dev139 → specsmith-0.3.6}/tests/test_vcs.py +0 -0
@@ -0,0 +1,363 @@
1
+ Metadata-Version: 2.4
2
+ Name: specsmith
3
+ Version: 0.3.6
4
+ Summary: Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands.
5
+ Author: BitConcepts
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/BitConcepts/specsmith
8
+ Project-URL: Documentation, https://specsmith.readthedocs.io
9
+ Project-URL: Repository, https://github.com/BitConcepts/specsmith
10
+ Project-URL: Changelog, https://github.com/BitConcepts/specsmith/blob/main/CHANGELOG.md
11
+ Project-URL: Issues, https://github.com/BitConcepts/specsmith/issues
12
+ Keywords: agentic,scaffold,governance,agents-md,cli,epistemic-engineering,belief-artifacts,stress-testing,certainty,trace-vault,aee,knowledge-engineering,fpga,hdl,vhdl,execution-profiles,tool-installer,llm,ollama,requirements-management
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Science/Research
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: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development :: Code Generators
23
+ Classifier: Topic :: Software Development :: Build Tools
24
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
25
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
26
+ Requires-Python: >=3.10
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ Requires-Dist: click>=8.1
30
+ Requires-Dist: jinja2>=3.1
31
+ Requires-Dist: pyyaml>=6.0
32
+ Requires-Dist: pydantic>=2.0
33
+ Requires-Dist: rich>=13.0
34
+ Provides-Extra: dev
35
+ Requires-Dist: pytest>=7.0; extra == "dev"
36
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
37
+ Requires-Dist: ruff>=0.4; extra == "dev"
38
+ Requires-Dist: mypy>=1.10; extra == "dev"
39
+ Requires-Dist: pre-commit>=3.0; extra == "dev"
40
+ Requires-Dist: types-pyyaml>=6.0; extra == "dev"
41
+ Provides-Extra: docs
42
+ Requires-Dist: mkdocs>=1.6; extra == "docs"
43
+ Requires-Dist: mkdocs-material>=9.5; extra == "docs"
44
+ Provides-Extra: anthropic
45
+ Requires-Dist: anthropic>=0.56; extra == "anthropic"
46
+ Provides-Extra: openai
47
+ Requires-Dist: openai>=1.0; extra == "openai"
48
+ Provides-Extra: gemini
49
+ Requires-Dist: google-genai>=1.0; extra == "gemini"
50
+ Provides-Extra: mistral
51
+ Requires-Dist: openai>=1.0; extra == "mistral"
52
+ Provides-Extra: gui
53
+ Requires-Dist: PySide6>=6.6; extra == "gui"
54
+ Provides-Extra: agent
55
+ Requires-Dist: anthropic>=0.56; extra == "agent"
56
+ Requires-Dist: openai>=1.0; extra == "agent"
57
+ Provides-Extra: all
58
+ Requires-Dist: anthropic>=0.56; extra == "all"
59
+ Requires-Dist: openai>=1.0; extra == "all"
60
+ Requires-Dist: pytest>=7.0; extra == "all"
61
+ Requires-Dist: pytest-cov>=4.0; extra == "all"
62
+ Requires-Dist: ruff>=0.4; extra == "all"
63
+ Requires-Dist: mypy>=1.10; extra == "all"
64
+ Dynamic: license-file
65
+
66
+ # specsmith
67
+
68
+ [![CI](https://github.com/BitConcepts/specsmith/actions/workflows/ci.yml/badge.svg)](https://github.com/BitConcepts/specsmith/actions/workflows/ci.yml)
69
+ [![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-ea4aaa?logo=github)](https://github.com/sponsors/BitConcepts)
70
+ [![Docs](https://readthedocs.org/projects/specsmith/badge/?version=stable)](https://specsmith.readthedocs.io/en/stable/)
71
+ [![PyPI](https://img.shields.io/pypi/v/specsmith?label=stable&style=flat&color=blue&cacheSeconds=60)](https://pypi.org/project/specsmith/)
72
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
73
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
74
+ [![VS Code Extension](https://img.shields.io/badge/VS%20Code-AEE%20Workbench-4ec9b0?logo=visualstudiocode)](https://github.com/BitConcepts/specsmith-vscode)
75
+
76
+ **Applied Epistemic Engineering toolkit for AI-assisted development.**
77
+
78
+ > Intelligence proposes. Constraints decide. The ledger remembers.
79
+
80
+ specsmith treats belief systems like code: codable, testable, and deployable. It scaffolds
81
+ epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
82
+ cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
83
+
84
+ It also co-installs the standalone `epistemic` Python library for direct use in any project:
85
+
86
+ ```python
87
+ from epistemic import AEESession # works in any Python 3.10+ project
88
+ from epistemic import BeliefArtifact, StressTester, CertaintyEngine
89
+ ```
90
+
91
+ ---
92
+
93
+ ## What is Applied Epistemic Engineering?
94
+
95
+ AEE treats requirements, decisions, and assumptions — the beliefs your project depends on — as
96
+ engineering artifacts subject to the same discipline as code: version control, testing, and refactoring.
97
+
98
+ **The 4-step core method: Frame → Disassemble → Stress-Test → Reconstruct**
99
+
100
+ **The 5 foundational axioms:**
101
+ 1. **Observability** — every belief must be inspectable
102
+ 2. **Falsifiability** — every belief must be challengeable
103
+ 3. **Irreducibility** — beliefs decompose to atomic primitives
104
+ 4. **Reconstructability** — every failed belief can be rebuilt
105
+ 5. **Convergence** — stress-test + recovery always reaches Equilibrium
106
+
107
+ ---
108
+
109
+ ## The AEE Workflow — 7 Phases
110
+
111
+ specsmith tracks your project through the full AEE development cycle:
112
+
113
+ ```
114
+ 🌱 Inception → 🏗 Architecture → 📋 Requirements → ✅ Test Spec
115
+ → ⚙ Implementation → 🔬 Verification → 🚀 Release
116
+ ```
117
+
118
+ ```bash
119
+ specsmith phase # show current phase + readiness checklist
120
+ specsmith phase next # advance to the next phase (runs checks first)
121
+ specsmith phase set requirements # jump to a specific phase
122
+ specsmith phase list # list all phases
123
+ ```
124
+
125
+ The current phase is persisted in `scaffold.yml` as `aee_phase` and displayed in the VS Code
126
+ Settings Panel. Each phase has a checklist of file/command criteria, recommended commands,
127
+ and a readiness percentage.
128
+
129
+ ---
130
+
131
+ ## Install
132
+
133
+ **Recommended — via the VS Code extension (creates a project-isolated environment):**
134
+
135
+ 1. Install the [specsmith AEE Workbench](https://github.com/BitConcepts/specsmith-vscode) VS Code extension
136
+ 2. Open `Ctrl+Shift+,` (⚙ specsmith Settings)
137
+ 3. Click **🔒 Create Environment** — creates `~/.specsmith/venv/` with specsmith + your provider packages
138
+
139
+ The extension uses this environment for all agent sessions and terminal commands.
140
+
141
+ **Or via pipx (system-wide):**
142
+
143
+ ```bash
144
+ pipx install specsmith # core CLI + epistemic library
145
+ pipx inject specsmith anthropic # + Claude support
146
+ pipx inject specsmith openai # + GPT / O-series support
147
+ pipx inject specsmith google-generativeai # + Gemini support
148
+ ```
149
+
150
+ **Or with pip:**
151
+
152
+ ```bash
153
+ pip install specsmith # core
154
+ pip install "specsmith[anthropic]" # + Claude
155
+ pip install "specsmith[openai]" # + GPT/O-series
156
+ pip install "specsmith[gemini]" # + Gemini
157
+ ```
158
+
159
+ **Update:**
160
+
161
+ ```bash
162
+ pipx upgrade specsmith
163
+ specsmith self-update
164
+ ```
165
+
166
+ ---
167
+
168
+ ## Quick Start
169
+
170
+ ```bash
171
+ # New project (interactive)
172
+ specsmith init
173
+
174
+ # Adopt an existing project
175
+ specsmith import --project-dir ./my-project
176
+
177
+ # Check governance health
178
+ specsmith audit --project-dir ./my-project
179
+
180
+ # Run AEE stress-test on requirements
181
+ specsmith stress-test --project-dir ./my-project
182
+
183
+ # Full epistemic audit (certainty + logic knots + recovery proposals)
184
+ specsmith epistemic-audit --project-dir ./my-project
185
+
186
+ # Start the agentic REPL
187
+ specsmith run --project-dir ./my-project
188
+
189
+ # Check current AEE workflow phase
190
+ specsmith phase --project-dir ./my-project
191
+ ```
192
+
193
+ ---
194
+
195
+ ## VS Code Extension
196
+
197
+ The **specsmith AEE Workbench** VS Code extension is the flagship client:
198
+
199
+ ```
200
+ # VS Code: Ctrl+Shift+P → specsmith: New Agent Session
201
+ # Settings: Ctrl+Shift+, (⚙ specsmith Settings — global)
202
+ # Project Settings: Ctrl+Shift+G (⚙ Project Settings — per-project)
203
+ ```
204
+
205
+ **Key features:**
206
+ - **Dual-panel architecture** — **⚙ specsmith Settings** (global: venv, version, Ollama, system)
207
+ and **⚙ Project Settings** (per-project: scaffold, tools, files, actions, execution)
208
+ - **Global environment management** — `~/.specsmith/venv/` with Create / Update / Rebuild / Delete;
209
+ persistent restart banner; Remove System Installs cleanup button
210
+ - **VCS context at session start** — git status + recent commits shown in chat and in system prompt
211
+ - **Execution profiles** — safe / standard / open / admin; custom allow/block command lists
212
+ - **AEE phase indicator** — shows current phase with readiness %, Next Phase button, phase selector
213
+ - **AI agent sessions** — independent process per project, JSONL bridge, chat with file injection
214
+ - **Live model listing** — Anthropic, OpenAI, Gemini, Mistral, local Ollama (GPU-aware)
215
+ - **Ollama integration** — model manager (update/remove/update-all), version check, upgrade
216
+ - **FPGA/HDL tool support** — vivado, gtkwave, vsg, ghdl, verilator, yosys, nextpnr, and 15 more
217
+ - **Tool installer** — scan installed tools; one-click install via winget/brew/apt for missing tools
218
+ - **API key management** — stored in OS credential store (Windows Credential Manager / macOS Keychain)
219
+ - **Update checker** — PyPI version check, auto-checks on panel open, release channel selector
220
+
221
+ **[→ specsmith-vscode on GitHub](https://github.com/BitConcepts/specsmith-vscode)**
222
+
223
+ ---
224
+
225
+ ## Supporting specsmith
226
+
227
+ If specsmith is saving you time or helping your team ship better software, please consider:
228
+
229
+ - **[Sponsoring BitConcepts](https://github.com/sponsors/BitConcepts)** — directly funds development
230
+ - **Starring** [specsmith](https://github.com/BitConcepts/specsmith) and [specsmith-vscode](https://github.com/BitConcepts/specsmith-vscode) on GitHub
231
+ - **Reporting bugs** and **requesting features** via [GitHub Issues](https://github.com/BitConcepts/specsmith/issues)
232
+ - **Contributing** — see [CONTRIBUTING.md](CONTRIBUTING.md)
233
+
234
+ ---
235
+
236
+ ## Ollama — Local LLMs (Zero API Cost)
237
+
238
+ specsmith has first-class Ollama support, including:
239
+
240
+ ```bash
241
+ specsmith ollama gpu # detect GPU and VRAM tier
242
+ specsmith ollama available # show catalog filtered by VRAM budget
243
+ specsmith ollama available --task code # filter by task type
244
+ specsmith ollama pull qwen2.5:14b # download a model
245
+ specsmith ollama suggest requirements # task-based recommendations
246
+ specsmith ollama list # show installed models
247
+ ```
248
+
249
+ GPU-aware context sizing in the VS Code extension: 4K/8K/16K/32K tokens based on detected VRAM.
250
+ Override with `specsmith.ollamaContextLength` in VS Code settings.
251
+
252
+ ---
253
+
254
+ ## FPGA / HDL Projects
255
+
256
+ specsmith supports FPGA-specific project types with full governance:
257
+
258
+ ```yaml
259
+ # scaffold.yml
260
+ type: fpga-rtl-amd # or fpga-rtl-intel / fpga-rtl-lattice / fpga-rtl
261
+ fpga_tools:
262
+ - vivado
263
+ - gtkwave
264
+ - vsg
265
+ - ghdl
266
+ - verilator
267
+ ```
268
+
269
+ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
270
+ **Simulation:** ghdl, iverilog, verilator, modelsim, questasim, xsim.
271
+ **Waveform:** gtkwave, surfer. **Linting:** vsg, verible, svlint.
272
+ **Formal:** symbiyosys. **OSS flow:** yosys, nextpnr, openFPGALoader.
273
+
274
+ ---
275
+
276
+ ## 50+ CLI Commands
277
+
278
+ **Governance:** `init` `import` `audit` `validate` `diff` `upgrade` `compress` `doctor` `export` `architect`
279
+
280
+ **AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log` `integrate`
281
+
282
+ **Workflow:** `phase show/set/next/list` `ledger add/list` `req list/add/gaps/trace`
283
+
284
+ **Agent:** `run` `agent providers/tools/skills`
285
+
286
+ **Ollama:** `ollama list/available/gpu/pull/suggest`
287
+
288
+ **Workspace:** `workspace init/audit/export`
289
+
290
+ **VCS:** `commit` `push` `sync` `branch` `pr` `status`
291
+
292
+ **Tools:** `tools scan [--fpga]` `tools install <tool>` `tools rules [--tool] [--list]`
293
+
294
+ **Tools:** `exec` `ps` `abort` `watch` `optimize` `credits` `self-update`
295
+
296
+ **Auth:** `auth set/list/remove/check`
297
+
298
+ **Patent:** `patent search/prior-art`
299
+
300
+ ---
301
+
302
+ ## 35 Project Types
303
+
304
+ **Software:** Python CLI/lib/web, Rust, Go, C/C++, .NET, Node.js/TypeScript, mobile, microservices, data/ML.
305
+
306
+ **Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C++.
307
+
308
+ **Documents:** Technical specs, research papers, API specs, requirements management.
309
+
310
+ **Business/Legal:** Business plans, patent applications, compliance frameworks.
311
+
312
+ ---
313
+
314
+ ## epistemic Library
315
+
316
+ The standalone `epistemic` Python library works in any Python 3.10+ project — no specsmith coupling:
317
+
318
+ ```python
319
+ from epistemic import AEESession, BeliefArtifact, StressTester
320
+
321
+ session = AEESession("my-project", threshold=0.70)
322
+ session.add_belief(
323
+ artifact_id="HYP-001",
324
+ propositions=["The API always returns valid JSON"],
325
+ epistemic_boundary=["Valid auth token required"],
326
+ )
327
+ session.accept("HYP-001")
328
+ result = session.run()
329
+ print(result.summary())
330
+ # certainty=0.55, failures=2, equilibrium=False
331
+ ```
332
+
333
+ Use cases: linguistics research, compliance pipelines, AI alignment, patent prosecution.
334
+
335
+ ---
336
+
337
+ ## Governance Rules (H1–H13)
338
+
339
+ 13 hard rules enforced by `specsmith validate`:
340
+
341
+ - **H11** — Every loop or blocking wait must have a timeout, fallback exit, and diagnostic message.
342
+ - **H12** — Windows multi-step automation goes into `.cmd` files, not inline shell invocations.
343
+ - **H13** — Agent tools must declare epistemic contracts (what they claim and what they cannot detect).
344
+
345
+ ---
346
+
347
+ ## Documentation
348
+
349
+ **[specsmith.readthedocs.io](https://specsmith.readthedocs.io)** — Full manual: AEE primer,
350
+ command reference, project types, tool registry, governance model, Ollama guide, VS Code extension.
351
+
352
+ ## Links
353
+
354
+ - [PyPI](https://pypi.org/project/specsmith/)
355
+ - [Documentation](https://specsmith.readthedocs.io)
356
+ - [Changelog](CHANGELOG.md)
357
+ - [VS Code Extension](https://github.com/BitConcepts/specsmith-vscode)
358
+ - [Contributing](CONTRIBUTING.md)
359
+ - [Security](SECURITY.md)
360
+
361
+ ## License
362
+
363
+ MIT — Copyright (c) 2026 BitConcepts, LLC.
@@ -0,0 +1,298 @@
1
+ # specsmith
2
+
3
+ [![CI](https://github.com/BitConcepts/specsmith/actions/workflows/ci.yml/badge.svg)](https://github.com/BitConcepts/specsmith/actions/workflows/ci.yml)
4
+ [![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-ea4aaa?logo=github)](https://github.com/sponsors/BitConcepts)
5
+ [![Docs](https://readthedocs.org/projects/specsmith/badge/?version=stable)](https://specsmith.readthedocs.io/en/stable/)
6
+ [![PyPI](https://img.shields.io/pypi/v/specsmith?label=stable&style=flat&color=blue&cacheSeconds=60)](https://pypi.org/project/specsmith/)
7
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
8
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
9
+ [![VS Code Extension](https://img.shields.io/badge/VS%20Code-AEE%20Workbench-4ec9b0?logo=visualstudiocode)](https://github.com/BitConcepts/specsmith-vscode)
10
+
11
+ **Applied Epistemic Engineering toolkit for AI-assisted development.**
12
+
13
+ > Intelligence proposes. Constraints decide. The ledger remembers.
14
+
15
+ specsmith treats belief systems like code: codable, testable, and deployable. It scaffolds
16
+ epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
17
+ cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
18
+
19
+ It also co-installs the standalone `epistemic` Python library for direct use in any project:
20
+
21
+ ```python
22
+ from epistemic import AEESession # works in any Python 3.10+ project
23
+ from epistemic import BeliefArtifact, StressTester, CertaintyEngine
24
+ ```
25
+
26
+ ---
27
+
28
+ ## What is Applied Epistemic Engineering?
29
+
30
+ AEE treats requirements, decisions, and assumptions — the beliefs your project depends on — as
31
+ engineering artifacts subject to the same discipline as code: version control, testing, and refactoring.
32
+
33
+ **The 4-step core method: Frame → Disassemble → Stress-Test → Reconstruct**
34
+
35
+ **The 5 foundational axioms:**
36
+ 1. **Observability** — every belief must be inspectable
37
+ 2. **Falsifiability** — every belief must be challengeable
38
+ 3. **Irreducibility** — beliefs decompose to atomic primitives
39
+ 4. **Reconstructability** — every failed belief can be rebuilt
40
+ 5. **Convergence** — stress-test + recovery always reaches Equilibrium
41
+
42
+ ---
43
+
44
+ ## The AEE Workflow — 7 Phases
45
+
46
+ specsmith tracks your project through the full AEE development cycle:
47
+
48
+ ```
49
+ 🌱 Inception → 🏗 Architecture → 📋 Requirements → ✅ Test Spec
50
+ → ⚙ Implementation → 🔬 Verification → 🚀 Release
51
+ ```
52
+
53
+ ```bash
54
+ specsmith phase # show current phase + readiness checklist
55
+ specsmith phase next # advance to the next phase (runs checks first)
56
+ specsmith phase set requirements # jump to a specific phase
57
+ specsmith phase list # list all phases
58
+ ```
59
+
60
+ The current phase is persisted in `scaffold.yml` as `aee_phase` and displayed in the VS Code
61
+ Settings Panel. Each phase has a checklist of file/command criteria, recommended commands,
62
+ and a readiness percentage.
63
+
64
+ ---
65
+
66
+ ## Install
67
+
68
+ **Recommended — via the VS Code extension (creates a project-isolated environment):**
69
+
70
+ 1. Install the [specsmith AEE Workbench](https://github.com/BitConcepts/specsmith-vscode) VS Code extension
71
+ 2. Open `Ctrl+Shift+,` (⚙ specsmith Settings)
72
+ 3. Click **🔒 Create Environment** — creates `~/.specsmith/venv/` with specsmith + your provider packages
73
+
74
+ The extension uses this environment for all agent sessions and terminal commands.
75
+
76
+ **Or via pipx (system-wide):**
77
+
78
+ ```bash
79
+ pipx install specsmith # core CLI + epistemic library
80
+ pipx inject specsmith anthropic # + Claude support
81
+ pipx inject specsmith openai # + GPT / O-series support
82
+ pipx inject specsmith google-generativeai # + Gemini support
83
+ ```
84
+
85
+ **Or with pip:**
86
+
87
+ ```bash
88
+ pip install specsmith # core
89
+ pip install "specsmith[anthropic]" # + Claude
90
+ pip install "specsmith[openai]" # + GPT/O-series
91
+ pip install "specsmith[gemini]" # + Gemini
92
+ ```
93
+
94
+ **Update:**
95
+
96
+ ```bash
97
+ pipx upgrade specsmith
98
+ specsmith self-update
99
+ ```
100
+
101
+ ---
102
+
103
+ ## Quick Start
104
+
105
+ ```bash
106
+ # New project (interactive)
107
+ specsmith init
108
+
109
+ # Adopt an existing project
110
+ specsmith import --project-dir ./my-project
111
+
112
+ # Check governance health
113
+ specsmith audit --project-dir ./my-project
114
+
115
+ # Run AEE stress-test on requirements
116
+ specsmith stress-test --project-dir ./my-project
117
+
118
+ # Full epistemic audit (certainty + logic knots + recovery proposals)
119
+ specsmith epistemic-audit --project-dir ./my-project
120
+
121
+ # Start the agentic REPL
122
+ specsmith run --project-dir ./my-project
123
+
124
+ # Check current AEE workflow phase
125
+ specsmith phase --project-dir ./my-project
126
+ ```
127
+
128
+ ---
129
+
130
+ ## VS Code Extension
131
+
132
+ The **specsmith AEE Workbench** VS Code extension is the flagship client:
133
+
134
+ ```
135
+ # VS Code: Ctrl+Shift+P → specsmith: New Agent Session
136
+ # Settings: Ctrl+Shift+, (⚙ specsmith Settings — global)
137
+ # Project Settings: Ctrl+Shift+G (⚙ Project Settings — per-project)
138
+ ```
139
+
140
+ **Key features:**
141
+ - **Dual-panel architecture** — **⚙ specsmith Settings** (global: venv, version, Ollama, system)
142
+ and **⚙ Project Settings** (per-project: scaffold, tools, files, actions, execution)
143
+ - **Global environment management** — `~/.specsmith/venv/` with Create / Update / Rebuild / Delete;
144
+ persistent restart banner; Remove System Installs cleanup button
145
+ - **VCS context at session start** — git status + recent commits shown in chat and in system prompt
146
+ - **Execution profiles** — safe / standard / open / admin; custom allow/block command lists
147
+ - **AEE phase indicator** — shows current phase with readiness %, Next Phase button, phase selector
148
+ - **AI agent sessions** — independent process per project, JSONL bridge, chat with file injection
149
+ - **Live model listing** — Anthropic, OpenAI, Gemini, Mistral, local Ollama (GPU-aware)
150
+ - **Ollama integration** — model manager (update/remove/update-all), version check, upgrade
151
+ - **FPGA/HDL tool support** — vivado, gtkwave, vsg, ghdl, verilator, yosys, nextpnr, and 15 more
152
+ - **Tool installer** — scan installed tools; one-click install via winget/brew/apt for missing tools
153
+ - **API key management** — stored in OS credential store (Windows Credential Manager / macOS Keychain)
154
+ - **Update checker** — PyPI version check, auto-checks on panel open, release channel selector
155
+
156
+ **[→ specsmith-vscode on GitHub](https://github.com/BitConcepts/specsmith-vscode)**
157
+
158
+ ---
159
+
160
+ ## Supporting specsmith
161
+
162
+ If specsmith is saving you time or helping your team ship better software, please consider:
163
+
164
+ - **[Sponsoring BitConcepts](https://github.com/sponsors/BitConcepts)** — directly funds development
165
+ - **Starring** [specsmith](https://github.com/BitConcepts/specsmith) and [specsmith-vscode](https://github.com/BitConcepts/specsmith-vscode) on GitHub
166
+ - **Reporting bugs** and **requesting features** via [GitHub Issues](https://github.com/BitConcepts/specsmith/issues)
167
+ - **Contributing** — see [CONTRIBUTING.md](CONTRIBUTING.md)
168
+
169
+ ---
170
+
171
+ ## Ollama — Local LLMs (Zero API Cost)
172
+
173
+ specsmith has first-class Ollama support, including:
174
+
175
+ ```bash
176
+ specsmith ollama gpu # detect GPU and VRAM tier
177
+ specsmith ollama available # show catalog filtered by VRAM budget
178
+ specsmith ollama available --task code # filter by task type
179
+ specsmith ollama pull qwen2.5:14b # download a model
180
+ specsmith ollama suggest requirements # task-based recommendations
181
+ specsmith ollama list # show installed models
182
+ ```
183
+
184
+ GPU-aware context sizing in the VS Code extension: 4K/8K/16K/32K tokens based on detected VRAM.
185
+ Override with `specsmith.ollamaContextLength` in VS Code settings.
186
+
187
+ ---
188
+
189
+ ## FPGA / HDL Projects
190
+
191
+ specsmith supports FPGA-specific project types with full governance:
192
+
193
+ ```yaml
194
+ # scaffold.yml
195
+ type: fpga-rtl-amd # or fpga-rtl-intel / fpga-rtl-lattice / fpga-rtl
196
+ fpga_tools:
197
+ - vivado
198
+ - gtkwave
199
+ - vsg
200
+ - ghdl
201
+ - verilator
202
+ ```
203
+
204
+ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
205
+ **Simulation:** ghdl, iverilog, verilator, modelsim, questasim, xsim.
206
+ **Waveform:** gtkwave, surfer. **Linting:** vsg, verible, svlint.
207
+ **Formal:** symbiyosys. **OSS flow:** yosys, nextpnr, openFPGALoader.
208
+
209
+ ---
210
+
211
+ ## 50+ CLI Commands
212
+
213
+ **Governance:** `init` `import` `audit` `validate` `diff` `upgrade` `compress` `doctor` `export` `architect`
214
+
215
+ **AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log` `integrate`
216
+
217
+ **Workflow:** `phase show/set/next/list` `ledger add/list` `req list/add/gaps/trace`
218
+
219
+ **Agent:** `run` `agent providers/tools/skills`
220
+
221
+ **Ollama:** `ollama list/available/gpu/pull/suggest`
222
+
223
+ **Workspace:** `workspace init/audit/export`
224
+
225
+ **VCS:** `commit` `push` `sync` `branch` `pr` `status`
226
+
227
+ **Tools:** `tools scan [--fpga]` `tools install <tool>` `tools rules [--tool] [--list]`
228
+
229
+ **Tools:** `exec` `ps` `abort` `watch` `optimize` `credits` `self-update`
230
+
231
+ **Auth:** `auth set/list/remove/check`
232
+
233
+ **Patent:** `patent search/prior-art`
234
+
235
+ ---
236
+
237
+ ## 35 Project Types
238
+
239
+ **Software:** Python CLI/lib/web, Rust, Go, C/C++, .NET, Node.js/TypeScript, mobile, microservices, data/ML.
240
+
241
+ **Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C++.
242
+
243
+ **Documents:** Technical specs, research papers, API specs, requirements management.
244
+
245
+ **Business/Legal:** Business plans, patent applications, compliance frameworks.
246
+
247
+ ---
248
+
249
+ ## epistemic Library
250
+
251
+ The standalone `epistemic` Python library works in any Python 3.10+ project — no specsmith coupling:
252
+
253
+ ```python
254
+ from epistemic import AEESession, BeliefArtifact, StressTester
255
+
256
+ session = AEESession("my-project", threshold=0.70)
257
+ session.add_belief(
258
+ artifact_id="HYP-001",
259
+ propositions=["The API always returns valid JSON"],
260
+ epistemic_boundary=["Valid auth token required"],
261
+ )
262
+ session.accept("HYP-001")
263
+ result = session.run()
264
+ print(result.summary())
265
+ # certainty=0.55, failures=2, equilibrium=False
266
+ ```
267
+
268
+ Use cases: linguistics research, compliance pipelines, AI alignment, patent prosecution.
269
+
270
+ ---
271
+
272
+ ## Governance Rules (H1–H13)
273
+
274
+ 13 hard rules enforced by `specsmith validate`:
275
+
276
+ - **H11** — Every loop or blocking wait must have a timeout, fallback exit, and diagnostic message.
277
+ - **H12** — Windows multi-step automation goes into `.cmd` files, not inline shell invocations.
278
+ - **H13** — Agent tools must declare epistemic contracts (what they claim and what they cannot detect).
279
+
280
+ ---
281
+
282
+ ## Documentation
283
+
284
+ **[specsmith.readthedocs.io](https://specsmith.readthedocs.io)** — Full manual: AEE primer,
285
+ command reference, project types, tool registry, governance model, Ollama guide, VS Code extension.
286
+
287
+ ## Links
288
+
289
+ - [PyPI](https://pypi.org/project/specsmith/)
290
+ - [Documentation](https://specsmith.readthedocs.io)
291
+ - [Changelog](CHANGELOG.md)
292
+ - [VS Code Extension](https://github.com/BitConcepts/specsmith-vscode)
293
+ - [Contributing](CONTRIBUTING.md)
294
+ - [Security](SECURITY.md)
295
+
296
+ ## License
297
+
298
+ MIT — Copyright (c) 2026 BitConcepts, LLC.