{"id":13522908,"url":"https://github.com/braheezy/violet","last_synced_at":"2025-09-14T19:09:31.457Z","repository":{"id":112496312,"uuid":"582806735","full_name":"braheezy/violet","owner":"braheezy","description":"Colorful TUI frontend to run Vagrant commands","archived":false,"fork":false,"pushed_at":"2024-05-19T18:18:19.000Z","size":1205,"stargazers_count":20,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-19T19:29:52.126Z","etag":null,"topics":["go","tui","vagrant"],"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/braheezy.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}},"created_at":"2022-12-27T23:21:01.000Z","updated_at":"2024-05-19T19:29:57.138Z","dependencies_parsed_at":"2024-01-07T21:02:13.962Z","dependency_job_id":"a682b900-df9a-49fe-afce-8475ef7dd3b8","html_url":"https://github.com/braheezy/violet","commit_stats":{"total_commits":141,"total_committers":2,"mean_commits":70.5,"dds":"0.028368794326241176","last_synced_commit":"a0b56a31dfb1876293d82fdb4c12e6c972901e6e"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braheezy%2Fviolet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braheezy%2Fviolet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braheezy%2Fviolet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braheezy%2Fviolet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/braheezy","download_url":"https://codeload.github.com/braheezy/violet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249191900,"owners_count":21227674,"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":["go","tui","vagrant"],"created_at":"2024-08-01T06:00:53.591Z","updated_at":"2025-04-16T03:43:20.472Z","avatar_url":"https://github.com/braheezy.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"launcher\"\u003e\u003c/a\u003eCommand launchers","Table of Contents"],"sub_categories":[],"readme":"# Violet\nGive [Vagrant](https://developer.hashicorp.com/vagrant) a splash of color :art:\n\nViolet is a colorful TUI frontend to manage Vagrant virtual machines. Quickly view the state of all VMs and issue commands against them!\n\n![Violet Gif](./assets/violet.png)\n\n## Getting Started\n\nViolet is delivered as a single binary for various platforms. See the [Releases](https://github.com/braheezy/violet/releases) page for the latest builds.\n\n### Prerequisites\n\nViolet does absolutely nothing without Vagrant installed. See the [Vagrant docs](https://developer.hashicorp.com/vagrant/downloads) to install it for your platform.\n\nVagrant itself does absolutely nothing unless you have a Hypervisor installed and configured. Here's a few popular ones:\n- [VirtualBox](https://www.virtualbox.org/)\n- [Libvirt/QEMU](https://libvirt.org/)\n\nFor best results, it helps to have existing Vagrant VMs.\n\n### Usage\nOpen a terminal and run the program:\n\n    violet\n\nSee the following table for how to interact with Violet:\n| Action                  | Key        | Description                                               |\n|-------------------------|------------|-----------------------------------------------------------|\n| Switch Environment Tab  | Tab/Shift+Tab | Cycle through found Vagrant environments       |\n| Select Command | Left/Right | Cycle through the supported Vagrant commands |\n| Run command | Enter | Run the highlighted command on the selected entity |\n| Toggle Environments/VM control | Space bar | Operate on the environment as a whole or individual machines |\n\n\nNote that Violet does not aim to support all Vagrant commands and will provide a poor interface for troubleshooting issues with Vagrant, VMs, hypervisors, etc.\n\n## Development\n\nThe `Makefile` contains the most common developer actions to perform. See `make help` for everything, or build and run for your machine:\n\n    make run\n\nUsing the `Vagrantfile`, a Libvirt VM can be created and inside that, scripts from `test/` can create quick dummy Vagrant projects. This can be a safe sandbox environment to experiment with builds of `violet`.\n\n```bash\n# Bring VM up and SSH in\nvagrant up \u0026\u0026 vagrant ssh\n# Get into the working directory\ncd /vagrant\n# Setup test environments\nbash test/multi_env.sh\n# Make edits, then run\nmake run\n```\n\n| Test Script | Purpose |\n| --- | --- |\n| `single_env.sh` | Create one env with one machine\n| `multi_env.sh` | Create one env with multiple machines\n| `many_env.sh` | Create multiple envs, each with one machine\n\n## Acknowledgements\n\n* [bubbletea](https://github.com/charmbracelet/bubbletea) - Main TUI framework\n* [lipgloss](https://github.com/charmbracelet/lipgloss) - Styling and colors\n* [bubbletint](https://github.com/lrstanley/bubbletint) - Pre-made lipgloss colors\n* [bubblezone](https://github.com/lrstanley/bubblezone) - Rich mouse tracking\n\n## Contributing\n\nPlease do! Issues and PRs are very welcome.\n\n## Inspiration\nMy interest in TUI applications was growing and I wanted to build something complicated and useful (more than a [game](https://github.com/braheezy/hangman)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraheezy%2Fviolet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbraheezy%2Fviolet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraheezy%2Fviolet/lists"}