Sign in Start free
Documentation

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">&lt;</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">&lt;</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">&lt;</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">&lt;</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">&lt;</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">&lt;</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.