@workrail/cli 0.2.0 → 0.2.2

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
@@ -1,7 +1,151 @@
1
- # @workrail/cli
1
+ # Workrail CLI
2
2
 
3
- Install globally:
3
+ Track your engineering work, capture achievements, and build a career record from your terminal.
4
+
5
+ ## Installation
6
+
7
+ Install globally using your preferred package manager:
8
+
9
+ **npm:**
10
+
11
+ ```bash
12
+ npm install -g @workrail/cli
13
+ ```
14
+
15
+ **pnpm:**
16
+
17
+ ```bash
18
+ pnpm add -g @workrail/cli
19
+ ```
20
+
21
+ **bun:**
22
+
23
+ ```bash
24
+ bun add -g @workrail/cli
25
+ ```
26
+
27
+ **Requirements:** Node.js 18+ (automatically installed with the CLI)
28
+
29
+ ## Supported Platforms
30
+
31
+ - **macOS** (Apple Silicon & Intel)
32
+ - **Linux** (x64 & ARM64)
33
+ - **Windows** (x64)
34
+
35
+ The CLI automatically downloads the correct binary for your platform during installation.
36
+
37
+ ## Quick Start
38
+
39
+ 1. **Authenticate** (opens browser):
40
+
41
+ ```bash
42
+ workrail auth login
43
+ ```
44
+
45
+ 2. **Link your repository** to a Workrail project:
46
+
47
+ ```bash
48
+ workrail link
49
+ ```
50
+
51
+ 3. **Sync your work** (captures commit metadata, not source code):
52
+
53
+ ```bash
54
+ workrail sync
55
+ ```
56
+
57
+ 4. **Enable autosync** (optional - runs sync on a schedule):
58
+
59
+ ```bash
60
+ workrail autosync enable
61
+ ```
62
+
63
+ 5. **View your dashboard** at [workrail.dev](https://workrail.dev)
64
+
65
+ ## Common Commands
66
+
67
+ | Command | Description |
68
+ | --------------------------- | --------------------------------------- |
69
+ | `workrail auth login` | Authenticate via browser OAuth |
70
+ | `workrail auth status` | Check authentication status |
71
+ | `workrail link` | Link current repo to a Workrail project |
72
+ | `workrail sync` | Sync commits and create entries |
73
+ | `workrail status` | View sync status and linked repos |
74
+ | `workrail autosync enable` | Enable automatic syncing |
75
+ | `workrail autosync status` | Check autosync status |
76
+ | `workrail autosync disable` | Disable automatic syncing |
77
+ | `workrail --version` | Show CLI version |
78
+ | `workrail --help` | Show all available commands |
79
+
80
+ ## Privacy
81
+
82
+ Workrail syncs **metadata only** (commit hashes, timestamps, messages). Your source code never leaves your machine. [Read more about our privacy practices](https://workrail.dev/privacy).
83
+
84
+ ## Updating
85
+
86
+ To update to the latest version:
87
+
88
+ **npm:**
89
+
90
+ ```bash
91
+ npm update -g @workrail/cli
92
+ ```
93
+
94
+ **pnpm:**
4
95
 
5
96
  ```bash
6
- npm i -g @workrail/cli
97
+ pnpm update -g @workrail/cli
98
+ ```
99
+
100
+ **bun:**
101
+
102
+ ```bash
103
+ bun update -g @workrail/cli
104
+ ```
105
+
106
+ ## Uninstalling
107
+
108
+ **npm:**
109
+
110
+ ```bash
111
+ npm uninstall -g @workrail/cli
112
+ ```
113
+
114
+ **pnpm:**
115
+
116
+ ```bash
117
+ pnpm remove -g @workrail/cli
118
+ ```
119
+
120
+ **bun:**
121
+
122
+ ```bash
123
+ bun remove -g @workrail/cli
124
+ ```
125
+
126
+ ## Troubleshooting
127
+
128
+ **Installation fails or binary not found:**
129
+
130
+ - Ensure Node.js 18+ is installed: `node --version`
131
+ - Try reinstalling: `npm uninstall -g @workrail/cli && npm install -g @workrail/cli`
132
+
133
+ **Authentication issues:**
134
+
135
+ - Run `workrail auth login` again to re-authenticate
136
+ - Check status with `workrail auth status`
137
+
138
+ **Sync not working:**
139
+
140
+ - Ensure you're in a git repository
141
+ - Run `workrail link` to link the repo first
142
+ - Check `workrail status` to verify repo is linked
143
+
144
+ ## Support
145
+
146
+ - Documentation: [workrail.dev/docs](https://workrail.dev/docs)
147
+ - Email: aimen@aviatolabs.xyz
148
+
149
+ ## License
7
150
 
151
+ Proprietary - All rights reserved © 2026 AVIATOLABS FZ-LLC
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workrail/cli",
3
- "version": "0.2.0",
4
- "description": "Workrail CLI installer wrapper",
3
+ "version": "0.2.2",
4
+ "description": "Workrail CLI - Track your engineering work and build a career record",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
7
7
  "workrail": "bin/workrail.js"
@@ -19,5 +19,15 @@
19
19
  },
20
20
  "engines": {
21
21
  "node": ">=18"
22
- }
22
+ },
23
+ "keywords": [
24
+ "cli",
25
+ "career",
26
+ "productivity",
27
+ "git",
28
+ "engineering",
29
+ "achievements"
30
+ ],
31
+ "author": "AVIATOLABS FZ-LLC",
32
+ "homepage": "https://workrail.dev"
23
33
  }
@@ -1,7 +1,7 @@
1
+ import crypto from "node:crypto";
1
2
  import fs from "node:fs";
2
- import path from "node:path";
3
3
  import https from "node:https";
4
- import crypto from "node:crypto";
4
+ import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
 
7
7
  const __filename = fileURLToPath(import.meta.url);
@@ -98,10 +98,12 @@ async function main() {
98
98
  const checksumsUrl = `${baseUrl}/checksums.txt`;
99
99
  const targetPath = path.join(nativeDir, binaryName);
100
100
 
101
- console.log(`[workrail] Downloading ${binaryName}...`);
101
+ console.log(
102
+ `📦 Installing Workrail CLI for ${process.platform} (${process.arch})...`,
103
+ );
102
104
  await downloadToFile(binUrl, targetPath);
103
105
 
104
- console.log("[workrail] Verifying checksum...");
106
+ console.log("🔒 Verifying download...");
105
107
  const checksums = parseChecksums(await downloadText(checksumsUrl));
106
108
  const expected = checksums.get(binaryName);
107
109
 
@@ -120,7 +122,8 @@ async function main() {
120
122
  fs.chmodSync(targetPath, 0o755);
121
123
  }
122
124
 
123
- console.log("[workrail] Binary installed successfully.");
125
+ console.log(" Workrail CLI installed successfully!");
126
+ console.log("🚀 Run 'workrail auth login' to get started.");
124
127
  }
125
128
 
126
129
  main().catch((err) => {