huntr-cli 1.0.9 → 1.2.0

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 (74) hide show
  1. package/README.md +34 -1
  2. package/build.mjs +21 -0
  3. package/dist/cli.js +1576 -442
  4. package/dist/cli.js.map +7 -1
  5. package/docs/DEV-SETUP.md +4 -3
  6. package/package.json +3 -2
  7. package/src/api/client.ts +6 -3
  8. package/src/api/personal/activities.ts +2 -0
  9. package/src/api/personal/boards.ts +8 -1
  10. package/src/api/personal/user.ts +2 -1
  11. package/src/cli.ts +393 -108
  12. package/src/config/clerk-session-manager.ts +3 -1
  13. package/src/config/config-manager.ts +17 -0
  14. package/src/config/token-capture.ts +13 -8
  15. package/tests/api-endpoints.test.ts +32 -0
  16. package/tests/example.test.ts +8 -0
  17. package/dist/api/client.d.ts +0 -14
  18. package/dist/api/client.d.ts.map +0 -1
  19. package/dist/api/client.js +0 -74
  20. package/dist/api/client.js.map +0 -1
  21. package/dist/api/personal/activities.d.ts +0 -20
  22. package/dist/api/personal/activities.d.ts.map +0 -1
  23. package/dist/api/personal/activities.js +0 -50
  24. package/dist/api/personal/activities.js.map +0 -1
  25. package/dist/api/personal/boards.d.ts +0 -9
  26. package/dist/api/personal/boards.d.ts.map +0 -1
  27. package/dist/api/personal/boards.js +0 -16
  28. package/dist/api/personal/boards.js.map +0 -1
  29. package/dist/api/personal/index.d.ts +0 -17
  30. package/dist/api/personal/index.d.ts.map +0 -1
  31. package/dist/api/personal/index.js +0 -37
  32. package/dist/api/personal/index.js.map +0 -1
  33. package/dist/api/personal/jobs.d.ts +0 -13
  34. package/dist/api/personal/jobs.d.ts.map +0 -1
  35. package/dist/api/personal/jobs.js +0 -31
  36. package/dist/api/personal/jobs.js.map +0 -1
  37. package/dist/api/personal/user.d.ts +0 -8
  38. package/dist/api/personal/user.d.ts.map +0 -1
  39. package/dist/api/personal/user.js +0 -13
  40. package/dist/api/personal/user.js.map +0 -1
  41. package/dist/cli.d.ts +0 -3
  42. package/dist/cli.d.ts.map +0 -1
  43. package/dist/commands/capture-session.d.ts +0 -10
  44. package/dist/commands/capture-session.d.ts.map +0 -1
  45. package/dist/commands/capture-session.js +0 -478
  46. package/dist/commands/capture-session.js.map +0 -1
  47. package/dist/config/clerk-session-manager.d.ts +0 -44
  48. package/dist/config/clerk-session-manager.d.ts.map +0 -1
  49. package/dist/config/clerk-session-manager.js +0 -232
  50. package/dist/config/clerk-session-manager.js.map +0 -1
  51. package/dist/config/config-manager.d.ts +0 -15
  52. package/dist/config/config-manager.d.ts.map +0 -1
  53. package/dist/config/config-manager.js +0 -51
  54. package/dist/config/config-manager.js.map +0 -1
  55. package/dist/config/keychain-manager.d.ts +0 -6
  56. package/dist/config/keychain-manager.d.ts.map +0 -1
  57. package/dist/config/keychain-manager.js +0 -37
  58. package/dist/config/keychain-manager.js.map +0 -1
  59. package/dist/config/token-capture.d.ts +0 -11
  60. package/dist/config/token-capture.d.ts.map +0 -1
  61. package/dist/config/token-capture.js +0 -252
  62. package/dist/config/token-capture.js.map +0 -1
  63. package/dist/config/token-manager.d.ts +0 -38
  64. package/dist/config/token-manager.d.ts.map +0 -1
  65. package/dist/config/token-manager.js +0 -153
  66. package/dist/config/token-manager.js.map +0 -1
  67. package/dist/lib/list-options.d.ts +0 -69
  68. package/dist/lib/list-options.d.ts.map +0 -1
  69. package/dist/lib/list-options.js +0 -299
  70. package/dist/lib/list-options.js.map +0 -1
  71. package/dist/types/personal.d.ts +0 -113
  72. package/dist/types/personal.d.ts.map +0 -1
  73. package/dist/types/personal.js +0 -4
  74. package/dist/types/personal.js.map +0 -1
