{"id":23960444,"url":"https://github.com/s4tyendra/envman","last_synced_at":"2026-02-13T09:26:44.956Z","repository":{"id":270249423,"uuid":"909757722","full_name":"S4tyendra/envman","owner":"S4tyendra","description":"envman: A command-line tool to manage environment variable profiles. Create, edit, list, view, and delete profiles using an interactive text-based UI. Ideal for managing configurations across different projects and environments.","archived":false,"fork":false,"pushed_at":"2025-01-01T17:59:48.000Z","size":36,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T22:04:44.194Z","etag":null,"topics":["bubbletea","cli","command-line-tool","configuration","configuration-management","dev-tool","development","devops","environment-management","environment-variables","go","golang","interactive-cli","multi-environment","productivity","profiles","sysadmin","terminal-ui","tview","workflow"],"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/S4tyendra.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":"2024-12-29T17:31:04.000Z","updated_at":"2025-02-26T18:19:26.000Z","dependencies_parsed_at":"2025-06-19T04:32:07.996Z","dependency_job_id":null,"html_url":"https://github.com/S4tyendra/envman","commit_stats":null,"previous_names":["s4tyendra/envman"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/S4tyendra/envman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4tyendra%2Fenvman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4tyendra%2Fenvman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4tyendra%2Fenvman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4tyendra%2Fenvman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/S4tyendra","download_url":"https://codeload.github.com/S4tyendra/envman/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4tyendra%2Fenvman/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260687646,"owners_count":23046764,"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","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":["bubbletea","cli","command-line-tool","configuration","configuration-management","dev-tool","development","devops","environment-management","environment-variables","go","golang","interactive-cli","multi-environment","productivity","profiles","sysadmin","terminal-ui","tview","workflow"],"created_at":"2025-01-06T19:28:16.747Z","updated_at":"2025-10-03T22:32:09.782Z","avatar_url":"https://github.com/S4tyendra.png","language":"Go","readme":"# envman\n\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n`envman` is a command-line tool that simplifies the management of environment variables using profiles. It allows you to create, edit, list, view, and delete different sets of environment variables, streamlining your workflow when working on multiple projects or environments.\n\n\u003e **Note:** This tool is currently only available on Linux systems. Support for macOS and Windows is coming soon.\n\n\n## ✨ Features\n\n-   **Profile Creation:** Easily create new environment variable profiles.\n-   **Profile Editing:** Edit existing profiles using a user-friendly text-based editor.\n-   **Profile Listing:** View a summary of available profiles, including the number of entries and last modification time.\n-   **Profile Viewing:** Inspect a profile's content with syntax highlighting in a read-only viewer.\n-   **Profile Deletion:** Remove profiles that are no longer needed.\n-   **Interactive Interface:** Provides a smooth text-based interface for managing profiles.\n\n## 📦 TODO\n\n- [x] Load profiles and environment variables to session.\n- [ ] Add Comments to code.\n- [ ] Add support for exporting and importing/exporting profiles.\n- [ ] Implement Encrypted profiles.\n\n## 🚀 Installation\n\n```shell\ncurl -L http://envman.devh.in/install | bash\n```\n\n## 📚 Usage\n\n### **Help**\n\n```shell\n❯ envman -h\nenvman v0.1.0\nUsage:\n  envman [command] [flags]\n\nAvailable Commands:\n  init        Initialize envman in your shell\n  profile     Manage environment profiles\n  load        Load a profile into the current shell\n\nProfile Subcommands:\n  create      Create a new environment profile\n  edit        Edit an existing environment profile\n  show        Display profile contents\n  delete      Delete an environment profile\n  list        List all available profiles\n\nExamples:\n  # Initialize envman\n  $ envman init\n\n  # Profile Management\n  $ envman profile create server-test    # Create new profile\n  $ envman profile list                  # List all profiles\n  $ envman profile show server-test      # Show profile contents\n  $ envman profile edit server-test      # Edit existing profile\n  $ envman profile delete server-test    # Delete profile\n\n  # Load Profile\n  $ envman load server-test             # Load profile into current shell\n\nFlags:\n  -h, --help    Display help information\n  -v, --version Display version information\n\n```\n\n\n**Quick Start Example:**\n\nTo create a new profile named `dev`:\n\n```bash\nenvman profile create dev\n```\n\nTo edit the newly created profile:\n\n```bash\nenvman profile edit dev\n```\n\nTo view all profiles:\n\n```bash\nenvman profile list\n```\n\nTo see the contents of a profile:\n\n```bash\nenvman profile view dev\n```\n\n## 🔨 Building from Source\n\nIf you prefer to build `envman` yourself, here are the instructions.\n\n**📋 Prerequisites:**\n\n-   Go (version 1.20 or later)\n\n**Build Steps:**\n\n1.  Clone the repository:\n    ```bash\n    git clone https://github.com/s4tyendra/envman.git\n    cd envman\n    ```\n2.  Build the binary:\n    ```bash\n    go build -o envman main.go\n    ```\n3. (Optional) Install the binary to `/usr/local/bin`:\n    ```bash\n    sudo cp envman /usr/local/bin\n    ```\n\n**System Requirements:**\n\n- Any system with Go support\n\n## 💻 Development\n\nFor those interested in contributing to `envman`, here's how to set up the development environment.\n\n**Development Environment Setup:**\n\n1.  Ensure that Go is installed and properly configured.\n2.  Clone the repository as described in the \"Building from Source\" section.\n\n**Build Commands:**\n\n```bash\ngo build -o envman main.go\n```\n\n**Test Commands:**\n\nCurrently, no automated testing is implemented, but we encourage manual testing of new features and bug fixes.\n\n**Directory Structure Overview:**\n\n```\nenvman/\n├── main.go          # Main entry point of the application\n├── helpers.go       # Helper functions and initial setup\n├── models.go        # Definitions of app's data structures\n├── outputs.go       # Constants and formatted output strings\n├── profile_create.go  # Profile creation logic\n├── profile_delete.go  # Profile deletion logic\n├── profile_edit.go    # Profile editing logic\n├── profile_list.go    # Profile listing logic\n├── profile_view.go    # Profile viewing logic\n```\n\n## 🤝 Contributing\n\nWe welcome contributions to `envman`! Here's how you can help:\n\n1.  **Fork the repository** on GitHub.\n2.  **Make your changes** on your fork.\n3.  **Submit a pull request** with a clear description of your changes.\n\n**Code Style Guidelines:**\n- Adhere to standard Go coding conventions.\n- Provide descriptive commit messages.\n\n**Issue Reporting:**\n\n- Report bugs, propose feature requests, or ask questions in the issues.\n- Include steps to reproduce any bugs.\n\n**Pull Request Process:**\n\n- Keep pull requests focused on single issues or features.\n- Provide detailed description about the changes you made.\n- Respond to any review comments in a timely manner.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://opensource.org/licenses/MIT) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs4tyendra%2Fenvman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs4tyendra%2Fenvman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs4tyendra%2Fenvman/lists"}