Hi Everyone,
Yesterday, I launched my first ever OSS made in Rust which I have been working on since Nov 1st.
It's not a great revolutionary project, it is just a dot file organiser.
The problem I am trying to solve is you can just use a GitHub repo to copy anyone's configs in just one command also you can manage, store and share your config on the internet.
If you need more information you can check out my repo here -> https://github.com/fnabinash/adof
But this post is about the experience I had on the first launch and how I got trolled and became a meme on r/ProgrammingHummer
Here is the post on which I launched my tool to the r/rust community.
Launched post -> https://www.reddit.com/r/rust/comments/1gr4pyx/adof_v100_release/
The mistake was I named it "ADOF", which stands for Automatic DotFile ORganizer Friend.
I never thought people going to relate it with "Adolf Hitler".
So, lots of people before checking out my tool just went crazy on my name and suggest to change it to anything else, also some people made fun of it and some suggested weird names.
Also, one of them shares the screenshot of the comment in the r/ProgrammingHumor subreddit with the caption "cacheInvalidationAndNamingThings".
You can check that post here -> https://www.reddit.com/r/ProgrammerHumor/comments/1grdmql/cacheinvalidationandnamingthings/
But many people supported me by giving actual help feedback and suggestions which made me happy that at least a few people were helpful.
But anyway, currently, my repo has around 30+ stars and 1 fork.
My main motivation to come to open-source or in programming, in general, is I have many ideas to build but my financial condition is not good, my laptop which I bought in April is on EMI. So, to make those up and make a living I am trying to launch some helpful tools in exchange for sponsorship.
I think everyone failed in somewhere and me too. Without thinking of that much, I started working on my second project.
Here is the idea ->
A CLI tool that helps you scaffold your Rust project smart scratch, means when you run cargo new hello, it creates a new rust-bin project with basic templates, my plan is to build a tool like this but with a bit more means, whether you are building a CLI or library or a web API it has templets for everything, for desktop apps in different crates also you can add additional features like if you want git feature, it going to add that, if you want to hash it going to add that for you, not only crates in the Cargo.toml also create a module for hashing and add the module to main.rs or lib.rs.
Here are some other features I am planning to add;
- GitHub action
- Generates meaningful README
- Adds appropriate license
- Sets up proper .gitignore
- Creates basic integration tests
- Configures GitHub Actions CI
- Adds dependabot setup
I also do some research on other crates/tools that provide the same benefits but here is a quick comparison
Feature | ezpz | cargo-generate | rust-starter | cargo-template |
---|---|---|---|---|
Interactive CLI Wizard | β | β | β | β |
Smart Defaults | β | β | β | β |
Multiple Project Types Support | β | β | β | β |
Database Integration Options | β | β | β | β |
Auto-generated Tests | β | β | β | β |
CI/CD Setup | β | β | β | β |
Custom Template Support | β | β | β | β |
Variable Substitution | β | β | β | β |
Git Repository Integration | β | β | β | β |
Best Practices Enforcement | β | β | β | β |
Dependency Management | β | β | β | β |
Web/API Project Support | β | β | β | β |
CLI Project Support | β | β | β | β |
Library Project Support | β | β | β | β |
Logging Setup | β | β | β | β |
Config File Generation | β | β | β | β |
For now, this is the basic Idea, If you have more recommendations or suggestions please drop them below.
Thank you.
Top comments (0)