Fix local chezmoi bootstrap for global agent installs#1
Open
DanielZ818 wants to merge 2 commits into
Open
Conversation
- add install-agent-surface for repo-local and global ~/.agents / ~/.codex installs - auto-install chezmoi for chezmoi-targeted setup when it is missing - add shell support with fish completions and bash ~/scripts fallback path - add installer tests plus README and smoke-test coverage for the new workflow
- ensure global installer bootstraps chezmoi config and source state before apply - stop assuming the clone lives at ~/linux-config in rendered chezmoi config - make .chezmoiignore tolerate missing first-run template data like gui - add shell and installer test coverage for local bootstrap behavior
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.
Summary / Why This Matters
This branch adds a reusable global/local agent-surface installer for Codex and then fixes the first-run bootstrap bugs that showed up on a non-owner machine.
Before the follow-up fixes, the installer could leave local setup half-working:
chezmoicould be installed but not initializedchezmoi applycould fail on missing template data likegui~/linux-config~/.local/bin, so a freshly installedchezmoiwas not callableThis PR makes the bootstrap path work for a local clone under a different home-directory layout.
What Changed
scripts/executable_install-agent-surfaceto bootstrap:AGENTS.md/AGENTS.repo.md/plans/.agents/skills/or chezmoi-styledot_agents/skills/~/.codex/AGENTS.md~/.agents/AGENTS.md,~/.agents/skills/, and~/.agents/system-design/install-agent-surface~/scriptspath support indot_bashrcchezmoiwhen missing~/.config/chezmoi/chezmoi.tomlwhen missing~/.local/share/chezmoifrom the current repo when missing.chezmoiignoretolerate missing first-runguidatasourceDirfrom the actual local clone path instead of hardcoding~/linux-configHow To Smoke Test
Use a fresh shell where
~/.local/binis available, or add it first:Run the global installer from this repo:
Verify the global surfaces exist:
Verify
chezmoiis available and initialized:Verify repo-local install modes still work:
For fish-specific behavior, open a new fish shell and verify:
Tests Written / Verification Run
Automated tests written or updated:
tests/scripts/executable_install-agent-surface_test.shCommands run:
tests/scripts/executable_install-agent-surface_test.shbash -n scripts/executable_install-agent-surface tests/scripts/executable_install-agent-surface_test.shfish -n dot_config/fish/completions/install-agent-surface.fish./scripts/executable_readme-recruiter-sync .chezmoi execute-template < .chezmoiignoreCommands not run:
refresh-configchezmoi applyafter the final sourceDir/template fixes from this branchKnown failing suites or unrelated failures:
originfail from this environment with GitHub403for accountDanielZ818Follow-Up / Next Steps
~/linux-configand/home/kevin/linux-configreferences that are outside this installer/bootstrap pathReviewer Focus / What To Look For
Please focus on bootstrap safety and portability:
sourceDirfrom the actual clone path is the right long-term behaviorRisks, Caveats, Known Failures, And Rollback
linux-configpaths outside the installer/bootstrap path; those are not addressed hereUI Screenshots / Live Links
Not applicable for this shell/bootstrap workflow.