16 stable releases
2.0.0 | Oct 16, 2024 |
---|---|
1.2.3 | Aug 10, 2024 |
1.2.0 | Jul 23, 2024 |
#543 in Filesystem
164 downloads per month
30KB
650 lines
Genesis 🌱
Genesis is a powerful, flexible, and user-friendly project starter tool designed for Go and Rust developers. It streamlines the initial setup process, allowing developers to focus on what truly matters: building great applications and solving business problems.
Get Started
cargo install genesis_rs
genesis -h
🚀 Why Genesis?
When developing software, setting up a new project can be a time-consuming and oftenly a frustrating process. Genesis solves this problem by:
- Quick Setup and Interactive CLI: Quickly initialize Go and Rust projects using your CLI for easy project configuration
- Language Support: Support for Go and Rust, with room for expansion
- Customizable Paths: Flexibly set project locations
- Automatic Dependency Management: Run
go mod tidy
for Go andcargo build
for Rust projects - Cross-Platform: Works on Windows, macOS, and Linux-based systems
By handling the initial setup, Genesis allows developers to immediately dive into application core functionality and business logic, significantly reducing time-to-market for new ideas.s
🛠 Installation
Install Genesis using Cargo, the Rust package manager:
cargo install genesis_rs
📘 Usage
Genesis offers both interactive and non-interactive modes to suit your workflow:
Interactive Mode
Simply run:
genesis run
Follow the prompts to select your project language and specify the project name.
Non-Interactive Mode
Specify the language and path directly:
genesis run --language <LANG> --path /path/to/your/project
For example if you are using a Debian system:
genesis run --language rust --path /home/user/Desktop
Available Commands
genesis
: Display version and available commandsgenesis run
: Start the interactive project setupgenesis run --language <LANG> --path <PATH>
: Run with specific language and pathgenesis update
: Update genesis to the latest versiongenesis --help
: Show the help message with all available options
🤝 Contributing
We welcome contributions to Genesis! Whether it's adding new features, improving documentation, or reporting bugs, your help is appreciated. Please feel free to:
- Submit issues
- Fork the repository
- Send pull requests
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📞 Contact
If you have any questions or need support, feel free to:
- Open an issue on GitHub
- Reach out to the maintainer: Thembinkosi Mkhonta
Dependencies
~17–27MB
~439K SLoC