Skip to content

No uninstall script or documented uninstall procedure #1750

Description

@Widthdom

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/).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions