ziphro-cli 0.0.0-stage → 2.0.0-preview.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.
- package/README.md +175 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3719 -0
- package/package.json +70 -4
- package/scripts/postinstall.js +29 -0
package/README.md
CHANGED
|
@@ -1,3 +1,175 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# Ziphro CLI ✦
|
|
2
|
+
|
|
3
|
+
> Space-themed, privacy-first task management CLI with zero-knowledge, client-side end-to-end encryption.
|
|
4
|
+
|
|
5
|
+
Ziphro CLI is the developer's command-line interface for the Ziphro ecosystem. It features a stunning space-themed terminal UI built with [Ink](https://github.com/vadimdemedes/ink) and React, zero-knowledge client-side E2E encryption using AES-256-GCM, and seamless cloud synchronization with Supabase.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🚀 Installation
|
|
10
|
+
|
|
11
|
+
Install the package globally via npm:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g ziphro-cli
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 🪐 Setup & Configuration
|
|
20
|
+
|
|
21
|
+
Before managing your tasks, you need to configure the CLI to point to your Ziphro Web server and authenticate.
|
|
22
|
+
|
|
23
|
+
### 1. Configure & Authenticate
|
|
24
|
+
|
|
25
|
+
Run the configuration command and follow the prompt to open the browser for authentication:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
ziphro config
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
After running the command, a web browser window will open automatically. Complete your sign-in or enter your Master Password on the website to link your CLI terminal. The API URL is automatically preconfigured to point to our production endpoint (`https://api-ziphro.vercel.app`).
|
|
32
|
+
|
|
33
|
+
### 2. Verify Session
|
|
34
|
+
|
|
35
|
+
You can check your configuration and login status at any time:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
ziphro whoami
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## ⌨️ Command Reference
|
|
44
|
+
|
|
45
|
+
Ziphro CLI provides a complete set of commands to manage, filter, analyze, and sync your tasks.
|
|
46
|
+
|
|
47
|
+
### 1. Add a Task
|
|
48
|
+
|
|
49
|
+
Create a new task with options for priority, due date, and tags.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
ziphro add "Launch satellite orbit phase 1" --priority high --tags "space,work" --due "2026-07-01"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
* **Alias**: `-a`
|
|
56
|
+
* **Options**:
|
|
57
|
+
* `-p, --priority <level>`: Priority level (`high` | `medium` | `low`, default: `medium`).
|
|
58
|
+
* `-d, --due <datetime>`: Due date in ISO 8601 or `YYYY-MM-DD` format.
|
|
59
|
+
* `-t, --tags <tags>`: Comma-separated list of tags.
|
|
60
|
+
|
|
61
|
+
### 2. List Tasks
|
|
62
|
+
|
|
63
|
+
View your tasks in a table or list format with optional status and priority filtering.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# List all pending high priority tasks
|
|
67
|
+
ziphro list --status pending --priority high
|
|
68
|
+
|
|
69
|
+
# List tasks in JSON format for scripting/exporting
|
|
70
|
+
ziphro list --format json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
* **Alias**: `-l`
|
|
74
|
+
* **Options**:
|
|
75
|
+
* `-s, --status <status>`: Filter by status (`pending` | `in_progress` | `completed` | `all`, default: `all`).
|
|
76
|
+
* `-p, --priority <priority>`: Filter by priority (`high` | `medium` | `low` | `all`, default: `all`).
|
|
77
|
+
* `-t, --tags <tags>`: Filter by comma-separated tags.
|
|
78
|
+
* `-f, --format <format>`: Output format (`table` | `compact` | `json`, default: `table`).
|
|
79
|
+
|
|
80
|
+
### 3. Mark a Task as Completed
|
|
81
|
+
|
|
82
|
+
Complete a task and optionally add a completion note.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
ziphro done <task-id-prefix> --note "Orbit established successfully."
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
* **Alias**: `-d`
|
|
89
|
+
* **Options**:
|
|
90
|
+
* `-n, --note <note>`: Optional completion note.
|
|
91
|
+
|
|
92
|
+
### 4. Edit a Task
|
|
93
|
+
|
|
94
|
+
Modify any field of an existing task using its ID.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
ziphro edit <task-id-prefix> --priority high --tags "milestone,space"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
* **Alias**: `-e`
|
|
101
|
+
* **Options**:
|
|
102
|
+
* `--description <text>`: Set a new description.
|
|
103
|
+
* `--priority <level>`: Change priority (`high` | `medium` | `low`).
|
|
104
|
+
* `--status <status>`: Update status (`pending` | `in_progress` | `completed`).
|
|
105
|
+
* `--due <datetime>`: Set or update due date.
|
|
106
|
+
* `--tags <tags>`: Overwrite tags with a comma-separated list.
|
|
107
|
+
* `--note <note>`: Add/update completion note.
|
|
108
|
+
|
|
109
|
+
### 5. Delete a Task
|
|
110
|
+
|
|
111
|
+
Remove a task from your database. By default, this will ask for confirmation unless the `--force` flag is passed.
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
ziphro remove <task-id-prefix> --force
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
* **Alias**: `-r`
|
|
118
|
+
* **Options**:
|
|
119
|
+
* `--force`: Skip confirmation prompt.
|
|
120
|
+
|
|
121
|
+
### 6. Synchronize with Cloud
|
|
122
|
+
|
|
123
|
+
Push local offline changes and pull updates from your Supabase cloud database.
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
ziphro sync --password <your-master-password>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
* **Options**:
|
|
130
|
+
* `--password <password>`: The master password to encrypt/decrypt task bundles.
|
|
131
|
+
* `--dry-run`: View what would be synced without modifying local or remote data.
|
|
132
|
+
|
|
133
|
+
### 7. View Analytics & Stats
|
|
134
|
+
|
|
135
|
+
See task counts, priority breakdowns, and completion rate progress bars directly in your terminal:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
ziphro stats
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 8. Export Tasks
|
|
142
|
+
|
|
143
|
+
Export your entire task database to JSON, CSV, or Markdown format.
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
ziphro export --format csv --output ./tasks_backup.csv
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
* **Options**:
|
|
150
|
+
* `-f, --format <format>`: Export format (`json` | `csv` | `markdown`, default: `json`).
|
|
151
|
+
* `-o, --output <file>`: Target file path. If omitted, outputs to stdout.
|
|
152
|
+
|
|
153
|
+
### 9. Log Out
|
|
154
|
+
|
|
155
|
+
End your session and clear local access tokens:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
ziphro logout
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 🔒 Security Architecture
|
|
164
|
+
|
|
165
|
+
Ziphro is built on **zero-knowledge architecture**:
|
|
166
|
+
1. **Local Storage**: Tasks are stored locally on your machine.
|
|
167
|
+
2. **Client-side Encryption**: During sync, your tasks are serialized into a JSON bundle, encrypted using **AES-256-GCM** with a key derived from your **Master Password** via PBKDF2.
|
|
168
|
+
3. **Encrypted Sync**: The encrypted ciphertext along with a SHA-256 checksum is uploaded to the Supabase Cloud.
|
|
169
|
+
4. **Zero Server Knowledge**: Neither Supabase nor the web application server ever holds your master password or the encryption key. Your data remains completely private and secure.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 📄 License
|
|
174
|
+
|
|
175
|
+
This project is licensed under the MIT License.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|