crowdtime-cli 0.1.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/.gitignore +2 -0
  2. crowdtime_cli-0.2.1/PKG-INFO +273 -0
  3. crowdtime_cli-0.2.1/README.md +239 -0
  4. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/pyproject.toml +1 -1
  5. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/__init__.py +1 -1
  6. crowdtime_cli-0.2.1/src/crowdtime_cli/commands/invoice_cmd.py +796 -0
  7. crowdtime_cli-0.2.1/src/crowdtime_cli/commands/timesheet_cmd.py +360 -0
  8. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/main.py +6 -1
  9. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/skills/crowdtime/SKILL.md +27 -0
  10. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/skills/crowdtime/references/commands.md +156 -0
  11. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/skills/crowdtime/references/workflows.md +134 -0
  12. crowdtime_cli-0.1.0/PKG-INFO +0 -140
  13. crowdtime_cli-0.1.0/README.md +0 -106
  14. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/LICENSE +0 -0
  15. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/auth.py +0 -0
  16. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/client.py +0 -0
  17. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/__init__.py +0 -0
  18. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/ai_cmd.py +0 -0
  19. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/auth_cmd.py +0 -0
  20. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/clients_cmd.py +0 -0
  21. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/config_cmd.py +0 -0
  22. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/favorites_cmd.py +0 -0
  23. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/log_cmd.py +0 -0
  24. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/org_cmd.py +0 -0
  25. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/projects_cmd.py +0 -0
  26. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/report_cmd.py +0 -0
  27. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/skill_cmd.py +0 -0
  28. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/tasks_cmd.py +0 -0
  29. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/commands/timer_cmd.py +0 -0
  30. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/config.py +0 -0
  31. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/formatters.py +0 -0
  32. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/models.py +0 -0
  33. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/oauth.py +0 -0
  34. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/resolvers.py +0 -0
  35. {crowdtime_cli-0.1.0 → crowdtime_cli-0.2.1}/src/crowdtime_cli/utils.py +0 -0
@@ -56,3 +56,5 @@ node_modules/
56
56
  .env*.local
57
57
  RECOVERY.md
58
58
  coolify_deployment.md
