Encrypted directory bookmarks manager, cross-platform CLI tool.
- Save and recall directory bookmarks securely
- AES-GCM encrypted storage with auto-generated key
- Cross-platform installers (user or global)
- Download the ZIP for your OS: splace-<os>.zipand/or the installersplace-<os>-installer.zip.
- Unzip and run the installer:
# per-user install (default) ./install-<os>.sh # or global install (requires sudo) ./install-<os>.sh --global 
To build with Docker on Windows, install Docker Desktop:
- Download the official installer from your browser or with PowerShell:
Invoke-WebRequest -Uri "https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe" -OutFile "$env:TEMP\DockerDesktopInstaller.exe" 
- Run the installer (requires user interaction):
- Double-click the downloaded file, or
- From PowerShell as Administrator:
Start-Process "$env:TEMP\DockerDesktopInstaller.exe" -Verb RunAs 
 
- Follow the installation prompts and restart your computer if required.
- After installation, verify Docker is available:
docker --version
./build.sh./build.ps1If you see an error about script execution policy, run the following in an elevated PowerShell window:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedThis allows running local scripts like build.ps1.
go build -buildvcs=false -ldflags="-s -w" -o splace
export SPLACE_KEY=$(openssl rand -base64 32)
./splace s  # initialise and save current dirsplace s        # save current directory
splace l        # show last saved directory
splace p        # show and pop last saved directory
splace n <idx>  # show bookmark at 1-based index
splace all      # list all saved directoriesFor automatically changing dir into your latest place or the n'th place from splace
cdplace() {
    local dir
    if [ $# -eq 0 ]; then
        dir=$(splace l 2>/dev/null)
    else
        dir=$(splace n "$1" 2>/dev/null)
    fi
    if [ -n "$dir" ] && [ -d "$dir" ]; then
        cd "$dir" || {
            echo "Error: Failed to change to directory '$dir'"
            return 1
        }
    else
        echo "Error: No valid directory found for the given input"
        return 1
    fi
}- SPLACE_KEY(optional): base64-encoded 32-byte AES key. Auto-generated on first run at- ~/.splace/key.
GitHub Actions builds binaries and installers for Linux, Windows, and macOS, publishing artifacts on release.
MIT © 2025 Luis Pulido Diaz
Contributions are welcome! Please open an issue or submit a pull request.