Skip to content

Commit

Permalink
feat(commands): introduce new pace craft setup command to make onbo…
Browse files Browse the repository at this point in the history
…arding easier (#10)

This commit marks a significant enhancement in the user experience for new and returning users of the pace CLI tool. By introducing the `pace craft setup` command, we've streamlined the onboarding process, making it more intuitive, guided, and less daunting for users setting up pace for the first time or customizing their existing setup.

Key Features Introduced:
- Interactive setup wizard: Guides users through the configuration process with clear, concise prompts, allowing for a personalized setup experience.
- Environment detection: Automatically detects and suggests optimal settings based on the user's environment, reducing manual configuration efforts.
- Customizable activity log path: Offers users the choice to specify a custom path for their activity log, with sensible defaults provided.
- Support for PACE_HOME: Integrates the use of the PACE_HOME environment variable, allowing users to define a custom home directory for pace configurations.

These improvements will significantly enhance the onboarding experience, encouraging more users to adopt pace as their go-to productivity tool.

Signed-off-by: simonsan <[email protected]>
  • Loading branch information
simonsan authored Feb 14, 2024
1 parent a8c60cb commit 3cd36db
Show file tree
Hide file tree
Showing 16 changed files with 1,344 additions and 26 deletions.
90 changes: 80 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[workspace]
members = ["crates/core"]
members = ["crates/cli", "crates/core"]

[workspace.dependencies]
pace_cli = { path = "crates/cli", version = "0" }
pace_core = { path = "crates/core", version = "0" }

[package]
Expand Down Expand Up @@ -33,12 +34,15 @@ eula = false
chrono = { version = "0.4.33", features = ["serde"] }
clap = "4"
clap_complete = "4.5.0"
dialoguer = { version = "0.11.0", features = ["history", "fuzzy-select"] }
directories = "5.0.1"
eyre = "0.6.12"
pace_cli = { workspace = true }
pace_core = { workspace = true }
serde = "1"
serde_derive = "1"
thiserror = "1.0.56"
toml = { version = "0.8.10", features = ["preserve_order"] }

[dependencies.abscissa_core]
version = "0.7.0"
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
Currently they are stating the intended functionality and may not be fully
implemented yet (e.g. using activities instead of tasks).

⏲️ **`pace craft`**

- **Description:** Cr
- **Usage:** `pace begin "Design Work" --category "Freelance" --time 10:00`

🪧 **`pace begin`**

- **Description:** Starts tracking time for the specified task. You can
Expand All @@ -46,7 +51,7 @@ implemented yet (e.g. using activities instead of tasks).
what you're currently tracking.
- **Usage:** `pace now`

⏲️ **`pace review`**
**`pace review`**

- **Description:** Gain insight in your activities and tasks. You can specify
the time frame for daily, weekly, or monthly insights.
Expand Down
27 changes: 27 additions & 0 deletions crates/cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[package]
name = "pace_cli"
version = "0.1.0"
authors = ["the pace-rs team"]
categories = ["command-line-utilities"]
edition = "2021"
keywords = ["cli"]
license = "AGPL-3.0-or-later"
repository = "https://github.com/pace-rs/pace"
description = "pace-cli - library to support timetracking on the command line"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
include = [
"LICENSE",
"README.md",
"CHANGELOG.md",
"src/**/*",
"Cargo.toml",
]

[dependencies]
dialoguer = { version = "0.11.0", features = ["fuzzy-select"] }
eyre = "0.6.12"
getset = "0.1.2"
pace_core = { workspace = true }
tracing = { version = "0.1.40", features = ["log"] }
typed-builder = "0.18.1"
Loading

0 comments on commit 3cd36db

Please sign in to comment.