lazypush-cli 0.1.0 → 0.1.1
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 +28 -71
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# lazypush-cli
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/lazypush-cli)
|
|
6
|
+
[](https://www.npmjs.com/package/lazypush-cli)
|
|
7
7
|
[](https://nodejs.org)
|
|
8
8
|
[](../LICENSE)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
_Schedule Git commits for a future push — no local daemons, no open terminals, no guilt._
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
|
|
18
18
|
You finished the feature at 2pm. The standup is at 10am tomorrow. Pushing now means everyone knows you had the afternoon free, and guess who gets the next ticket assigned in 4 minutes?
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
lazypush lets you schedule the push for later. Your git history stays clean. Your commit timestamp is exactly what you want it to be. You get your afternoon back.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
## Install
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npm install -g
|
|
27
|
+
npm install -g lazypush-cli
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
---
|
|
@@ -33,10 +33,10 @@ npm install -g lazyload-cli
|
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
35
|
# Step 1: one-time login
|
|
36
|
-
|
|
36
|
+
lazypush login
|
|
37
37
|
|
|
38
38
|
# Step 2: schedule a push from inside your git repo
|
|
39
|
-
|
|
39
|
+
lazypush schedule
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
You'll see an interactive prompt:
|
|
@@ -73,15 +73,15 @@ Shut your laptop. The push will happen in the cloud at exactly that time.
|
|
|
73
73
|
|
|
74
74
|
## Commands
|
|
75
75
|
|
|
76
|
-
| Command
|
|
77
|
-
|
|
78
|
-
| `
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
76
|
+
| Command | Description |
|
|
77
|
+
| ---------------------- | -------------------------------------------------------------------- |
|
|
78
|
+
| `lazypush login` | Authenticate via GitHub OAuth. Opens browser, stores JWT locally. |
|
|
79
|
+
| `lazypush schedule` | Interactive prompt to schedule a push. Auto-detects repo and branch. |
|
|
80
|
+
| `lazypush jobs` | List all currently scheduled (pending) jobs. |
|
|
81
|
+
| `lazypush list` | List all jobs — scheduled and finished — latest first. |
|
|
82
|
+
| `lazypush cancel <id>` | Cancel a scheduled job by its ID. |
|
|
83
|
+
| `lazypush logout` | Clear local session. |
|
|
84
|
+
| `lazypush help` | Show all commands and options. |
|
|
85
85
|
|
|
86
86
|
---
|
|
87
87
|
|
|
@@ -89,13 +89,13 @@ Shut your laptop. The push will happen in the cloud at exactly that time.
|
|
|
89
89
|
|
|
90
90
|
The time prompt accepts natural human input:
|
|
91
91
|
|
|
92
|
-
| Input
|
|
93
|
-
|
|
94
|
-
| `5pm`
|
|
95
|
-
| `17:30`
|
|
96
|
-
| `tomorrow 9am` | Next day at 9:00 AM
|
|
97
|
-
| `in 2 hours`
|
|
98
|
-
| `friday 8pm`
|
|
92
|
+
| Input | Meaning |
|
|
93
|
+
| -------------- | ------------------------ |
|
|
94
|
+
| `5pm` | Today at 5:00 PM |
|
|
95
|
+
| `17:30` | Today at 5:30 PM (24h) |
|
|
96
|
+
| `tomorrow 9am` | Next day at 9:00 AM |
|
|
97
|
+
| `in 2 hours` | 2 hours from now |
|
|
98
|
+
| `friday 8pm` | Coming Friday at 8:00 PM |
|
|
99
99
|
|
|
100
100
|
Timezone examples: `IST`, `EST`, `UTC`, `America/New_York`, `Asia/Kolkata`
|
|
101
101
|
|
|
@@ -108,7 +108,7 @@ If no timezone is provided, your system's local timezone is used.
|
|
|
108
108
|
```
|
|
109
109
|
Inside your repo:
|
|
110
110
|
┌──────────────────────────────────────────────────────────────┐
|
|
111
|
-
│
|
|
111
|
+
│ lazypush schedule │
|
|
112
112
|
│ │
|
|
113
113
|
│ 1. git bundle create repo.bundle HEAD │
|
|
114
114
|
│ 2. gzip repo.bundle │
|
|
@@ -128,10 +128,10 @@ No background process runs on your machine after `schedule` completes. The CLI's
|
|
|
128
128
|
|
|
129
129
|
## Session Storage
|
|
130
130
|
|
|
131
|
-
After `
|
|
131
|
+
After `lazypush login`, credentials are stored at:
|
|
132
132
|
|
|
133
133
|
```
|
|
134
|
-
~/.
|
|
134
|
+
~/.lazypush/session.json
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
```json
|
|
@@ -142,50 +142,7 @@ After `lazyload login`, credentials are stored at:
|
|
|
142
142
|
}
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
Protected by OS file permissions. Run `
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Source Structure
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
src/
|
|
153
|
-
├── cli.ts # Entry point — command registration via Commander.js
|
|
154
|
-
├── config.ts # Session read/write (~/.lazyload/session.json)
|
|
155
|
-
├── logger.ts # Colored terminal output (✓ green, ✗ red, ℹ blue)
|
|
156
|
-
├── api/
|
|
157
|
-
│ └── client.ts # Authenticated HTTP client to backend
|
|
158
|
-
├── commands/
|
|
159
|
-
│ ├── login.ts # OAuth flow + token storage
|
|
160
|
-
│ ├── schedule.ts # Interactive prompt + bundle upload
|
|
161
|
-
│ ├── jobs.ts # Fetch and display active jobs
|
|
162
|
-
│ ├── list.ts # Fetch and display all jobs
|
|
163
|
-
│ ├── cancel.ts # Cancel job by ID
|
|
164
|
-
│ └── logout.ts # Clear session
|
|
165
|
-
└── utils/
|
|
166
|
-
├── git.ts # git bundle, gzip, base64
|
|
167
|
-
└── scheduler.ts # Human-readable time parsing
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Development
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
npm install
|
|
176
|
-
npm run dev # ts-node-dev with auto-reload
|
|
177
|
-
|
|
178
|
-
# link locally to test as a global command
|
|
179
|
-
npm link
|
|
180
|
-
lazyload login
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Build & Publish
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
npm run build # tsc → dist/
|
|
187
|
-
npm publish --access public
|
|
188
|
-
```
|
|
145
|
+
Protected by OS file permissions. Run `lazypush logout` to clear it.
|
|
189
146
|
|
|
190
147
|
---
|
|
191
148
|
|