{"id":16414226,"url":"https://github.com/trvswgnr/travvy-project-manager","last_synced_at":"2025-09-08T08:31:42.138Z","repository":{"id":198737819,"uuid":"701187461","full_name":"trvswgnr/travvy-project-manager","owner":"trvswgnr","description":"a simple way to manage dev projects","archived":false,"fork":false,"pushed_at":"2023-11-02T21:44:08.000Z","size":1229,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T15:09:09.412Z","etag":null,"topics":["crab","management","organization","project","projects","rust"],"latest_commit_sha":null,"homepage":"https://trvswgnr.github.io/travvy-project-manager/tpm/index.html","language":"Rust","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/trvswgnr.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":"2023-10-06T05:44:29.000Z","updated_at":"2024-02-21T17:53:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c77e3c7-7f27-4343-8757-e333925a6322","html_url":"https://github.com/trvswgnr/travvy-project-manager","commit_stats":null,"previous_names":["trvswgnr/travvy-project-manager"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvswgnr%2Ftravvy-project-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvswgnr%2Ftravvy-project-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvswgnr%2Ftravvy-project-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvswgnr%2Ftravvy-project-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trvswgnr","download_url":"https://codeload.github.com/trvswgnr/travvy-project-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232291800,"owners_count":18500593,"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":["crab","management","organization","project","projects","rust"],"created_at":"2024-10-11T06:53:42.356Z","updated_at":"2025-01-03T04:38:54.121Z","avatar_url":"https://github.com/trvswgnr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Travvy's Project Manager (`tpm`)\n\n`tpm` is a simple command-line project manager that I made to help me organize\nand manage my projects efficiently. It provides a user-friendly interface for\nadding, listing, editing, and deleting projects, as well as opening projects\nin the terminal or your default editor.\n\n![tpm-demo]\n\n## Features\n\n- Interactive mode: By default, `tpm` starts in interactive mode, which allows\n  you to perform actions on your projects using a simple command-line interface.\n\n- Add a project: You can easily add a project from an existing directory by\n  providing a name and path. `tpm` will create a project entry and save it for\n  future reference.\n\n- Open a project: `tpm` allows you to open a project in either the terminal\n  or your default editor. This makes it easy to navigate to the project\n  directory or open project files for editing.\n\n- List all projects: `tpm` allows you to view a list of all your projects.\n  You can select a project to perform various actions on it.\n\n- Edit a project: If you need to update the name or path of a project, `tpm`\n  provides an interface to edit the project details.\n\n- Delete a project: If a project is no longer needed, you can delete it from\n  `tpm`. You can select multiple projects to delete at once.\n\n- Create a new project: `tpm` allows you to create a new project from scratch.\n  This will create a new project folder in the tpm config directory, which you\n  can then open like any other project.\n\n## Installation\n\n### Pre-built Binaries\n\nPre-built binaries are available for Linux, macOS, and Windows. You can\ndownload the latest release from the [releases page].\n\n### From Source\n\nTo install `tpm` from source, follow these steps:\n\n1. Make sure you have [CrabLang] (or R\\*st) installed on your system. If not,\n   you can install it from the [official CrabLang repo].\n\n2. Install the `tpm` executable:\n\n   ```shell\n   crabgo install --git https://github.com/trvswgnr/travvy-project-manager.git\n   ```\n\n## Usage\n\n`tpm` provides a simple and intuitive command-line interface. You can start\nit in interactive mode by running:\n\n```shell\ntpm\n```\n\nYou can also pass in subcommands and arguments directly. Here are some\nexamples of how to use `tpm`:\n\n- Add a project (from an existing directory):\n\n  ```shell\n  tpm add # will prompt for name and path\n  # or\n  tpm add my-project path/to/my/project\n  # or\n  tpm add my-project # path will default to the current working directory\n  ```\n\n  **Note:** If you do not provide a path, `tpm` will default to the path of\n  the current working directory. If you do not provide a name, `tpm` will use\n  the name of the directory.\n\n- Open a project:\n\n  ```shell\n  tpm open my-project\n  ```\n\n- List all projects:\n\n  ```shell\n  tpm list\n  ```\n\n- Edit a project:\n\n  ```shell\n  tpm edit my-project\n  ```\n\n- Delete a project:\n\n  ```shell\n  tpm delete my-project\n  ```\n\n- Create a new project:\n\n  ```shell\n  tpm new # will prompt for name and path\n  ```\n  **Note:** This will create a new project folder in the tpm config directory.\n  if you want to create a new project from an existing directory, use `tpm add`.\n\nFor more information on available commands and options, you can use the `--help` flag:\n\n```shell\ntpm --help\n```\n\n## Configuration\n\n`tpm` stores project information in a JSON file located at\n`~/.config/tpm/projects.json` (or the home directory if .config does not exist).\nYou can manually edit this file if needed, but it is recommended to use\n`tpm`'s built-in commands for adding, editing, and deleting projects.\n\n## Contributing\n\nIf you would like to contribute to `tpm`, feel free to fork the repository\nand submit a pull request. You can also open issues for bug reports\nor feature requests.\n\nWhen contributing, please follow the existing code style and conventions.\nMake sure to test your changes thoroughly and provide appropriate documentation.\n\n## License\n\n`tpm` is licensed under the MIT License. See the [LICENSE] file\nfor more details.\n\n## Acknowledgements\n\n`tpm` makes use of the following open-source libraries:\n\n- [clap] - Command-line argument parsing\n- [serde] - Serialization and deserialization framework\n- [serde_json] - JSON support for serde\n- [dialoguer]- User-friendly terminal user interface\n- [lazy_static] - Lazily evaluated statics for Rust\n\n## Contact\n\nIf you have any questions or suggestions regarding `tpm`, you can reach out\nto the project maintainer at [dev@travisaw.com](mailto:dev@travisaw.com).\n\n---\n\nThanks for checking this out! I hope you find it useful for managing your\nprojects. If you have any feedback, please let me know.\n\n[clap]: https://crates.io/crates/clap\n[serde]: https://crates.io/crates/serde\n[serde_json]: https://crates.io/crates/serde_json\n[dialoguer]: https://crates.io/crates/dialoguer\n[lazy_static]: https://crates.io/crates/lazy_static\n[CrabLang]: https://crablang.org\n[official CrabLang repo]: https://github.com/crablang/crab\n[tpm-demo]: https://github.com/trvswgnr/travvy-project-manager/assets/8974888/119cc19f-4b4f-4d08-9bc0-fba8cc463707\n[releases page]: https://github.com/trvswgnr/travvy-project-manager/releases\n[LICENSE]: https://github.com/trvswgnr/travvy-project-manager/blob/main/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrvswgnr%2Ftravvy-project-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrvswgnr%2Ftravvy-project-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrvswgnr%2Ftravvy-project-manager/lists"}