sakd 0.6.1

Fastest, most useful CLI task manager
Documentation

sakd (Sakkuri Done) 🚀

最速・便利・美しい、Rust製の次世代タスク管理ツール。

sakd は、ターミナル作業の合間に「さっくり」とタスクを管理し、生産性を最大化するために設計されました。シンプルな ToDo 管理から、依存関係を伴う複雑なプロジェクト管理まで、モダンな CLI/TUI スペックでサポートします。


📑 目次

� はじめに

💻 使い方

⚙️ その他


📖 ツール概要

sakd は、ターミナルユーザーに最適な「使い勝手」を追求しています。

  • スピード: Rust によるネイティブバイナリと内蔵 SQLite により、数千件のタスクも瞬時に処理。
  • 柔軟性: 短いコマンドで操作する「CLI モード」と、全画面でじっくり整理する「TUI モード」を自由に行き来可能。
  • スマートパース: 「明日 (tm)」「来週の月曜 (mon)」といった自然な略称を理解します。

🎨 視覚ガイド(記号と色)

リスト表示で現れる記号や色は、あなたの直感を助けるための「情報」です。

1. ステータスと警告(Status & Symbols)

タスクの左側に表示される記号です。

記号 意味 解説
[ ] Todo/ 未完了 未着手のタスクです。
v / [v] Done / 完了 完了したタスクです。
>> 選択中 (TUI) TUIにおいて現在カーソルが合っているタスクを示します。
* 依存警告 この項目の前に終わらせるべき「別のタスク」が未完了であることを示します。

2. 優先度(Priority)

ステータスの右側に表示されます。

  • !!! : High (高) - 最優先事項。
  • !! : Medium (中) - 重要な事項。
  • ! : Low (低) - 余裕がある時に。

3. 緊急度(タイトルのカラー)

タイトルの色は「締め切りの近さ」を表しています。

  • マゼンタ (太字): 期限超過(Overdue)
  • 赤色: 今日が締め切り
  • 黄色: 3日以内
  • 緑色: 1週間以内
  • 灰色: それ以降、または期限なし

💻 CLI モード (sakd)

CLI モードは、コマンド一つで素早く情報を引き出したり、操作したりするのに適しています。

1. タスクの追加 (add / a)

新しいタスクをデータベースに登録します。

  • 引数なしで実行した場合: 対話型プロンプトが起動します。タイトル優先度タグ依存関係期限説明 の順に詳しく聞かれるため、初心者でも迷わず追加できます。
  • 引数ありで実行した場合: コマンドラインから直接値を設定します。
    sakd add "設計書作成" --priority high --tags work --limit 2d
    
    

2. 一覧表示・検索 (list / l)

現在のタスクを一覧で表示します。

  • 引数なしで実行した場合: 「未完了」のタスクをすべて表示します。
  • 引数ありで実行した場合: --all で完了済みを含めたり、--tag--priority で特定のタスクを抽出できます。
    sakd list --tag work --priority high
    
    

3. タスクを完了にする (done / d)

ステータスを Done に切り替えます(既に Done の場合は未完了に戻ります)。

  • 引数なしで実行した場合: 対話形式でどのタスクを完了にするか選ぶメニューが表示されます。
  • 引数ありで実行した場合: 指定した ID のタスクを即座にトグルします。
    sakd done 12
    
    

4. 詳細を確認する (show / s)

タスクの全メタデータ(作成日時、長い説明文、依存しているタスクなど)を確認します。

  • 引数なしで実行した場合: どのタスクの詳細を見るか選択するメニューが表示されます。
  • 引数ありで実行した場合: 指定した ID のタスクの詳細を整形して表示します。

実行例 (sakd show 12):

--- Task Details ---
ID: 12
Priority: High
Tags: work, critical
Depends on: [10, 11]
Title: 設計書作成
Done: No
Limit: 2026-02-05 23:59
Description: プロジェクトの基本設計とDB設計を含む資料。

5. タスクを編集する (edit / e)

既存のタスクの内容を上書きします。

  • 引数なしで実行した場合: まず編集したいタスクを ID 指定または選択し、その後、現時点の値を初期値とした対話型プロンプトで修正を行えます。
  • 引数ありで実行した場合: ID と修正したい項目をフラグで指定します。
    sakd edit 10 --title "修正後の課題" --limit tomorrow
    
    

6. タスクを削除する (remove / r)

タスクを完全に消去します。

  • 引数なしで実行した場合: 削除するタスクを安全に選ぶためのメニューが表示されます。
  • 引数ありで実行した場合: 指定した ID のタスクを削除します(ミス防止のため確認プロンプトが出ます)。

実行例 (sakd remove 10):

? Are you sure you want to remove this task? (y/N) > y
Task removed.

🖼️ TUI モード (sakd-tui)

TUI モードは、独立したコマンド sakd-tui として提供されています。全画面でタスクを管理するための強力なツールです。

起動方法

sakd-tui

画面の構成

  • 左側(リスト): タスクの ID、ステータス、優先度、依存警告、タイトルが一覧表示。
  • 右側(詳細): 選択中のタスクの全情報。未完了の依存タスク名などもここで確認できます。
  • 最下部: 入力モードやヘルプメッセージが表示されます。

主要な操作キー(Normalモード時)

キー アクション 特徴
j/k (↑/↓) 移動 リスト内の選択タスクを移動。選択中は背景が青くなります。
Space 完了トグル ポップアップを介さず一瞬で Done/Todo を切り替え。
a 新規追加 ポップアップ入力で全項目を入力。
e 編集 選択中のタスクの全項目を安全に編集。
r 削除 確認の後、タスクを消去。
s 提案ジャンプ 期限と優先度から算出した「今やるべきタスク」へ瞬間移動。
o ソート変更 期限順 → 優先度順 → ID順 へ、リストの並びを切り替え。
f タグ等フィルタ 入力した文字列を含むタグを持つタスクのみを表示。
p 優先度フィルタ l/m/h キーで特定の優先度のみを抽出します。
h 全表示切替 完了済みタスクを表示/非表示にします。
q / Esc 終了 TUI環境を閉じてターミナルに戻ります。

🧠 インテリジェント機能 (スマートパース)

sakd は、あなたが入力した曖昧な時間表現を論理的に解釈します。

日付の省略形:

  • t or today: 今日
  • tm or tomorrow: 明日
  • 2d, 3d ...: N日後の日付
  • 1w: 7日後の日付
  • mon ~ sun: 次の該当曜日の日付(例: 今が火曜日に sat と打てば、今週の土曜日)

時刻の省略形:

  • last: 23:59 (当日の最終)
  • morning: 09:00 / noon: 12:00 / evening: 18:00
  • 1h, 2h ...: 現在時刻から N 時間後

「指定なし(空白)」の扱い: 優先度や説明など、入力したくない項目は何も打たずに Enter を押すだけでOKです。内部的にスマートに「指定なし(None)」として記録され、UI 上も邪魔にならないように表示されます。


⚙️ インストール

1. crates.io からインストール (推奨)

以下のコマンドでインストール可能です。 sakd (CLI) と sakd-tui (TUI) の両方のバイナリが同時にインストールされます。

cargo install sakd

2. ソースからビルド

最新の開発版を使いたい場合などは、リポジトリから直接インストールできます。

git clone https://github.com/twil3/sakd.git

cd sakd

cargo install --path .


ライセンス

MIT License