Improve onboarding experience for new `pace` users
Overview
The current onboarding experience for new users of the pace CLI tool is not as intuitive or welcoming as it could be. New users are immediately faced with a ParentDirNotFound error when attempting to record a new activity without having a pace.toml configuration file in place. This issue aims to outline and propose enhancements to streamline the initial setup process, making pace more accessible and user-friendly for first-time users.
Objectives
-
Simplify Initial Setup: Ensure users can easily set up
pacewithout encountering errors. - Enhance User Guidance: Provide clear instructions and guidance throughout the setup process.
Proposed Enhancements
-
Support
PACE_HOMEEnvironment Variable and OS-Dependent Directories- [x] Check for a
PACE_HOMEenvironment variable to determine a custom configuration location. - [x] Use the
directoriescrate to find suitable OS-dependent directories for storingpace.tomlwhenPACE_HOMEis not set. - [x] Ensure the chosen configuration directory exists or is created upon the first run.
- [x] Check for a
-
Interactive
pace setupCommand- [x] Develop an interactive
pace setupcommand to guide users through creating a globalpace.toml. - [x] Use the
dialoguercrate for creating terminal prompts to gather user preferences. - [x] POSTPONED #9
- [x] Develop an interactive
Further Onboarding Experience Improvements
- [x] #11
- [ ] #12
- [ ] Enhance error messages to include suggestions for corrective actions.
- [x] #13
- [ ] Introduce update notifications to inform users about new features and improvements.
Request for Comments (RFC)
I invite all contributors and users to provide feedback on these proposed enhancements. Your insights are valuable to ensure we make pace as user-friendly and robust as possible. Specifically, I'm looking for feedback on:
- Additional setup configurations that might be beneficial during the
pace setupprocess. - Suggestions for improving the quick start guide and first activity wizard.
- Ideas for making error messages more helpful and actionable.
Conclusion
Improving the onboarding experience is crucial for growing pace's user base and ensuring new users can start tracking their activities with minimal friction. By implementing these enhancements, we can make pace not only more accessible to newcomers, but also a delight to use right from the start.
Feedback
maybe, when you install the app, it can create a temp env variable, starter directory and a project in it called "tutorial" or "walkthrough" and then say 'install successful, next suggested commands are: 'run tutorial' or something like that