Skip to content

refactor(install): canonicalize home install dir to ~/.ulak.os (+ Windows PS 5.1 BOM fix)#65

Open
osrt91 wants to merge 2 commits into
mainfrom
refactor/install-dir-ulak-os-to-ulak-dot-os
Open

refactor(install): canonicalize home install dir to ~/.ulak.os (+ Windows PS 5.1 BOM fix)#65
osrt91 wants to merge 2 commits into
mainfrom
refactor/install-dir-ulak-os-to-ulak-dot-os

Conversation

@osrt91

@osrt91 osrt91 commented Jun 7, 2026

Copy link
Copy Markdown
Owner

What

Canonicalize the home install directory from ~/.ulak-os (legacy hyphen) to ~/.ulak.os, matching the ulak.os repo/brand name. Two commits:

  1. refactor(install) - rename across both installers (install.ps1 $UlakHome default, 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.
  2. fix(install) - the generated bin/ulak.ps1 is now written with a UTF-8 BOM. The ulak.cmd wrapper 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 the ulak init header (Missing closing '}'), breaking ulak --version/where/init on Windows.

Breaking change + migration

Existing ~/.ulak-os installs keep working only until reinstall. To migrate: reinstall (iwr ... | iex / curl ... | sh) to create ~/.ulak.os, re-point each project's CLAUDE.md governance @-import from .../.ulak-os/... to .../.ulak.os/... (or re-run ulak init <dir>), then remove the old ~/.ulak-os directory.

Intentionally unchanged

  • 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 (per the validate brand-allowlist convention).
  • Pack version not bumped; CHANGELOG entry is under [Unreleased] to be versioned at release.

🤖 Generated with Claude Code

osrt91 and others added 2 commits June 8, 2026 00:22
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>
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.

1 participant