pace-rs / pace

Mindful Time Tracking: Simplify Your Focus and Boost Productivity Effortlessly.
https://pace.cli.rs
GNU Affero General Public License v3.0
20 stars 0 forks source link

Improve onboarding experience for new `pace` users #6

Open simonsan opened 7 months ago

simonsan commented 7 months ago

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

Proposed Enhancements

  1. Support PACE_HOME Environment Variable and OS-Dependent Directories

    • [x] Check for a PACE_HOME environment variable to determine a custom configuration location.
    • [x] Use the directories crate to find suitable OS-dependent directories for storing pace.toml when PACE_HOME is not set.
    • [x] Ensure the chosen configuration directory exists or is created upon the first run.
  2. Interactive pace setup Command

    • [x] Develop an interactive pace setup command to guide users through creating a global pace.toml.
    • [x] Use the dialoguer crate for creating terminal prompts to gather user preferences.
    • [x] POSTPONED #9

Further Onboarding Experience 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:

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.

simonsan commented 7 months ago

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