{"id":28159712,"url":"https://github.com/aphexlog/gsd","last_synced_at":"2025-08-23T15:39:36.459Z","repository":{"id":293154174,"uuid":"981678631","full_name":"aphexlog/gsd","owner":"aphexlog","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-23T00:37:45.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-23T00:38:58.426Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/aphexlog.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-11T16:49:01.000Z","updated_at":"2025-05-23T00:37:48.000Z","dependencies_parsed_at":"2025-05-14T01:11:10.722Z","dependency_job_id":"712a48bf-eb0a-4037-88be-61fdf854efd4","html_url":"https://github.com/aphexlog/gsd","commit_stats":null,"previous_names":["aphexlog/gsd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aphexlog/gsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aphexlog%2Fgsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aphexlog%2Fgsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aphexlog%2Fgsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aphexlog%2Fgsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aphexlog","download_url":"https://codeload.github.com/aphexlog/gsd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aphexlog%2Fgsd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271754939,"owners_count":24815323,"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-23T02:00:09.327Z","response_time":69,"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":[],"created_at":"2025-05-15T10:11:26.302Z","updated_at":"2025-08-23T15:39:36.447Z","avatar_url":"https://github.com/aphexlog.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GSD CLI\n\n[![Go Version](https://img.shields.io/github/go-mod/go-version/aphexlog/gsd)](https://go.dev/)\n[![Release](https://img.shields.io/github/v/release/aphexlog/gsd)](https://github.com/aphexlog/gsd/releases/latest)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/aphexlog/gsd/release.yml)](https://github.com/aphexlog/gsd/actions)\n\n**GSD CLI** (Get Shit Done) is a user-friendly command-line tool designed to simplify authentication and credential management for AWS services. It provides an intuitive interface for managing AWS profiles, authenticating via SSO, and accessing AWS services, so you can focus on getting things done.\n\n---\n\n## Features\n\n- **Interactive Configuration**: User-friendly interactive prompts for managing AWS profiles\n- **Simplified Authentication**: Authenticate with AWS using SSO or static credentials\n- **Profile Management**: Easily switch between AWS profiles\n- **Credential Validation**: Verify the validity of your current credentials\n- **Quick Access to AWS Services**: Open the AWS Management Console, SSO login page, or specific AWS services directly from the CLI\n- **User-Friendly Commands**: Intuitive commands with clear error messages and helpful output\n\n---\n\n## Installation\n\n### Option 1: Download Binary (Recommended)\n\nVisit the [Releases](https://github.com/aphexlog/gsd/releases) page and download the latest version for your platform:\n\n- For macOS:\n  ```bash\n  # For Apple Silicon (M1/M2)\n  curl -LO https://github.com/aphexlog/gsd/releases/latest/download/gsd_Darwin_arm64.tar.gz\n  tar xzf gsd_Darwin_arm64.tar.gz\n  sudo mv gsd /usr/local/bin/\n\n  # For Intel Macs\n  curl -LO https://github.com/aphexlog/gsd/releases/latest/download/gsd_Darwin_x86_64.tar.gz\n  tar xzf gsd_Darwin_x86_64.tar.gz\n  sudo mv gsd /usr/local/bin/\n  ```\n\n- For Linux:\n  ```bash\n  # For AMD64\n  curl -LO https://github.com/aphexlog/gsd/releases/latest/download/gsd_Linux_x86_64.tar.gz\n  tar xzf gsd_Linux_x86_64.tar.gz\n  sudo mv gsd /usr/local/bin/\n\n  # For ARM64\n  curl -LO https://github.com/aphexlog/gsd/releases/latest/download/gsd_Linux_arm64.tar.gz\n  tar xzf gsd_Linux_arm64.tar.gz\n  sudo mv gsd /usr/local/bin/\n  ```\n\n- For Windows:\n  Download the appropriate ZIP file from the releases page and add it to your PATH.\n\n### Option 2: Build from Source\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/aphexlog/gsd.git\n   cd gsd\n   ```\n\n2. Build the CLI:\n   ```bash\n   go build -o gsd\n   ```\n\n3. Add the binary to your PATH (optional):\n   ```bash\n   sudo mv gsd /usr/local/bin/\n   ```\n\n---\n\n## Usage\n\n### Authentication\n\nAuthenticate with AWS using the `login` command:\n```bash\ngsd login [profile]\n```\nIf no profile is specified, the default profile is used. This command automatically detects your AWS SSO profile or prompts you to authenticate.\n\n### Profile Management\n\nSwitch to a different profile:\n```bash\ngsd switch\n```\nYou will be presented with an interactive menu to select your profile.\n\n### Configuration Management\n\nList all configured profiles:\n```bash\ngsd config ls\n```\n\nAdd a new profile interactively:\n```bash\ngsd config add\n```\nThe CLI will guide you through:\n- Profile name selection\n- AWS region selection\n- Authentication method choice (SSO or Access Keys)\n- Required configuration details\n\nRemove an existing profile:\n```bash\ngsd config remove\n```\nProvides an interactive menu to:\n- Select the profile to remove\n- Confirm deletion\n\nEdit an existing profile:\n```bash\ngsd config edit\n```\nInteractive interface to:\n- Select the profile to edit\n- Choose what to modify (Region, SSO Configuration, or Access Keys)\n- Update the selected configuration\n\n### Open AWS Services\n\nOpen the AWS Management Console for the current account:\n```bash\ngsd open\n```\nSelect \"Console (Main)\" from the interactive menu.\n\nOpen the AWS SSO login page:\n```bash\ngsd open\n```\nSelect \"SSO\" from the interactive menu.\n\nOpen a specific AWS service:\n```bash\ngsd open\n```\nSelect the desired service from the interactive menu.\n\n### Credential Validation\n\nCheck the currently authenticated profile and credentials:\n```bash\ngsd whoami\n```\n\n---\n\n## Example Workflow\n\n1. **Add a New Profile**:\n   ```bash\n   gsd config add\n   ```\n   Follow the interactive prompts to configure your profile.\n\n2. **Login**:\n   ```bash\n   gsd login my-profile\n   ```\n   Authenticate using your configured profile.\n\n3. **Switch Profile**:\n   ```bash\n   gsd switch\n   ```\n   Select a different AWS profile from the interactive menu.\n\n4. **Open AWS Console**:\n   ```bash\n   gsd open\n   ```\n   Select \"Console (Main)\" to access the AWS Management Console.\n\n5. **Check Current Profile**:\n   ```bash\n   gsd whoami\n   ```\n   View the currently authenticated profile and credentials.\n\n---\n\n## Roadmap\n\n- Add support for additional AWS services\n- Improve output formatting (e.g., JSON, tables)\n- Integrate secure credential storage\n- Add profile import/export functionality\n- Enhance interactive configuration options\n\n---\n\n## Contributing\n\nContributions are welcome! Please submit a pull request or open an issue to suggest improvements or report bugs.\n\nCreated by [aphexlog](https://github.com/aphexlog)\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faphexlog%2Fgsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faphexlog%2Fgsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faphexlog%2Fgsd/lists"}