Skip to content

Redesign helix init: scaffold the helix layer, not the project#15

Merged
amrit110 merged 1 commit into
mainfrom
feat/redesign-helix-init
Mar 29, 2026
Merged

Redesign helix init: scaffold the helix layer, not the project#15
amrit110 merged 1 commit into
mainfrom
feat/redesign-helix-init

Conversation

@amrit110
Copy link
Copy Markdown
Member

Summary

  • Removes solver.py and evaluate.py from the scaffold — helix should not prescribe codebase shape
  • Adds pyproject.toml, .python-version, and uv.lock (via uv lock subprocess) for reproducible helices
  • helix.yaml and program.md are now generic fill-in-the-blanks templates with clear TODOs
  • scaffold() is non-destructive: existing files are never overwritten, making it safe to run against repos that already have a pyproject.toml or uv.lock
  • run_uv_lock() extracted as a separate public function; CLI warns if uv is absent

Closes #14.

Test plan

  • uv run python -m pytest — 199 passed
  • helix init my-project creates helix.yaml, program.md, pyproject.toml, .python-version, uv.lock, experiments.tsv — no solver.py or evaluate.py
  • Running helix init in a repo that already has pyproject.toml does not overwrite it

- Remove solver.py and evaluate.py from the scaffold; helix should not
  prescribe codebase shape
- Add pyproject.toml, .python-version, and uv.lock (via uv lock subprocess)
  for reproducible helices
- Make helix.yaml and program.md generic fill-in-the-blanks templates
- scaffold() is now non-destructive: existing files are never overwritten,
  making it safe to run against repos that already have pyproject.toml etc.
- Add run_uv_lock() as a separate public function; CLI warns if uv is absent
- Update tests: add coverage for pyproject.toml/.python-version creation,
  non-destructive behaviour, and run_uv_lock() success/failure paths

Closes #14.
@amrit110 amrit110 merged commit 49fefb0 into main Mar 29, 2026
2 checks passed
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.06%. Comparing base (6f0bd1a) to head (d78536f).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #15      +/-   ##
==========================================
+ Coverage   99.05%   99.06%   +0.01%     
==========================================
  Files          10       10              
  Lines         635      645      +10     
==========================================
+ Hits          629      639      +10     
  Misses          6        6              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Redesign helix init: scaffold the helix layer, not the project

1 participant