I would recommend The Lean Startup by Eric Ries. It’s a classic that introduced the MVP concept to the world.
And for a bit of different approach, Make by Pieter Levels. This also recommends trying a lot of ideas and seeking what sticks, but perhaps with a more straightforward approach.
I've developed a command-line password manager and authentication application in Rust. Here are the key features:
1. Uses KeePass file format for secure credential storage
2. Supports One-Time Passwords (OTP) for two-factor authentication (2FA)
3. Provides a convenient CLI interface for retrieving 2FA codes
The project, named Passlane, offers a streamlined approach to password management directly from the terminal. It's particularly satisfying to generate 2FA codes via command line!
Yes, makes sense! I would need to change it to output only the password without all the extra info that only makes sense for humans - could work in this script mode when provided with an additional command line option.
About using it for storing keys of other shell scripts/commands: What kind of special functionality this would require? Would you like to, for example, use passlane to extract the password of some script and then pipe it to that script? Perhaps adding that kind of functionality would make sense.
I use the Passlane CLI for accessing and managing my passwords. Passlane stores the data in a keepass file that I have in Dropbox so that I can access it from multiple devices. On my phone I access it with Keepassium.
Yes, I had some feature in an earlier version that I wanted to add and the example code I was looking at was async and that made me think that I have to go to that route and also include an async runtime (Tokio). Once I was there, I ended up using async versions of some other dependencies as well.
Later on I then realized that in my CLI app I’m not gaining anything from it as there is no need for any parallel prosessing. It was just making my code more complex.
Reading this makes me want switch jobs. I want to again work somewhere where in the morning I wake up and feel excited to work, instead of feeling forced to work on some stuff that does not interest me at all.