59
+ pypi_deployment.md
60
+ sentry-workflow.md
@@ -0,0 +1,273 @@
1
+ Metadata-Version: 2.4
2
+ Name: crowdtime-cli
3
+ Version: 0.2.1
4
+ Summary: AI-powered time tracking CLI — a modern, developer-friendly alternative to Harvest
5
+ Project-URL: Homepage, https://crowdtime.lat
6
+ Project-URL: Documentation, https://crowdtime.lat/docs
7
+ Project-URL: Support, https://crowdtime.lat/support
8
+ Author-email: IT Crowd <dev@itcrowdarg.com>
9
+ License: Proprietary
10
+ License-File: LICENSE
11
+ Keywords: ai,cli,harvest-alternative,productivity,time-tracking
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: Other/Proprietary License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Office/Business
22
+ Classifier: Typing :: Typed
23
+ Requires-Python: >=3.11
24
+ Requires-Dist: httpx>=0.27.0
25
+ Requires-Dist: humanize>=4.0
26
+ Requires-Dist: keyring>=25.0
27
+ Requires-Dist: platformdirs>=4.0
28
+ Requires-Dist: pydantic>=2.0
29
+ Requires-Dist: python-dateutil>=2.9
30
+ Requires-Dist: rich>=13.0
31
+ Requires-Dist: tomlkit>=0.12.0
32
+ Requires-Dist: typer[all]>=0.12.0
33
+ Description-Content-Type: text/markdown
34
+
35
+ # CrowdTime CLI
36
+
37
+ **AI-powered time tracking from your terminal.** A modern, developer-friendly alternative to Harvest.
38
+
39
+ Track time, manage projects, generate reports, submit timesheets, create invoices, and get AI-powered insights — all without leaving your terminal.
40
+
41
+ ## Features
42
+
43
+ - **Fast time tracking** — Start/stop timers or log entries directly with natural duration formats (`2h30m`, `1:45`, `0.5d`)
44
+ - **AI-powered** — Natural language time entry, smart suggestions based on your patterns, and automatic standup/slack summaries
45
+ - **Timesheets** — Submit, approve, and reject timesheets with team overview for managers
46
+ - **Invoicing** — Create invoices from tracked time, send PDFs, record payments, manage recurring templates and retainers
47
+ - **Rich terminal UI** — Beautiful tables, dashboards, and reports powered by Rich
48
+ - **Multi-org support** — Switch between organizations seamlessly
49
+ - **Secure by default** — API tokens stored in your OS keychain, never in plain text
50
+ - **Flexible reporting** — Daily, weekly, monthly reports in table, JSON, CSV, or Markdown formats
51
+ - **Favorites & templates** — Save common entries for one-command reuse
52
+ - **LLM skill integration** — Ships with skills for Claude Code, Codex, Gemini, and Cursor
53
+
54
+ ## Installation
55
+
56
+ ```bash
57
+ pip install crowdtime-cli
58
+ ```
59
+
60
+ Requires Python 3.11+
61
+
62
+ ## Quick Start
63
+
64
+ ```bash
65
+ # Authenticate
66
+ ct config set server.url https://api.crowdtime.lat
67
+ ct auth login
68
+
69
+ # Switch to your organization
70
+ ct org switch my-org
71
+
72
+ # Start tracking
73
+ ct timer start "Building REST API" -p backend -t "Development"
74
+ ct timer stop
75
+
76
+ # Or log time directly
77
+ ct log -p backend -t "Code Review" 2h "Reviewed auth module PR"
78
+
79
+ # Check your day
80
+ ct status
81
+
82
+ # Weekly report
83
+ ct report --week
84
+ ```
85
+
86
+ ## Command Overview
87
+
88
+ ### Time Tracking
89
+
90
+ | Command | Alias | Description |
91
+ |---------|-------|-------------|
92
+ | `ct status` | `ct s` | Dashboard: running timer, today's entries, weekly total |
93
+ | `ct timer start` | `ct ts` | Start a timer with project and task |
94
+ | `ct timer stop` | `ct tx` | Stop the running timer and save the entry |
95
+ | `ct timer switch` | — | Atomically stop current timer and start a new one |
96
+ | `ct timer discard` | — | Discard running timer without saving |
97
+ | `ct log <duration> <desc>` | `ct l` | Log a time entry directly |
98
+ | `ct log list` | `ct ll` | List time entries (today, --week, --month) |
99
+ | `ct log edit <id>` | — | Edit an existing entry |
100
+ | `ct log delete <id>` | — | Delete a time entry |
101
+
102
+ ### Projects & Organization
103
+
104
+ | Command | Alias | Description |
105
+ |---------|-------|-------------|
106
+ | `ct projects list` | `ct p` | List projects |
107
+ | `ct projects create` | — | Create a new project (auto-creates client if needed) |
108
+ | `ct projects switch` | — | Set a default project for new entries |
109
+ | `ct clients list` | — | List clients |
110
+ | `ct clients create` | — | Create a new client |
111
+ | `ct tasks list` | — | List tasks (optionally filtered by project) |
112
+ | `ct tasks create` | — | Create a task and assign to a project |
113
+ | `ct favorites list` | — | List saved entry templates |
114
+ | `ct favorites start <id>` | — | Start a timer from a saved template |
115
+ | `ct org list` | — | List your organizations |
116
+ | `ct org switch <slug>` | — | Switch active organization |
117
+ | `ct org members` | — | List organization members |
118
+ | `ct org invite <email>` | — | Invite a new member |
119
+
120
+ ### Reporting & AI
121
+
122
+ | Command | Alias | Description |
123
+ |---------|-------|-------------|
124
+ | `ct report` | `ct r` | Generate reports (--week, --month, --group-by, --format) |
125
+ | `ct report projects` | — | Project breakdown report |
126
+ | `ct report team` | — | Team utilization report |
127
+ | `ct ai suggest` | — | Get AI suggestions based on your work patterns |
128
+ | `ct ai summarize` | — | AI-generated summaries (--for standup, --for slack, --copy) |
129
+
130
+ ### Timesheets
131
+
132
+ | Command | Description |
133
+ |---------|-------------|
134
+ | `ct timesheet list` | List your timesheets (all statuses) |
135
+ | `ct timesheet submit --from DATE --to DATE` | Submit a timesheet for approval |
136
+ | `ct timesheet approve <id>` | Approve a submitted timesheet (manager+) |
137
+ | `ct timesheet reject <id> --notes "..."` | Reject with feedback (manager+) |
138
+ | `ct timesheet team` | Team overview: hours, entries, status per member (manager+) |
139
+ | `ct timesheet viewable-users` | List members you can view timesheets for |
140
+
141
+ ### Invoicing
142
+
143
+ | Command | Description |
144
+ |---------|-------------|
145
+ | `ct invoice list` | List invoices (filter by --status, --client, --type) |
146
+ | `ct invoice show <id>` | Detailed view with line items, totals, payments |
147
+ | `ct invoice create --client <id> --from DATE --to DATE` | Create invoice from tracked time |
148
+ | `ct invoice create-blank --client <id> --issue-date DATE` | Create empty invoice for manual items |
149
+ | `ct invoice add-item <id> --desc "..." --qty N --rate N` | Add a line item to a draft |
150
+ | `ct invoice send <id>` | Send invoice to client via email with PDF |
151
+ | `ct invoice pay <id> --amount N` | Record a payment |
152
+ | `ct invoice void <id> --reason "..."` | Void an invoice |
153
+ | `ct invoice pdf <id>` | Download invoice as PDF |
154
+ | `ct invoice duplicate <id>` | Duplicate as a new draft |
155
+ | `ct invoice recurring list` | List recurring invoice templates |
156
+ | `ct invoice retainer list` | List retainer agreements |
157
+
158
+ ### Configuration & Skills
159
+
160
+ | Command | Description |
161
+ |---------|-------------|
162
+ | `ct config set KEY VALUE` | Set a config value (dot notation) |
163
+ | `ct config get KEY` | Get a config value |
164
+ | `ct config list` | Show all configuration |
165
+ | `ct config edit` | Open config in your editor |
166
+ | `ct skill install` | Install LLM skill (see below) |
167
+ | `ct skill status` | Show skill installation status |
168
+ | `ct skill uninstall` | Remove the skill |
169
+
170
+ ## Duration Formats
171
+
172
+ `2h` | `2h30m` | `2:30` | `150m` | `0.25d` (1 day = 8h) | `1.5` (hours)
173
+
174
+ ## Date Formats
175
+
176
+ `today` | `yesterday` | `monday`..`sunday` | `last friday` | `2026-03-10` | `3/10`
177
+
178
+ ## LLM Skill Installation
179
+
180
+ CrowdTime ships with built-in skills for AI coding assistants. Once installed, your LLM can track time, manage timesheets, and create invoices on your behalf.
181
+
182
+ ### Supported tools
183
+
184
+ | Tool | Skill activation |
185
+ |------|-----------------|
186
+ | **Claude Code** | Auto-activates when time tracking is mentioned, or use `/crowdtime` |
187
+ | **Codex** | Auto-activates, or use `$crowdtime` |
188
+ | **Gemini** | Auto-activates when time tracking is mentioned |
189
+ | **Cursor** | Auto-activates in agent mode |
190
+
191
+ ### Install the skill
192
+
193
+ ```bash
194
+ # Auto-detect your tool and install to the current project
195
+ ct skill install
196
+
197
+ # Install globally (user-wide, works across all projects)
198
+ ct skill install --global
199
+
200
+ # Install for a specific tool
201
+ ct skill install --tool claude --global
202
+ ct skill install --tool codex
203
+ ct skill install --tool gemini --global
204
+ ct skill install --tool cursor
205
+
206
+ # Install for all detected tools at once
207
+ ct skill install --all --global
208
+ ```
209
+
210
+ ### Manage skills
211
+
212
+ ```bash
213
+ # Check installation status across all tools
214
+ ct skill status
215
+
216
+ # Update to latest version (re-run install)
217
+ ct skill install --global
218
+
219
+ # Uninstall
220
+ ct skill uninstall --global
221
+ ct skill uninstall --tool claude
222
+ ct skill uninstall --all
223
+ ```
224
+
225
+ ### What the skill enables
226
+
227
+ Once installed, your LLM coding assistant can:
228
+
229
+ - **Track time** — `"log 2 hours on the backend project for API work"`
230
+ - **Manage timers** — `"start a timer for code review on project alpha"`
231
+ - **Submit timesheets** — `"submit my timesheet for this week"`
232
+ - **Review team** — `"show me the team's timesheet status for this week"`
233
+ - **Create invoices** — `"create an invoice for Acme Corp for March"`
234
+ - **Send invoices** — `"send the draft invoice to the client"`
235
+ - **Generate reports** — `"show me this month's hours by project"`
236
+
237
+ The skill teaches the LLM to construct proper CLI commands — it never uses magic routing or guesses parameters.
238
+
239
+ ## Configuration
240
+
241
+ ```bash
242
+ ct config set server.url https://api.crowdtime.lat # API server
243
+ ct config set defaults.project my-project # Default project
244
+ ct config set defaults.daily_target 7h # Daily hour target
245
+ ct config list # Show all settings
246
+ ```
247
+
248
+ Config is stored at `~/.crowdtime/config.toml`.
249
+
250
+ ## Authentication
251
+
252
+ CrowdTime supports multiple auth methods:
253
+
254
+ ```bash
255
+ ct auth login # Browser-based Google OAuth (default)
256
+ ct auth login --token <token> # API token (for CI/scripts)
257
+ ct auth login --no-browser # Token prompt (headless environments)
258
+ ```
259
+
260
+ API tokens are stored securely in your OS keychain via [keyring](https://pypi.org/project/keyring/).
261
+
262
+ ## Requirements
263
+
264
+ - Python 3.11+
265
+ - A CrowdTime account at [crowdtime.lat](https://crowdtime.lat)
266
+
267
+ ## Support
268
+
269
+ For issues and feature requests, contact [dev@itcrowdarg.com](mailto:dev@itcrowdarg.com).
270
+
271
+ ## License
272
+
273
+ Proprietary. See [LICENSE](LICENSE) for details.
@@ -0,0 +1,239 @@
1
+ # CrowdTime CLI
2
+
3
+ **AI-powered time tracking from your terminal.** A modern, developer-friendly alternative to Harvest.
4
+
5
+ Track time, manage projects, generate reports, submit timesheets, create invoices, and get AI-powered insights — all without leaving your terminal.
6
+
7
+ ## Features
8
+
9
+ - **Fast time tracking** — Start/stop timers or log entries directly with natural duration formats (`2h30m`, `1:45`, `0.5d`)
10
+ - **AI-powered** — Natural language time entry, smart suggestions based on your patterns, and automatic standup/slack summaries
11
+ - **Timesheets** — Submit, approve, and reject timesheets with team overview for managers
12
+ - **Invoicing** — Create invoices from tracked time, send PDFs, record payments, manage recurring templates and retainers
13
+ - **Rich terminal UI** — Beautiful tables, dashboards, and reports powered by Rich
14
+ - **Multi-org support** — Switch between organizations seamlessly
15
+ - **Secure by default** — API tokens stored in your OS keychain, never in plain text
16
+ - **Flexible reporting** — Daily, weekly, monthly reports in table, JSON, CSV, or Markdown formats
17
+ - **Favorites & templates** — Save common entries for one-command reuse
18
+ - **LLM skill integration** — Ships with skills for Claude Code, Codex, Gemini, and Cursor
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install crowdtime-cli
24
+ ```
25
+
26
+ Requires Python 3.11+
27
+
28
+ ## Quick Start
29
+
30
+ ```bash
31
+ # Authenticate
32
+ ct config set server.url https://api.crowdtime.lat
33
+ ct auth login
34
+
35
+ # Switch to your organization
36
+ ct org switch my-org
37
+
38
+ # Start tracking
39
+ ct timer start "Building REST API" -p backend -t "Development"
40
+ ct timer stop
41
+
42
+ # Or log time directly
43
+ ct log -p backend -t "Code Review" 2h "Reviewed auth module PR"
44
+
45
+ # Check your day
46
+ ct status
47
+
48
+ # Weekly report
49
+ ct report --week
50
+ ```
51
+
52
+ ## Command Overview
53
+
54
+ ### Time Tracking
55
+
56
+ | Command | Alias | Description |
57
+ |---------|-------|-------------|
58
+ | `ct status` | `ct s` | Dashboard: running timer, today's entries, weekly total |
59
+ | `ct timer start` | `ct ts` | Start a timer with project and task |
60
+ | `ct timer stop` | `ct tx` | Stop the running timer and save the entry |
61
+ | `ct timer switch` | — | Atomically stop current timer and start a new one |
62
+ | `ct timer discard` | — | Discard running timer without saving |
63
+ | `ct log <duration> <desc>` | `ct l` | Log a time entry directly |
64
+ | `ct log list` | `ct ll` | List time entries (today, --week, --month) |
65
+ | `ct log edit <id>` | — | Edit an existing entry |
66
+ | `ct log delete <id>` | — | Delete a time entry |
67
+
68
+ ### Projects & Organization
69
+
70
+ | Command | Alias | Description |
71
+ |---------|-------|-------------|
72
+ | `ct projects list` | `ct p` | List projects |
73
+ | `ct projects create` | — | Create a new project (auto-creates client if needed) |
74
+ | `ct projects switch` | — | Set a default project for new entries |
75
+ | `ct clients list` | — | List clients |
76
+ | `ct clients create` | — | Create a new client |
77
+ | `ct tasks list` | — | List tasks (optionally filtered by project) |
78
+ | `ct tasks create` | — | Create a task and assign to a project |
79
+ | `ct favorites list` | — | List saved entry templates |
80
+ | `ct favorites start <id>` | — | Start a timer from a saved template |
81
+ | `ct org list` | — | List your organizations |
82
+ | `ct org switch <slug>` | — | Switch active organization |
83
+ | `ct org members` | — | List organization members |
84
+ | `ct org invite <email>` | — | Invite a new member |
85
+
86
+ ### Reporting & AI
87
+
88
+ | Command | Alias | Description |
89
+ |---------|-------|-------------|
90
+ | `ct report` | `ct r` | Generate reports (--week, --month, --group-by, --format) |
91
+ | `ct report projects` | — | Project breakdown report |
92
+ | `ct report team` | — | Team utilization report |
93
+ | `ct ai suggest` | — | Get AI suggestions based on your work patterns |
94
+ | `ct ai summarize` | — | AI-generated summaries (--for standup, --for slack, --copy) |
95
+
96
+ ### Timesheets
97
+
98
+ | Command | Description |
99
+ |---------|-------------|
100
+ | `ct timesheet list` | List your timesheets (all statuses) |
101
+ | `ct timesheet submit --from DATE --to DATE` | Submit a timesheet for approval |
102
+ | `ct timesheet approve <id>` | Approve a submitted timesheet (manager+) |
103
+ | `ct timesheet reject <id> --notes "..."` | Reject with feedback (manager+) |
104
+ | `ct timesheet team` | Team overview: hours, entries, status per member (manager+) |
105
+ | `ct timesheet viewable-users` | List members you can view timesheets for |
106
+
107
+ ### Invoicing
108
+
109
+ | Command | Description |
110
+ |---------|-------------|
111
+ | `ct invoice list` | List invoices (filter by --status, --client, --type) |
112
+ | `ct invoice show <id>` | Detailed view with line items, totals, payments |
113
+ | `ct invoice create --client <id> --from DATE --to DATE` | Create invoice from tracked time |
114
+ | `ct invoice create-blank --client <id> --issue-date DATE` | Create empty invoice for manual items |
115
+ | `ct invoice add-item <id> --desc "..." --qty N --rate N` | Add a line item to a draft |
116
+ | `ct invoice send <id>` | Send invoice to client via email with PDF |
117
+ | `ct invoice pay <id> --amount N` | Record a payment |
118
+ | `ct invoice void <id> --reason "..."` | Void an invoice |
119
+ | `ct invoice pdf <id>` | Download invoice as PDF |
120
+ | `ct invoice duplicate <id>` | Duplicate as a new draft |
121
+ | `ct invoice recurring list` | List recurring invoice templates |
122
+ | `ct invoice retainer list` | List retainer agreements |
123
+
124
+ ### Configuration & Skills
125
+
126
+ | Command | Description |
127
+ |---------|-------------|
128
+ | `ct config set KEY VALUE` | Set a config value (dot notation) |
129
+ | `ct config get KEY` | Get a config value |
130
+ | `ct config list` | Show all configuration |
131
+ | `ct config edit` | Open config in your editor |
132
+ | `ct skill install` | Install LLM skill (see below) |
133
+ | `ct skill status` | Show skill installation status |
134
+ | `ct skill uninstall` | Remove the skill |
135
+
136
+ ## Duration Formats
137
+
138
+ `2h` | `2h30m` | `2:30` | `150m` | `0.25d` (1 day = 8h) | `1.5` (hours)
139
+
140
+ ## Date Formats
141
+
142
+ `today` | `yesterday` | `monday`..`sunday` | `last friday` | `2026-03-10` | `3/10`
143
+
144
+ ## LLM Skill Installation
145
+
146
+ CrowdTime ships with built-in skills for AI coding assistants. Once installed, your LLM can track time, manage timesheets, and create invoices on your behalf.
147
+
148
+ ### Supported tools
149
+
150
+ | Tool | Skill activation |
151
+ |------|-----------------|
152
+ | **Claude Code** | Auto-activates when time tracking is mentioned, or use `/crowdtime` |
153
+ | **Codex** | Auto-activates, or use `$crowdtime` |
154
+ | **Gemini** | Auto-activates when time tracking is mentioned |
155
+ | **Cursor** | Auto-activates in agent mode |
156
+
157
+ ### Install the skill
158
+
159
+ ```bash
160
+ # Auto-detect your tool and install to the current project
161
+ ct skill install
162
+
163
+ # Install globally (user-wide, works across all projects)
164
+ ct skill install --global
165
+
166
+ # Install for a specific tool
167
+ ct skill install --tool claude --global
168
+ ct skill install --tool codex
169
+ ct skill install --tool gemini --global
170
+ ct skill install --tool cursor
171
+
172
+ # Install for all detected tools at once
173
+ ct skill install --all --global
174
+ ```
175
+
176
+ ### Manage skills
177
+
178
+ ```bash
179
+ # Check installation status across all tools
180
+ ct skill status
181
+
182
+ # Update to latest version (re-run install)
183
+ ct skill install --global
184
+
185
+ # Uninstall
186
+ ct skill uninstall --global
187
+ ct skill uninstall --tool claude
188
+ ct skill uninstall --all
189
+ ```
190
+
191
+ ### What the skill enables
192
+
193
+ Once installed, your LLM coding assistant can:
194
+
195
+ - **Track time** — `"log 2 hours on the backend project for API work"`
196
+ - **Manage timers** — `"start a timer for code review on project alpha"`
197
+ - **Submit timesheets** — `"submit my timesheet for this week"`
198
+ - **Review team** — `"show me the team's timesheet status for this week"`
199
+ - **Create invoices** — `"create an invoice for Acme Corp for March"`
200
+ - **Send invoices** — `"send the draft invoice to the client"`
201
+ - **Generate reports** — `"show me this month's hours by project"`
202
+
203
+ The skill teaches the LLM to construct proper CLI commands — it never uses magic routing or guesses parameters.
204
+
205
+ ## Configuration
206
+
207
+ ```bash
208
+ ct config set server.url https://api.crowdtime.lat # API server
209
+ ct config set defaults.project my-project # Default project
210
+ ct config set defaults.daily_target 7h # Daily hour target
211
+ ct config list # Show all settings
212
+ ```
213
+
214
+ Config is stored at `~/.crowdtime/config.toml`.
215
+
216
+ ## Authentication
217
+
218
+ CrowdTime supports multiple auth methods:
219
+
220
+ ```bash
221
+ ct auth login # Browser-based Google OAuth (default)
222
+ ct auth login --token <token> # API token (for CI/scripts)
223
+ ct auth login --no-browser # Token prompt (headless environments)
224
+ ```
225
+
226
+ API tokens are stored securely in your OS keychain via [keyring](https://pypi.org/project/keyring/).
227
+
228
+ ## Requirements
229
+
230
+ - Python 3.11+
231
+ - A CrowdTime account at [crowdtime.lat](https://crowdtime.lat)
232
+
233
+ ## Support
234
+
235
+ For issues and feature requests, contact [dev@itcrowdarg.com](mailto:dev@itcrowdarg.com).
236
+
237
+ ## License
238
+
239
+ Proprietary. See [LICENSE](LICENSE) for details.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "crowdtime-cli"
3
- version = "0.1.0"
3
+ version = "0.2.1"
4
4
  description = "AI-powered time tracking CLI — a modern, developer-friendly alternative to Harvest"
5
5
  readme = "README.md"
6
6
  license = {text = "Proprietary"}
@@ -1,3 +1,3 @@
1
1
  """CrowdTime CLI - AI-powered time tracking from the command line."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.2.1"