Project & Client Workflows
Manage projects and clients without leaving your terminal. Projects can be linked to a client so your work stays organized.
Manage projects and clients without leaving your terminal. Projects can be linked to a client so your work stays organized.
New project setup
A typical flow when starting work for a new client:
bash
<span class="token comment"># 1. Create the client (if it doesn't exist yet)</span>
hw client create <span class="token parameter variable">-n</span> <span class="token string">"TechStartup Inc"</span>
<span class="token comment"># 2. List clients to find the new client's ID</span>
hw client list
<span class="token comment"># 3. Create a project linked to that client</span>
hw project create <span class="token parameter variable">-n</span> <span class="token string">"Mobile App MVP"</span> <span class="token parameter variable">-i</span> <span class="token operator"><</span>clientId<span class="token operator">></span>
<span class="token comment"># 4. Confirm the project was created</span>
hw project list
<span class="token comment"># 5. Start tracking work on it</span>
hw timer start <span class="token parameter variable">-d</span> <span class="token string">"Project kickoff meeting"</span>
The -i / --clientId flag on hw project create is what links the project to a client. Run hw client list first to copy the ID you need.
Managing projects
bash
<span class="token comment"># List all projects in the current workspace</span>
hw project list
<span class="token comment"># Rename a project</span>
hw project edit <span class="token parameter variable">-i</span> <span class="token operator"><</span>projectId<span class="token operator">></span> <span class="token parameter variable">-n</span> <span class="token string">"Mobile App v2"</span>
<span class="token comment"># Delete a project you no longer need</span>
hw project delete <span class="token parameter variable">-i</span> <span class="token operator"><</span>projectId<span class="token operator">></span>
Managing clients
bash
<span class="token comment"># List all clients</span>
hw client list
<span class="token comment"># Create a client</span>
hw client create <span class="token parameter variable">-n</span> <span class="token string">"Demo Corp"</span>
<span class="token comment"># Rename a client</span>
hw client edit <span class="token parameter variable">-i</span> <span class="token operator"><</span>clientId<span class="token operator">></span> <span class="token parameter variable">-n</span> <span class="token string">"Demo Corporation"</span>
<span class="token comment"># Delete a client</span>
hw client delete <span class="token parameter variable">-i</span> <span class="token operator"><</span>clientId<span class="token operator">></span>
Logging work against a project
Use hw log to record time entries, including against a specific project:
bash
<span class="token comment"># Log a fixed block of time on a project</span>
hw log create <span class="token parameter variable">-d</span> <span class="token string">"Bug fix"</span> <span class="token parameter variable">-p</span> <span class="token operator"><</span>projectId<span class="token operator">></span> <span class="token parameter variable">-s</span> <span class="token string">"09:00"</span> <span class="token parameter variable">-e</span> <span class="token string">"11:00"</span>
<span class="token comment"># Log work spanning an explicit date</span>
hw log create <span class="token parameter variable">-d</span> <span class="token string">"Sprint planning"</span> <span class="token punctuation">\</span>
--start-time <span class="token string">"2024-01-15 13:00"</span> <span class="token punctuation">\</span>
--end-time <span class="token string">"2024-01-15 14:00"</span>
<span class="token comment"># Review your recent logs</span>
hw log list
<span class="token comment"># Edit or remove a log entry</span>
hw log edit
hw log delete
ā Back to CLI workflows.