@fukuchang/taskchute-cli 0.1.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/LICENSE +21 -0
- package/README.md +98 -0
- package/dist/index.js +2250 -0
- package/package.json +64 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 fukuchang
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# @fukuchang/taskchute-cli
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@fukuchang/taskchute-cli)
|
|
4
|
+
|
|
5
|
+
TaskChute (E2EE 暗号化されたタスク管理アプリ) のタスクをターミナルから操作するための CLI。
|
|
6
|
+
|
|
7
|
+
## 必要なもの
|
|
8
|
+
|
|
9
|
+
- Node.js 20 以上
|
|
10
|
+
- TaskChute Web アプリで作成済みのアカウント
|
|
11
|
+
- E2EE セットアップ (Web アプリの「Settings → データの暗号化」で passphrase を設定済み)
|
|
12
|
+
|
|
13
|
+
> ⚠️ タスクデータは end-to-end 暗号化されているため、復号には passphrase が必須。
|
|
14
|
+
> Web アプリで E2EE をセットアップしていない状態では CLI からタスクを操作できない。
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
npm install -g @fukuchang/taskchute-cli
|
|
20
|
+
# または pnpm を使うなら
|
|
21
|
+
pnpm add -g @fukuchang/taskchute-cli
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
インストール後、`taskchute` コマンドが利用可能になる。
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
taskchute --help
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 環境変数
|
|
31
|
+
|
|
32
|
+
CLI は Supabase に直接接続するため、接続情報を環境変数で渡す必要がある。
|
|
33
|
+
|
|
34
|
+
| 変数名 | 必須 | 用途 |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| `TASKCHUTE_SUPABASE_URL` | 必須 | Supabase プロジェクトの URL |
|
|
37
|
+
| `TASKCHUTE_SUPABASE_PUBLISHABLE_KEY` | 必須 | Supabase の publishable (anon) key |
|
|
38
|
+
| `TASKCHUTE_PASSPHRASE` | 任意 | E2EE passphrase。設定すれば対話プロンプトをスキップ。CI/自動化向け |
|
|
39
|
+
|
|
40
|
+
`.zshrc` などに書いておくのが楽。
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
export TASKCHUTE_SUPABASE_URL="https://xxxxx.supabase.co"
|
|
44
|
+
export TASKCHUTE_SUPABASE_PUBLISHABLE_KEY="eyJh..."
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
# 1. 認証 (email + password)
|
|
51
|
+
taskchute login
|
|
52
|
+
|
|
53
|
+
# 2. E2EE unlock (passphrase を OS keyring に保存し、以降のコマンドを対話なしに走らせる)
|
|
54
|
+
taskchute unlock
|
|
55
|
+
|
|
56
|
+
# 3. タスク一覧 (デフォルトは今日)
|
|
57
|
+
taskchute tasks list
|
|
58
|
+
|
|
59
|
+
# 4. タスク追加
|
|
60
|
+
taskchute tasks add "朝のメール処理" --duration 30
|
|
61
|
+
|
|
62
|
+
# 5. タスク開始
|
|
63
|
+
taskchute tasks start <taskId-or-index>
|
|
64
|
+
|
|
65
|
+
# 6. 完了
|
|
66
|
+
taskchute tasks done <taskId-or-index>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## コマンド一覧
|
|
70
|
+
|
|
71
|
+
| Command | 説明 |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| `taskchute login` | email + password で Supabase にログインし、session を OS keyring に保存 |
|
|
74
|
+
| `taskchute whoami` | 現在ログイン中のユーザーを表示 |
|
|
75
|
+
| `taskchute logout` | ログアウト (keyring から session 削除) |
|
|
76
|
+
| `taskchute unlock` | E2EE passphrase を keyring に保存し、以降のコマンドを対話なしに走らせる |
|
|
77
|
+
| `taskchute lock` | keyring から passphrase を削除 (session は維持) |
|
|
78
|
+
| `taskchute tasks list [--date YYYY-MM-DD]` | タスク一覧表示 |
|
|
79
|
+
| `taskchute tasks add <title> [--duration <min>] [--date <date>]` | タスク追加 |
|
|
80
|
+
| `taskchute tasks start <id>` | タスク開始 |
|
|
81
|
+
| `taskchute tasks pause <id>` | タスク中断 |
|
|
82
|
+
| `taskchute tasks done <id>` | タスク完了 |
|
|
83
|
+
|
|
84
|
+
詳細オプションは `taskchute <command> --help` で確認。
|
|
85
|
+
|
|
86
|
+
## セキュリティ
|
|
87
|
+
|
|
88
|
+
- session token と passphrase は OS のセキュア keyring (macOS Keychain / Linux Secret Service / Windows Credential Manager) に保存される。
|
|
89
|
+
- タスクの本文・ノート等は全てクライアント側で AES-GCM 暗号化された状態で Supabase に保存され、CLI/Web どちらからも passphrase を知らないと復号できない。
|
|
90
|
+
- passphrase そのものはサーバには一切送信されない。
|
|
91
|
+
|
|
92
|
+
## ソースコード
|
|
93
|
+
|
|
94
|
+
[github.com/fukuchang/TaskChute](https://github.com/fukuchang/TaskChute) (packages/cli)
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|