sakd 0.3.0

Fastest, most useful CLI task manager
sakd-0.3.0 is not a library.
Visit the last successful build: sakd-0.6.1

sakd (Sakkuri Done)

最速・便利・美しい、Rust製のCLIタスクマネージャー。

特徴

  • 高速動作: RustとSQLite (rusqlite) を使用した軽量設計。
  • 2つのUIモード:
    • CLI モード: コマンドラインから素早く操作。
    • TUI モード: 直感的なターミナルUIでタスクを管理(j/k で移動、Space で完了など)。
  • スマートな入力:
    • 空入力で「設定なし」を設定可能。
    • 期限が既に設定されている場合はそれを初期値として表示し、未設定の場合は空から入力。
    • 時刻のデフォルトは23:59。
  • 強力なショートカット:
    • 日付: t, tm, 2d, 1w, mon~sun など。
    • 時刻: last, morning, noon, 1h など。
  • 洗練されたデザイン:
    • ミニマルなデザイン。
    • 期限の状態に応じた5段階のカラー表示。
    • ANSIカラーコードによるレイアウト崩れのない、整然としたカラム表示。
  • 強力なインタラクティブモード:
    • sakd 単体で起動し、対話形式でタスクを追加・編集・完了・削除可能。
    • 項目選択や確認プロンプトによるスムーズなUX。
  • 柔軟な期限管理: 日付のみ、または時刻指定を含めた期限設定が可能。
  • 自動ソート: タスクは期限の近い順に自動的に並べ替えられます(期限なしは最後)。

インストール

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

cd sakd

cargo build --release

パスの設定

ビルド後、生成されたバイナリ target/release/sakd をシステムのパスが通ったディレクトリに配置するか、エイリアスを設定することで sakd コマンドとして利用可能になります。

例(PowerShellの場合):

$env:Path += ";C:\path\to\sakd\target\release"

使い方

モードの切り替え

  • インタラクティブモード: 引数なしで実行すると、メニューが表示されます。
    sakd
    
    
  • TUIモード: tui コマンドまたは t エイリアスで起動します。
    sakd tui
    
    # alias: t
    
    sakd t
    
    

コマンドライン実行

  • タスクの追加

    sakd add "タスク名"
    
    # alias: a
    
    sakd a "タスク名"
    
    
  • タスクの一覧表示

    sakd list
    
    # alias: l
    
    sakd l
    
    # 完了済みも含める場合
    
    sakd l --all
    
    
  • タスクを完了にする

    sakd done [ID]
    
    # alias: d
    
    sakd d [ID]
    
    
  • タスクの表示

    sakd show [ID]
    
    # alias: s
    
    sakd s [ID]
    
    
  • タスクの編集

    sakd edit [ID]
    
    # alias: e
    
    sakd e [ID]
    
    
  • タスクの削除

    sakd remove [ID]
    
    # alias: r
    
    sakd r [ID]
    
    

TUIモードの操作方法

  • j / : 下に移動
  • k / : 上に移動
  • Space / Enter: タスクの完了/未完了を切り替え
  • a: 新しいタスクを追加
  • e: 選択中のタスクを編集
  • r: 選択中のタスクを削除
  • h: 完了済みタスクの表示/非表示を切り替え
  • q / Esc: TUIを終了

ライセンス

MIT License