{"id":50474510,"url":"https://github.com/stephanoumenos/anchor","last_synced_at":"2026-06-01T12:03:24.585Z","repository":{"id":189909399,"uuid":"680241768","full_name":"stephanoumenos/anchor","owner":"stephanoumenos","description":"CLI to streamline your navigation in the terminal.","archived":false,"fork":false,"pushed_at":"2023-08-22T09:07:38.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-27T13:38:17.403Z","etag":null,"topics":["bash","cli","filesystem","fish","golang","shell","terminal","zsh"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stephanoumenos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-18T17:35:26.000Z","updated_at":"2023-08-21T22:30:46.000Z","dependencies_parsed_at":"2023-08-22T10:59:55.356Z","dependency_job_id":null,"html_url":"https://github.com/stephanoumenos/anchor","commit_stats":null,"previous_names":["stephanoumenos/anchor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stephanoumenos/anchor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephanoumenos%2Fanchor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephanoumenos%2Fanchor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephanoumenos%2Fanchor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephanoumenos%2Fanchor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephanoumenos","download_url":"https://codeload.github.com/stephanoumenos/anchor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephanoumenos%2Fanchor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33773782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cli","filesystem","fish","golang","shell","terminal","zsh"],"created_at":"2026-06-01T12:03:23.651Z","updated_at":"2026-06-01T12:03:24.579Z","avatar_url":"https://github.com/stephanoumenos.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# anchor\n\nAnchor is a CLI designed to streamline your navigation in the terminal. The main purpose of this tool is to allow you to go to your saved directory anchor automatically whenever you open your terminal. This is particularly helpful for project management, as you can easily navigate to different project directories saved as anchors.\n\n## Key Features\n\n- **Automatically Navigate to Default Anchor:** Open your terminal to your saved anchor automatically, every time.\n- **Project Management:** Manage your various project directories by saving them as named anchors.\n- **Easy Navigation:** Use simple commands to navigate between your anchors, save new ones, and more.\n\n## Usage\n\nBelow are the available commands for the Anchor CLI.\n\n### Set the default directory\n\nSet the current directory or a named anchor as the default directory to automatically navigate to.\n\n```bash\nanchor down [anchor_name]\n```\n\n### Unset Default Directory\n\nUnset the current default directory.\n\n```bash\nanchor up\n```\n\n### Create a saved Anchor\n\nSave the current directory as a named anchor for easy project navigation.\n\n```bash\nanchor save [anchor_name]\n```\n\n### Navigate to an anchor\n\nGo to your saved anchor whenever you open your terminal, or manually navigate to one of your saved named anchors.\n\n```bash\nanchor go [anchor_name]\n```\n\nUse the `-f` flag to enable fuzzy finding mode, allowing you to easily search and select an anchor from your saved anchors:\n\n```bash\nanchor go -f\n```\n\n### Delete a saved anchor\n\nDelete a saved anchor directory.\n\n```bash\nanchor remove [anchor_name]\n```\n\n### Get Current Anchor Path\n\nGet the path of the current anchor.\n\n```bash\nanchor get\n```\n\n### List Saved Anchors\n\nList the current saved project directories.\n\n```bash\nanchor list\n```\n\n### Generate Completion Script\n\nGenerate the completion script for different shell environments.\n\n```bash\nanchor completion [bash|zsh|fish|powershell]\n```\n\n# Installation\n\n### Pre-requisites\n\nBefore proceeding with the installation, please ensure that you have the Go programming language installed on your system. Having Go properly set up is essential for compiling the anchor binary from source. If you don't have it installed, you can follow the official installation guide to set up Go in your environment.\n\n### 1. Clone the Repository\n\n```bash\ngit clone git@github.com:stephanoumenos/anchor.git\n```\n\n### 2. Compile the Binary\n\n```bash\ncd anchor \u0026\u0026 go build\n```\n\n### 3. Copy the Binary\n\n```bash\nsudo cp anchor /usr/local/bin/\n```\n\n### 4. Shell Integration\n\n#### For zsh:\n\nRun this one-liner to integrate `anchor` into your zsh shell:\n\n```bash\necho 'anchor() {\\\n  if [[ $$1 == \"go\" ]]; then\\\n    local anchor_path=\"$$(command anchor go $$2 2\u003e/dev/null)\";\\\n    if [[ -n $$anchor_path ]]; then\\\n      cd \"$$anchor_path\";\\\n    elif [[ -n $$2 ]]; then\\\n      echo \"⛵️ No saved anchor named '\\''$$2'\\'' found.\";\\\n    else\\\n      echo \"⛵️ No default anchor set. Use '\\''anchor down'\\'' to set your current directory as the default.\";\\\n    fi;\\\n  else\\\n    command anchor \"$$@\";\\\n  fi\\\n}\\\n\\\nif [[ $$PWD == $$HOME ]]; then\\\n  eval \"cd $$(anchor get)\";\\\nfi\\\nsource \u003c(anchor completion zsh)' \u003e\u003e ~/.zshrc\n```\n\n#### For bash:\n\nRun this one-liner to integrate `anchor` into your bash shell:\n\n```bash\necho 'anchor() {\\\n  if [[ $$1 == \"go\" ]]; then\\\n    local anchor_path=\"$$(command anchor go $$2 2\u003e/dev/null)\";\\\n    if [[ -n $$anchor_path ]]; then\\\n      cd \"$$anchor_path\";\\\n    elif [[ -n $$2 ]]; then\\\n      echo \"⛵️ No saved anchor named '\\''$$2'\\'' found.\";\\\n    else\\\n      echo \"⛵️ No default anchor set. Use '\\''anchor down'\\'' to set your current directory as the default.\";\\\n    fi;\\\n  else\\\n    command anchor \"$$@\";\\\n  fi\\\n}\\\n\\\nif [[ $$PWD == $$HOME ]]; then\\\n  eval \"cd $$(anchor get)\";\\\nfi\\\nsource \u003c(anchor completion bash)' \u003e\u003e ~/.bashrc\n```\n\n#### For fish:\n\nRun this one-liner to integrate `anchor` into your fish shell:\n\n```bash\necho 'function anchor\\\n  if test $$argv[1] = \"go\";\\\n    set anchor_path (command anchor go $$argv[2] 2\u003e/dev/null);\\\n    if test -n $$anchor_path;\\\n      cd $$anchor_path;\\\n    else if test -n $$argv[2];\\\n      echo \"⛵️ No saved anchor named '\\''$$argv[2]'\\'' found.\";\\\n    else;\\\n      echo \"⛵️ No default anchor set. Use '\\''anchor down'\\'' to set your current directory as the default.\";\\\n    end;\\\n  else;\\\n    command anchor $$argv;\\\n  end;\\\nend\\\n\\\nif test $$PWD = $$HOME;\\\n  eval \"cd (anchor get)\";\\\nend\\\nanchor completion fish | source' \u003e\u003e ~/.config/fish/config.fish\n```\n\n### 5. Apply Changes\n\nNow, restart your shell or run one of the following to apply the changes:\n\n- For zsh: `source ~/.zshrc`\n- For bash: `source ~/.bashrc`\n- For fish: `source ~/.config/fish/config.fish`\n\nEnjoy using `anchor` to enhance your navigation between directories!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephanoumenos%2Fanchor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephanoumenos%2Fanchor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephanoumenos%2Fanchor/lists"}