Summary
install.sh handles installation and supports re-run for upgrade, but there is no uninstall.sh and no documented uninstall procedure. To cleanly remove cdidx, a user must guess at which files were placed and where: ~/.local/bin/cdidx, runtime native assets (libe_sqlite3.so/.dylib), ~/.cache/cdidx/ (#C347 territory), .cdidx/ directories scattered across workspaces, shell completion scripts, and any PATH lines added to shell profiles. For a CLI that ships native deps, partial uninstalls leave orphan files behind.
Where
install.sh (no uninstall counterpart)
README.md / DEVELOPER_GUIDE.md (no documented procedure)
Suggested approach
(1) Add install.sh --uninstall (or a separate uninstall.sh) that removes the binary, runtime native assets, optional cache directory under ~/.cache/cdidx/, and prints a checklist of things that were NOT removed (project .cdidx/ directories, shell completion script if installed). (2) Emit the inverse of every action install.sh took, in reverse order. (3) Honor CDIDX_INSTALL_DIR if set during install. (4) Document the procedure in README under "Installation". (5) Cover with a CI test that installs to a temp prefix, then uninstalls, and asserts the prefix is empty (modulo ~/.cache/).
Summary
install.shhandles installation and supports re-run for upgrade, but there is nouninstall.shand no documented uninstall procedure. To cleanly remove cdidx, a user must guess at which files were placed and where:~/.local/bin/cdidx, runtime native assets (libe_sqlite3.so/.dylib),~/.cache/cdidx/(#C347 territory),.cdidx/directories scattered across workspaces, shell completion scripts, and any PATH lines added to shell profiles. For a CLI that ships native deps, partial uninstalls leave orphan files behind.Where
install.sh(no uninstall counterpart)README.md/DEVELOPER_GUIDE.md(no documented procedure)Suggested approach
(1) Add
install.sh --uninstall(or a separateuninstall.sh) that removes the binary, runtime native assets, optional cache directory under~/.cache/cdidx/, and prints a checklist of things that were NOT removed (project.cdidx/directories, shell completion script if installed). (2) Emit the inverse of every actioninstall.shtook, in reverse order. (3) HonorCDIDX_INSTALL_DIRif set during install. (4) Document the procedure in README under "Installation". (5) Cover with a CI test that installs to a temp prefix, then uninstalls, and asserts the prefix is empty (modulo~/.cache/).