From c4c9b78b9139a41e71d3061afd96bbc79805ce39 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Wed, 25 Mar 2026 11:02:26 -0700 Subject: [PATCH] feat: scaffold circuitforge-core package --- .gitignore | 6 ++++++ README.md | 23 +++++++++++++++++++++++ circuitforge_core/__init__.py | 1 + pyproject.toml | 21 +++++++++++++++++++++ tests/__init__.py | 0 5 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 circuitforge_core/__init__.py create mode 100644 pyproject.toml create mode 100644 tests/__init__.py 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