{"id":26572811,"url":"https://github.com/gary-ash/prompt","last_synced_at":"2026-04-18T07:33:17.902Z","repository":{"id":283194215,"uuid":"950988973","full_name":"Gary-Ash/Prompt","owner":"Gary-Ash","description":"Snazzy Powerline style prompt for Bash and Zsh","archived":false,"fork":false,"pushed_at":"2025-04-23T19:18:59.000Z","size":681,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T20:28:09.705Z","etag":null,"topics":["bash","shell-prompt","zsh"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Gary-Ash.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":".github/CONTRIBUTING.markdown","funding":".github/FUNDING.yml","license":"LICENSE.markdown","code_of_conduct":".github/CODE_OF_CONDUCT.markdown","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["Gary-Ash"]}},"created_at":"2025-03-19T01:53:53.000Z","updated_at":"2025-04-23T19:19:04.000Z","dependencies_parsed_at":"2025-03-19T02:40:12.694Z","dependency_job_id":"c4feb06d-b09a-40c7-a643-18d7db7ff088","html_url":"https://github.com/Gary-Ash/Prompt","commit_stats":null,"previous_names":["gary-ash/prompt"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Gary-Ash/Prompt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gary-Ash%2FPrompt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gary-Ash%2FPrompt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gary-Ash%2FPrompt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gary-Ash%2FPrompt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gary-Ash","download_url":"https://codeload.github.com/Gary-Ash/Prompt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gary-Ash%2FPrompt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272971379,"owners_count":25024092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"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","shell-prompt","zsh"],"created_at":"2025-03-23T00:35:23.252Z","updated_at":"2026-04-18T07:33:17.895Z","avatar_url":"https://github.com/Gary-Ash.png","language":"C++","funding_links":["https://github.com/sponsors/Gary-Ash"],"categories":[],"sub_categories":[],"readme":"# Prompt\n\nA fast, customizable Powerline-style shell prompt for macOS written in C++.\n\n![Screenshot](documentation/ScreenShot.png)\n\n## Features\n\n- Powerline-style segmented prompt with arrow separators\n- Git integration via libgit2 (no shell subprocesses)\n  - Branch name with remote host icons (GitHub, GitLab, Bitbucket)\n  - Ahead/behind counts for multiple remotes\n  - Staged, modified, untracked, conflicted, and stashed file counts\n  - Clean repository indicator\n- Current working directory with SF Symbols for known folders (Desktop, Documents, Developer, Downloads, etc.)\n- Username with alternate colors for root\n- Hostname display\n- Last command error status (symbolic errno names or simple indicator)\n- Support for both zsh and bash\n- True color (24-bit RGB) and 256-color palette support\n\n## Requirements\n\n- macOS\n- C++17 compiler (clang or gcc)\n- [libgit2](https://libgit2.org/)\n- A [Nerd Font](https://www.nerdfonts.com/) for icons\n\n## Building\n\n### Install libgit2\n\nUsing Homebrew:\n\n```bash\nbrew install libgit2\n```\n\nOr build from source:\n\n```bash\n./scripts/build-libgit2.sh\n```\n\n### Compile\n\n```bash\nmake\n```\n\nTo use gcc instead of clang:\n\n```bash\nmake CXX=g++\n```\n\n## Installation\n\n1. Copy the `prompt` binary to a directory in your PATH (e.g., `/usr/local/bin`)\n\n2. Configure your shell:\n\n**For zsh** (add to `~/.zshrc`):\n\n```zsh\nprecmd() {\n    PROMPT=\"$(prompt --error $?)\"\n}\n```\n\n**For bash** (add to `~/.bashrc`):\n\n```bash\nPROMPT_COMMAND='PS1=\"$(prompt --error $?)\"'\n```\n\n## Configuration\n\nThe prompt is configured via environment variables. Set one of the following in your shell configuration:\n\n- `SNAZZY_PROMPT` - 256-color palette configuration\n- `SNAZZY_PROMPT_TRUE` - True color (24-bit RGB) configuration (used when `COLORTERM=truecolor` or `COLORTERM=24bit`)\n\n### Format\n\n```\nsegment,fg,bg[,alt_fg,alt_bg]:segment2,fg,bg[,alt_fg,alt_bg]:...\n```\n\n- Colors are specified as either:\n  - A single number (0-255) for 256-color palette\n  - Three semicolon-separated values (R;G;B) for true color\n- Alternate colors are optional and used for special states (e.g., root user, read-only directory, clean git repo)\n\n### Available Segments\n\n| Segment   | Description |\n|-----------|-------------|\n| `user`    | Current username (alternate colors when root) |\n| `machine` | Hostname |\n| `cwd`     | Current working directory with folder icons (alternate colors when read-only) |\n| `git`     | Git repository status (alternate colors when clean) |\n| `err`     | Last command error as symbolic name (EPERM, ENOENT, etc.) |\n| `short`   | Simple error indicator icon |\n\n### Example Configurations\n\n**256-color:**\n\n```bash\nexport SNAZZY_PROMPT=\"cwd,255,166,255,196:git,255,200,255,35:short,255,1\"\n```\n\n**True color:**\n\n```bash\nexport SNAZZY_PROMPT_TRUE=\"user,255;255;255,106;168;214,255;255;255,106;168;214:machine,255;255;255,180;167;214:cwd,255;255;255,255;148;0,255;255;255,1:git,255;255;255,147;196;124,255;255;255,255;142;198:short,255;255;255,128;0;0\"\n```\n\n## License\n\nMIT License - see [LICENSE.markdown](LICENSE.markdown)\n\n## Author\n\nGary Ash \u003cgary.ash@icloud.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgary-ash%2Fprompt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgary-ash%2Fprompt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgary-ash%2Fprompt/lists"}