Install
$ agentstack add skill-fmind-dot-chezmoi ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Chezmoi Source Standard
The source tree (~/.local/share/chezmoi) is the only thing to edit; chezmoi apply renders it into $HOME, so a change made under ~/.config or ~/.gemini is overwritten on the next apply. File names encode target path, mode, encryption, and rendering; [mise](../../../skills/mise/SKILL.md) wraps the commands as tasks.
Naming
Read [source names](references/source-names.md) when adding or renaming a managed target; attributes depend on the target type.
Workflow
- Edit the source, never the deployed copy;
chezmoi cdopens a shell in the source root. - Manage an existing file:
chezmoi addinfers the attributes;--templatetemplatizes; set a secret to0600before--encryptimports it asencrypted_private_dot_.age:
``bash chmod 600 ~/.config//secret chezmoi add --encrypt ~/.config//secret # import and encrypt into the source chezmoi edit ~/.config//secret # edit the plaintext, re-encrypt on save ``
- Preview:
mise run diff(chezmoi diff --force; restrict to affected non-secret targets). - Validate rendering:
mise run check:chezmoiuses temporary configuration and destination with a dry run excluding encrypted files. It checks the current platform; exercise changed Linux/macOS branches separately and report unexercised branches or encrypted targets. - Check repeatability: for Bash/profile modifier changes, add existing-target and second-pass cases under
dot/tests/, using the isolated rendering approach intest_shell_modifiers.py. A sentinel-guarded block is never reinserted, so changing a deployed block also needs an explicit rewrite of its old text. Inspect affectedrun_*hooks: ordinary hooks run on each apply; once/onchange hooks can rerun when their content changes. - Apply within scope:
mise run apply(chezmoi apply --force);mise run apply:externals(chezmoi apply --force --refresh-externals) forces re-fetching upstream themes and font archives.--forceis mandatory in scripts and hooks so a diverged target never blocks on a prompt,--dry-runpreviews without writing. Applying also executes eligible hooks;--forcedoes not expand authorized targets or side effects. - Pull target edits back:
chezmoi re-addfolds manual changes to a managed file (a regenerated lockfile, for example) into the source. - Diagnose:
mise run doctor(chezmoi doctor,mise doctor, and installed npm/pipx vulnerability audits);chezmoi managedandchezmoi unmanagedlist coverage; the [installed-link recovery guide](../dot-skills/references/installed-links.md) previews former managed targets; approved cleanup moves them to recoverable backups. Use command help and [dot-cli](../../../skills/dot-cli/SKILL.md) for cleanup flags.
Gotchas
- Attribute order is fixed:
encrypted_beforeprivate_beforedot_; a wrong order yields a literally named file instead of the effect. - Modification conventions: chezmoi supports
modify_*.tmplscripts. This repository instead uses# chezmoi:modify-templateand.chezmoi.stdinfor its Bash/profile modifiers; preserve that convention unless intentionally changing the execution model. - Literal delimiters: emit another tool's
{{ ... }}as `{{{{ .Destination }}}}(backticks inside an action);.chezmoi.toml.tmpl` needs this too. - Templates fail closed: one template error aborts the whole apply; debug with
chezmoi execute-template < fileorchezmoi apply --dry-runbefore committing. - Credential lifecycle: use
create_encrypted_private_*for native login seeds so account switches survive apply; scoped keys remain managed under~/.config/dot/secrets/. Never restore global shell exports. Follow [secret setup](../../../README.md#secret-management) and [credential precedence](../../../skills/dot-cli/references/authentication.md); preview secret targets with status/metadata, never a plaintext diff. - Secrets: keep only encrypted
*.agesources in Git; chezmoi decrypts them into intended targets during an authorized apply. Keep plaintext out of previews, logs, and repository files; rotate a leaked secret (see [security-review](../../../skills/security-review/references/code-review/GUIDE.md)). .chezmoiignore(templated, gitignore syntax) keeps repo-only files (dot/,skills/,AGENTS.md, CI) out of apply and skips key-dependent files without the age key.- Ignore patterns match target paths; later patterns win and a leading
!re-includes. .chezmoi.toml.tmplseeds~/.config/chezmoi/chezmoi.tomlonchezmoi init, prompting per-host data withpromptStringOnce . "key" "question" "default".- Config keys:
encryption = "age", the[age]identity and recipient, and[edit] apply = truesochezmoi editapplies on save.
Documentation
- chezmoi reference · source-state attributes
- templating · age encryption
- Releases: chezmoi
- Companion skills: [mise](../../../skills/mise/SKILL.md) (pins chezmoi, wraps apply, diff, doctor), [dprint](../../../skills/dprint/SKILL.md) (formats source configurations).
- Also: [security-review](../../../skills/security-review/references/code-review/GUIDE.md) (leak scanning around
*.agefiles), [dot-cli](../../../skills/dot-cli/SKILL.md) (workstation and archive commands).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.