commit c4c9b78b9139a41e71d3061afd96bbc79805ce39 Author: pyr0ball Date: Wed Mar 25 11:02:26 2026 -0700 feat: scaffold circuitforge-core package diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5ba6f6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +__pycache__/ +*.pyc +.env +*.egg-info/ +dist/ +.pytest_cache/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..90ab093 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# circuitforge-core + +Shared scaffold for CircuitForge products. + +## Modules + +- `circuitforge_core.db` — SQLite connection factory and migration runner +- `circuitforge_core.llm` — LLM router with fallback chain +- `circuitforge_core.tiers` — Tier system with BYOK and local vision unlocks +- `circuitforge_core.config` — Env validation and .env loader +- `circuitforge_core.vision` — Vision router stub (v0.2+) +- `circuitforge_core.wizard` — First-run wizard base class stub +- `circuitforge_core.pipeline` — Staging queue stub (v0.2+) + +## Install + +```bash +pip install -e . +``` + +## License + +BSL 1.1 — see LICENSE diff --git a/circuitforge_core/__init__.py b/circuitforge_core/__init__.py new file mode 100644 index 0000000..3dc1f76 --- /dev/null +++ b/circuitforge_core/__init__.py @@ -0,0 +1 @@ +__version__ = "0.1.0" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7215dcb --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,21 @@ +[build-system] +requires = ["setuptools>=68"] +build-backend = "setuptools.build_meta" + +[project] +name = "circuitforge-core" +version = "0.1.0" +description = "Shared scaffold for CircuitForge products" +requires-python = ">=3.11" +dependencies = [ + "pyyaml>=6.0", + "requests>=2.31", + "openai>=1.0", +] + +[tool.setuptools.packages.find] +where = ["."] +include = ["circuitforge_core*"] + +[tool.pytest.ini_options] +testpaths = ["tests"] diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29