helix 1.8.0
helix: ^1.8.0 copied to clipboard
The DNA engine - resolves DNA packages declared as dev-dependencies, merges their dna folders and instantiates configs, docs, scripts and agent skills into the target repo.
Changelog #
1.8.0 - 2026-09-15 #
Added #
- Add a --workspace build mode to helix so a bare workspace only gets .claude/ and CLAUDE.md, splicing referenced docs in via a new include marker; drop dna_gg's external cleanup script in favor of inline git steps
Changed #
- Also pass --workspace to gg dna add, whose own internal build previously ignored it and instantiated the full package output before the explicit build --workspace step ran
1.7.1 - 2026-09-10 #
Changed #
- Warn about a stray package-lock.json or yarn.lock only when the target declares a package.json
1.7.0 - 2026-09-10 #
Changed #
- gg dna init suggests git init -b main when the target folder is no git repository, ahead of the gg dna add hint
- The DNA test no longer fails when LICENSE is missing - a license is the project's choice, not the engine's
1.6.1 - 2026-09-09 #
Fixed #
- The managed CLAUDE.md block sets its content off from the markers by blank lines, the form prettier produces. Before, prettier inserted the blank line itself and the next DNA run refused the "edited" file.
1.6.0 - 2026-09-09 #
Added #
- A
dna/CLAUDE.mdshipped by a DNA layer is written into the managed block of the project'sCLAUDE.mdinstead of being skipped as a forbidden instance target. Content outside the block stays with the project; theclaudeMdIncludeimports follow the layer content.
Removed #
- Remove the stray ticket.json from the repository root
1.5.1 - 2026-09-08 #
Deprecated #
- Replace the deprecated dna_base in docs, comments and test fixtures
1.5.0 - 2026-09-07 #
Changed #
- Stop shipping the hello world doc in the base DNA
- Merge main and move the change to Unreleased
1.4.0 - 2026-09-07 #
Added #
helix initasks whether a folder without manifest is a Dart or a TypeScript project instead of falling back tonpm init;--languageanswers for headless runs
1.3.0 - 2026-09-02 #
Changed #
- Resolve transitive DNA layers installed by pnpm into its isolated store
1.2.1 - 2026-09-02 #
1.2.0 - 2026-08-25 #
1.1.1 - 2026-08-25 #
1.1.0 - 2026-08-20 #
Changed #
DnaHost.uncommittedPathsandDnaHost.commitPathsare asynchronous, andinstantiateDnareturns aFuture. Runninggitthrough the embedder can only be answered with a future.runDnaTest— what the placed DNA test calls — is unchanged.
Fixed #
gg dna buildandgg dna addcrashed under a WebAssembly build ofgg(e.g. via@tssuite/ggwsm), where 1.0.2 had only gotgg dna initthrough. Two moredart:iooperations thatdart compile wasmdoes not support were on the path:Isolate.resolvePackageUri, used to locate the engine's own package folder and read the base DNA from it. The base DNA is now carried in the engine as source and written out through the host, so it needs no package folder at all — and no embedder has to bundle one.Process.runSync, used to rungit. It now goes throughpackage:gg_process, the same seamggitself uses.
1.0.2 - 2026-08-20 #
Fixed #
helix initandhelix addcrashed undergg dna init/gg dna addwhenggruns compiled to WebAssembly (e.g. via@tssuite/ggwsm):Unsupported operation: Platform._operatingSystem. Process execution now routes throughpackage:gg_process'sGgProcessDelegateandGgPlatformDelegate— the same seamggitself uses for wasm support — instead of callingdart:io'sProcess.runSyncandPlatform.isWindowsdirectly.
1.0.1 - 2026-08-19 #
Fixed #
- Resolve hosted layers on Windows.
pubrecords an absolutefile://URI for every hosted package; decoding it yields/C:/…, and the leading slash before the drive letter makes the path invalid fordart:io. Every layer coming from the pub cache failed withFileSystemException: Exists failed— which only surfaced once layers were consumed from the registry instead of by path.
1.0.0 - 2026-08-19 #
Changed #
- Section tags lose their brackets:
## @tag Headinginstead of## [@tag] Heading. The bracketed form is still detected and reported. - Make the helix tests platform proof
Removed #
- The
rolekey indna/_dna.json. Everydna/folder is hand-authored source now, and a package becomes a layer by being listed in the consumer'slayers— no flag permits it. A leftoverroleis ignored, with a hint for your own config. - The generated
dna/mode that came withrole: "project". Helix never writes intodna/; the merged result is instantiated into the project root only.dna/_generated.jsonloses its now meaninglesshashfield. - Markdown string placeholders
{{@tag:default}}, the string form ofX.overrides.mdblocks, andglobal.overrides.md. Per-value substitution is what thednavariables indna/_vars.jsonare for. The retired notation is still detected and reported.
0.2.0 - 2026-08-18 #
0.1.0 - 2026-08-14 #
0.0.4 - 2026-08-12 #
Changed #
- Rename base_dna into dna_base
- A generated file that was changed locally is no longer an error: the local content is copied to a folder below the system temp directory, the DNA content is written, and the backup path is printed
- Restoring a locally changed instance can leave the file identical to
HEAD; the path-limited commit is then skipped instead of reporting a git failure - Generated files that could not be committed no longer fail the run — they are reported ("Generated files need a commit:" is gone)
- Overwrite files generated by DNA. Backup modified files.
Fixed #
- Fix invalid release header format