package/README.md CHANGED
@@ -14,6 +14,7 @@ A command-line interface for managing your Huntr job search board. Track activit
14
14
  - 🎯 **Your board only** — Personal user API (not organization-scoped)
15
15
  - 🔒 **Secure storage** — Session data stored in macOS Keychain
16
16
  - ⚡ **Fast** — No copy-paste token juggling, session persists for weeks
17
+ - 🐚 **Shell completions** — Tab completion for bash, zsh, and fish
17
18
 
18
19
  ## Installation
19
20
 
@@ -116,7 +117,17 @@ Then use the CLI:
116
117
  huntr activities list <board-id>
117
118
  ```
118
119
 
119
- The CLI automatically loads `.env` without any special flags. **Note:** Keep `.env` out of version control (add to `.gitignore`).
120
+ By default, the CLI does NOT auto-load `.env` to avoid noisy logs. To load it, prefix commands with `HUNTR_LOAD_ENV=true`.
121
+
122
+ Examples:
123
+
124
+ ```bash
125
+ HUNTR_LOAD_ENV=true huntr activities list <board-id>
126
+ # or in dev:
127
+ HUNTR_LOAD_ENV=true npm run dev -- boards list
128
+ ```
129
+
130
+ **Note:** Keep `.env` out of version control (it's already in `.gitignore`).
120
131
 
121
132
  To get your token, log into Huntr and run in your browser DevTools console:
122
133
 
@@ -232,6 +243,28 @@ Export last 7 days as CSV:
232
243
  huntr activities week-csv <board-id> > activities.csv
233
244
  ```
234
245
 
246
+ ### Shell Completions
247
+
248
+ Generate and install tab completion for your shell:
249
+
250
+ ```bash
251
+ # bash — add to ~/.bash_completion or source from ~/.bashrc
252
+ huntr completions bash >> ~/.bash_completion
253
+ source ~/.bash_completion
254
+
255
+ # zsh — save to a completions directory in your fpath
256
+ mkdir -p ~/.zsh/completions
257
+ huntr completions zsh > ~/.zsh/completions/_huntr
258
+ # Add to ~/.zshrc if not already present:
259
+ # fpath=(~/.zsh/completions $fpath)
260
+ # autoload -Uz compinit && compinit
261
+
262
+ # fish
263
+ huntr completions fish > ~/.config/fish/completions/huntr.fish
264
+ ```
265
+
266
+ Once installed, tab-completing `huntr <tab>` will show all subcommands, and `huntr config <tab>`, `huntr boards <tab>`, etc. will show their respective subcommands.
267
+
235
268
  ### Global Options
236
269
 
237
270
  - `-t, --token <token>` — Specify API token (overrides all other sources)
package/build.mjs ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ import { build } from 'esbuild';
3
+ import { rmSync } from 'fs';
4
+
5
+ // Clean dist directory
6
+ rmSync('dist', { recursive: true, force: true });
7
+
8
+ // Build CLI with esbuild
9
+ await build({
10
+ entryPoints: ['src/cli.ts'],
11
+ bundle: true,
12
+ platform: 'node',
13
+ target: 'node18',
14
+ format: 'esm',
15
+ outfile: 'dist/cli.js',
16
+ packages: 'external', // Don't bundle node_modules
17
+ sourcemap: true,
18
+ minify: false,
19
+ }).catch(() => process.exit(1));
20
+
21
+ console.log('✓ Build complete');