trackly-cli 0.1.8 → 0.1.10

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.
package/README.md CHANGED
@@ -14,19 +14,20 @@ Search 99,000+ jobs across 775+ companies and 22 ATS types. Track applications,
14
14
  ```bash
15
15
  npm install -g trackly-cli
16
16
  trackly login
17
- trackly jobs --function product_management
17
+ trackly jobs --function product
18
18
  ```
19
19
 
20
20
  ## At a Glance
21
21
 
22
- 775+ companies | 99K+ jobs | 22 ATS types | CLI + MCP | 7 MCP tools
22
+ 775+ companies | 99K+ jobs | 22 ATS types | CLI + MCP | 10 MCP tools
23
23
 
24
24
  ## CLI Commands
25
25
 
26
26
  ```bash
27
27
  trackly jobs # List jobs
28
28
  trackly jobs --modality remote # Filter remote jobs
29
- trackly jobs --function engineering # Filter by function
29
+ trackly jobs --function product # Filter by function
30
+ trackly jobs --company 243 # Filter by company ID
30
31
  trackly job 1234 # Get job details
31
32
  trackly jobs 1234 # Alias for job details
32
33
  trackly companies # List companies
@@ -97,13 +98,16 @@ Then use natural language in Claude Code or Cursor:
97
98
 
98
99
  | Tool | Description |
99
100
  |------|-------------|
100
- | trackly_search_jobs | Search and filter jobs by function, location, modality, status |
101
+ | trackly_search_jobs | Search and filter jobs by function, company, location, modality, status |
101
102
  | trackly_get_job | Get full details for a specific job |
102
103
  | trackly_search_companies | Semantic company search |
103
104
  | trackly_list_companies | List all tracked companies |
104
105
  | trackly_get_stats | Job tracker metrics and status counts |
105
106
  | trackly_update_status | Mark jobs as applied, saved, or dismissed |
106
107
  | trackly_ask | Natural language job search (20/day) |
108
+ | trackly_get_job_brief | Get network brief for a job (company signal, top contact, actions) |
109
+ | trackly_contacts_at_company | Search contacts at a specific company |
110
+ | trackly_get_company_workspace | Full company workspace (jobs, contacts, hiring managers, campaigns) |
107
111
 
108
112
  ## Authentication
109
113
 
@@ -163,7 +167,7 @@ trackly config --base-url http://127.0.0.1:3000 # Point at a different backend
163
167
  | Job search + filters | Yes | Yes | Yes |
164
168
  | Apply/save/dismiss | Yes | Yes | Yes |
165
169
  | AI-powered search | Yes (trackly ask) | Yes | Yes |
166
- | MCP integration | Yes (7 tools) | -- | -- |
170
+ | MCP integration | Yes (10 tools) | -- | -- |
167
171
  | Browser required | No | Yes | No |
168
172
  | Best for | Terminal + AI agents | Visual browsing | Custom integrations |
169
173
 
@@ -177,7 +181,7 @@ Install trackly-cli (`npm install -g trackly-cli`), authenticate with `trackly l
177
181
 
178
182
  **What MCP servers exist for job searching?**
179
183
 
180
- trackly-cli includes a built-in MCP server with 7 tools for job search, company lookup, and application tracking. Run `trackly mcp` or add it to Claude Code with `claude mcp add-json trackly '{"command":"trackly","args":["mcp"]}'`. It connects to a live database of 99,000+ jobs across 775+ companies.
184
+ trackly-cli includes a built-in MCP server with 10 tools for job search, company lookup, and application tracking. Run `trackly mcp` or add it to Claude Code with `claude mcp add-json trackly '{"command":"trackly","args":["mcp"]}'`. It connects to a live database of 99,000+ jobs across 775+ companies.
181
185
 
182
186
  **How do I use Claude Code for job hunting?**
183
187
 
package/bin/trackly CHANGED
@@ -413,9 +413,10 @@ async function cmdStats() {
413
413
  }
414
414
  }
415
415
 
416
+ const ACTION_TO_COMMAND = { applied: 'apply', saved: 'save', dismissed: 'dismiss' };
416
417
  async function cmdUpdateStatus(id, action) {
417
418
  const jobId = parseJobId(id);
418
- if (jobId === null) failNow(`Job ID must be a positive integer. Usage: trackly ${action} <id>`);
419
+ if (jobId === null) failNow(`Job ID must be a positive integer. Usage: trackly ${ACTION_TO_COMMAND[action] || action} <id>`);
419
420
  if (!hasAuth()) failNow(AUTH_HELP_TEXT);
420
421
 
421
422
  try {
@@ -610,8 +611,12 @@ async function cmdConfig(args) {
610
611
 
611
612
  if (args['api-key'] !== undefined) {
612
613
  const keyValue = String(args['api-key']).trim();
613
- if (!keyValue.startsWith('trk_') || keyValue.length < 10) {
614
- console.log(color('yellow', 'Warning: API key does not look like a Trackly key (expected trk_... prefix). Saving anyway.'));
614
+ if (keyValue.startsWith('trk_') && keyValue.length < 14) {
615
+ failNow('Invalid API key: trk_ keys must be at least 14 characters (trk_ + 10). Run "trackly api-key create" to generate a valid key.');
616
+ } else if (!keyValue.startsWith('trk_') && keyValue.length < 20) {
617
+ failNow('Invalid API key: key does not start with trk_ and is too short (must be 20+ characters). Run "trackly api-key create" to generate a valid key.');
618
+ } else if (!keyValue.startsWith('trk_')) {
619
+ console.log(color('yellow', 'Warning: API key does not start with trk_ prefix. Saving as legacy/JWT key.'));
615
620
  }
616
621
  const hadToken = Boolean(config.token);
617
622
  config.apiKey = keyValue;
@@ -52,7 +52,7 @@ You can also pass `TRACKLY_API_KEY` as an environment variable for one-off runs.
52
52
 
53
53
  ### Available Tools
54
54
 
55
- - **trackly_search_jobs** — Search/filter jobs by function, location, modality, keywords
55
+ - **trackly_search_jobs** — Search/filter jobs by function, company, location, modality, keywords. Function values: `product`, `engineering`, `design`, `data`, `marketing`, `sales`, `finance`, `operations`, `legal`, `people`, `strategy`, `support`, `other`
56
56
  - **trackly_get_job** — Get full job details by ID
57
57
  - **trackly_search_companies** — Semantic company search
58
58
  - **trackly_list_companies** — List all tracked companies with job counts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trackly-cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "mcpName": "io.github.kevinastuhuaman/trackly",
5
5
  "description": "CLI + MCP server for job tracking — search, apply, and manage applications from terminal or AI agents",
6
6
  "bin": {
package/server.json CHANGED
@@ -15,12 +15,12 @@
15
15
  "sizes": ["512x512"]
16
16
  }
17
17
  ],
18
- "version": "0.1.8",
18
+ "version": "0.1.10",
19
19
  "packages": [
20
20
  {
21
21
  "registryType": "npm",
22
22
  "identifier": "trackly-cli",
23
- "version": "0.1.8",
23
+ "version": "0.1.10",
24
24
  "runtimeHint": "npx",
25
25
  "runtimeArguments": [
26
26
  {