refactor(install): canonicalize home install dir to ~/.ulak.os (+ Windows PS 5.1 BOM fix)#65
Open
osrt91 wants to merge 2 commits into
Open
refactor(install): canonicalize home install dir to ~/.ulak.os (+ Windows PS 5.1 BOM fix)#65osrt91 wants to merge 2 commits into
osrt91 wants to merge 2 commits into
Conversation
Canonicalize the home install directory to match the ulak.os repo/brand name instead of the legacy hyphen form. Updated both installers (install.ps1 $UlakHome default, install.sh $ULAK_HOME + the SEC-B-13 rollback-rm guard, now matching $HOME/.ulak.os[-*]), the import-validator placeholder skip-list (src/pack/validator.ts), and all user-facing docs (install-methods, user-manual TR/EN, runbooks, FAQ, troubleshooting, plugin README). CHANGELOG: BREAKING entry + migration note. Unchanged on purpose: the ulak.os GitHub repo slug and the frozen ulak-os-core-contract-2.0.0.md contract filename. Historical record files (RELEASE_NOTES_3.1.0.md, reports/tests/*) keep the old path by design. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The ulak.cmd wrapper runs bin/ulak.ps1 through Windows PowerShell 5.1, which decodes BOM-less files in the ANSI code page and mis-parsed the non-ASCII em-dash in the `ulak init` header, breaking `ulak --version`/`where`/`init` with "Missing closing '}'". Write the generated file with a UTF-8 BOM so 5.1 and pwsh both read it as UTF-8. CHANGELOG: Fixed entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Canonicalize the home install directory from
~/.ulak-os(legacy hyphen) to~/.ulak.os, matching theulak.osrepo/brand name. Two commits:refactor(install)- rename across both installers (install.ps1$UlakHomedefault,install.sh$ULAK_HOME+ the SEC-B-13 rollback-rm guard ->$HOME/.ulak.os[-*]), the import-validator placeholder skip-list (src/pack/validator.ts), and all user-facing docs (install-methods, user-manual TR/EN, runbooks, FAQ, troubleshooting, plugin README). 89 occurrences across 18 files.fix(install)- the generatedbin/ulak.ps1is now written with a UTF-8 BOM. Theulak.cmdwrapper runs it through Windows PowerShell 5.1, which decoded the BOM-less file in the ANSI code page and mis-parsed the non-ASCII em-dash in theulak initheader (Missing closing '}'), breakingulak --version/where/initon Windows.Breaking change + migration
Existing
~/.ulak-osinstalls keep working only until reinstall. To migrate: reinstall (iwr ... | iex/curl ... | sh) to create~/.ulak.os, re-point each project'sCLAUDE.mdgovernance@-import from.../.ulak-os/...to.../.ulak.os/...(or re-runulak init <dir>), then remove the old~/.ulak-osdirectory.Intentionally unchanged
ulak.osGitHub repo slug and the frozenulak-os-core-contract-2.0.0.mdcontract filename.RELEASE_NOTES_3.1.0.md,reports/tests/*) keep the old path by design (per thevalidatebrand-allowlist convention).[Unreleased]to be versioned at release.🤖 Generated with Claude Code