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 CHANGED
@@ -1,3 +1,175 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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.
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node