docs(env): only .env files form the hierarchy A `# rsenv:`-shaped line in a dot.envrc comment or a swapped-in document is not a parent declaration, and the tree commands now name the files that declare several parents instead of refusing with a bare verdict. Say both, next to the hierarchy concept where the reader meets the directive.
docs(config): fix env var names and config paths Every documented environment override was unusable: the separator is a double underscore, so RSENV_SOPS__GPG_KEY is ignored where RSENV__SOPS__GPG_KEY works. Corrected the table and every example across the pages that carried them. The global config path is platform-dependent - on macOS it is under Application Support, not ~/.config, and XDG_CONFIG_HOME has no effect there. Name both platforms and point at `rsenv config path`. Document the editor setting as what every command spawns, resolved as config file, else $VISUAL, else $EDITOR, else vim.
docs(env): editor used by tree-edit and edit-leaf Both commands take the editor from the `editor` setting (`rsenv config path`, default $EDITOR) rather than a hardcoded vim, and both require a vim-family editor: the grid layout is a generated vimscript sourced with -S, and edit-leaf splits with -O. Say so, so a non-vim editor is a documented refusal rather than a surprise.
docs(swap): RSENV_SWAPPED now refreshes itself The page claimed that "nothing invalidates the cache by itself", which stopped being true: a swap that changes state bumps the mtime of the vault's dot.envrc, so direnv re-evaluates in every shell sitting in the project and the `direnv allow` in swapin/swapout is no longer needed. Spell out what the bump is and is not - a timestamp, not a stored marker, so the content hash, the ciphertext and the allow token are untouched - and keep the caveat that a shell which never reaches a prompt still holds the old value. Add a troubleshooting entry for a marker that disagrees with `rsenv swap status`.
feat: backup restore
docs: rename swap commit to vault commit; fold init into vault Follows rs-env 1e022ee. - `## init` becomes `## vault`, and the `swap commit` reference section moves into it as `### vault commit`. - The "Why it exists" rationale is rewritten: the command no longer closes the window where live work sits in no repo -- `swap out` does that now. What remains is a commit scoped to one vault plus the project-HEAD join key in the message. - Removes every claim that the swap-out has already happened, and the "leaves the project swapped out" note, which are now false. - Documents the refusal, its message, and that foreign-host sentinels do not block it. - `RSENV_SWAPPED Marker` becomes `Detecting Swap State`: the value is derived from the sentinels, never stored in dot.envrc, and exported at top level so starship and friends see it. - Documents `sops.encrypt_on_commit` and `--no-encrypt`.
docs(swap): document `swap commit`, and the new `swap diff` defaults Covers `rsenv swap commit` in both Command-Reference and File-Swapping: what it does in order, why the commit is scoped to one vault directory rather than sweeping every vault on the machine, the project-hash link in the message and its four variants, and the refusal to commit unencrypted `envs/`/`guarded/` content. Updates the `swap diff` documentation for the inverted default: the patch is now shown without `-p`, `--stat` gives the summary alone, and output is paged through whatever `git var GIT_PAGER` reports. States the post-condition of `swap commit` prominently in both pages: it leaves the project swapped out, so a checkpoint costs a `swap in` to resume. That is easy to miss from the command name alone.
docs(swap): document git-pathspec semantics for `swap diff` paths
docs(swap): document `swap diff`; fix wrong sentinel filename format Adds a `swap diff` reference entry and a File-Swapping "Inspecting Changes" section covering why the command exists (while swapped in, neither `git diff` sees anything), what the baseline is, and the dot-file / symlink / binary / foreign-host behaviour. States explicitly that the baseline is the swap-in snapshot and resets on every swap out/in cycle, so readers do not mistake it for "how my override differs from the committed original". Also fixes the sentinel filename format throughout: it is `<file>@@<host>@@rsenv_active`, not `<file>.<host>.rsenv_active`. This was not cosmetic -- four of the occurrences were `rm` recovery commands in File-Swapping and Troubleshooting that matched no real file, so the documented recovery procedure silently did nothing.
update
feat: swap status
new config merge semantic
info --check flag added
refac: base_dir
update new features
sops hash algo
new cli interface
update 2.2.0
custom sidebar foldable
rm custom sidebar
logo
V2 documentation
feat: new docu
Initial Home page