# sakd (Sakkuri Done)
最速・便利・美しい、Rust製のCLIタスクマネージャー。
## 特徴
- **高速動作**: RustとSQLite (rusqlite) を使用した軽量設計。
- **スマートな入力**:
- 空入力で「設定なし」、Enterでデフォルト値(時刻なら23:59)を設定。
- **強力なショートカット**:
- 日付: `t`, `tm`, `2d`, `1w`, `mon~sun` など。
- 時刻: `last`, `morning`, `noon`, `1h` など。
- **洗練されたUI**:
- ミニマルなリスト表示。
- 期限の状態に応じた5段階のカラー表示。
- ANSIカラーコードによるレイアウト崩れのない、整然としたカラム表示。
- **強力なインタラクティブモード**:
- `sakd` 単体で起動し、対話形式でタスクを追加・編集・完了・削除可能。
- 項目選択や確認プロンプトによるスムーズなUX。
- **柔軟な期限管理**: 日付のみ、または時刻指定を含めた期限設定が可能。
## インストール
```bash
git clone https://github.com/twil3/sakd.git
cd sakd
cargo build --release
```
### パスの設定
ビルド後、生成されたバイナリ `target/release/sakd` をシステムのパスが通ったディレクトリに配置するか、エイリアスを設定することで `sakd` コマンドとして利用可能になります。
例(PowerShellの場合):
```powershell
$env:Path += ";C:\path\to\sakd\target\release"
```
## 使い方
### インタラクティブモード
引数なしで実行すると、メニューが表示されます。
```bash
sakd
```
### コマンドライン実行
- **タスクの追加**
```bash
sakd add "タスク名"
sakd a "タスク名"
```
- **タスクの一覧表示**
```bash
sakd list
sakd l
sakd l --all
```
- **タスクを完了にする**
```bash
sakd done [ID]
sakd d [ID]
```
- **タスクの表示**
```bash
sakd show [ID]
sakd s [ID]
```
- **タスクの編集**
```bash
sakd edit [ID]
sakd e [ID]
```
- **タスクの削除**
```bash
sakd remove [ID]
sakd r [ID]
```
## ライセンス
[MIT License](LICENSE)