CRust is a project manager written in Rust and built using Tauri. It allows you to efficiently manage your projects, workspaces, and project types. With a user-friendly graphical interface, CRust streamlines your project organization and development workflow.
Current Roadmap
Status of cross-platform can be found in this issue
- Add workspaces with project directories matching project type configurations.
- Quicksearch for projects to easily locate and access them.
- Run selected projects with custom run configurations (e.g. with vscode).
- Manage workspaces by reindexing or deleting them.
- Add, modify, or delete project types with customizable coloring.
- Planned features: enhanced workspace indexing, specific project language support (C++, Java, etc.), and more. (see roadmap)
- Download the latest release version of CRust.
- Simply run the executable (or platform-specific application) to launch CRust.
Contributions to CRust are highly welcome! Whether you're interested in contributing code, suggesting new features, discussing improvements, or participating in project discussions, your input is valuable.
- Fork this repository and create a new branch for your contributions.
- Submit pull requests to propose changes or additions.
- Join discussions in issues to share your ideas and feedback.
- Feel free to restructure or enhance the project as needed.
CRust is licensed under the MPL v2 License. See LICENSE for more details.
For questions, suggestions, or feedback, feel free to reach out:
- GitHub Issues: Project Issues
- Discord: @cubecoder
In the root directory you can find or create a config.json file where the project types are stored. Because there are no pre-defined project types the config will be empty and thus no projects from workspaces will be added. Here is a config.json example that you can use:
{
"project_types": [
{
"id": "0fec17a3-8e64-4e2f-b776-2d021c84a201",
"name": "rust [bin]",
"needed_files": ["Cargo.toml", "src/main.rs"],
"color": "#f74b00",
"run_config_id": ""
},
{
"id": "cacf267a-308b-49f1-b391-5e34725273cd",
"name": "rust [lib]",
"needed_files": ["Cargo.toml", "src/lib.rs"],
"color": "#f74b00",
"run_config_id": ""
},
{
"id": "2e861659-9ec2-4c49-9dfe-4b09d6083b03",
"name": "godot",
"needed_files": ["project.godot"],
"color": "#4489bb",
"run_config_id": ""
},
{
"id": "e60824b0-69ee-4ee4-801a-3ad645c8b5f0",
"name": "tauri",
"needed_files": [
"src-tauri/tauri.conf.json",
"src-tauri/src/main.rs",
"src-tauri/Cargo.toml"
],
"color": "#23a8b7",
"run_config_id": ""
}
],
"run_configs": [
{ "id": "0", "name": "vscode", "commands": "code $PPATH" },
{
"id": "1",
"name": "tauri",
"commands": "code $PPATH\ncode $PPATH/src-tauri"
}
]
}
This is how it will look like on startup if you have (active) workspaces
You can just start to type if the window has focus. The first entry will be selected with the arrow keys you can navigate up and down. When the enter key is pressed the selected project will start in vscode
Here are some settings that will be more or less self-explanatory (Note: There are no predefined project types add some to successfully add projects from workspaces)