A CLI task management tool - Punch your tasks to completion!
CLIタスク管理ツール - パンチカードのように、タスクに穴を開けて完了させる
レトロなパンチカードをイメージしたタスク管理CLIツール。
コマンド+エンターで、タスクを完了するたびに、まるでチケットにパンチするように。
- 🚀 高速起動 - Goで書かれた単一バイナリ
- 📝 シンプル - 直感的なコマンド構造
- 💾 軽量 - JSONファイルでローカル保存(
~/.docket/tasks.json) - 🎨 視覚的 - チケット風の美しい表示
- ⚡ 効率的 - キーボードだけで完結
go install github.com/Sottiki/docketpunch@latestcurl -L https://github.com/Sottiki/docketpunch/releases/latest/download/docketpunch-linux-amd64 -o docketpunch
chmod +x docketpunch
sudo mv docketpunch /usr/local/bin/curl -L https://github.com/Sottiki/docketpunch/releases/latest/download/docketpunch-linux-arm64 -o docketpunch
chmod +x docketpunch
sudo mv docketpunch /usr/local/bin/インストール後、docketpunch コマンドが使えるようになります。
インストール直後は docketpunch コマンドで使用しますが、より快適に使うためエイリアスの設定をおすすめします。
設定前:
docketpunch list # 長い...設定後:
docket list # 短くて便利!
dkt list # さらに短く!~/.zshrc に以下を追加:
alias docket='docketpunch'
alias dkt='docketpunch'~/.bashrc または ~/.bash_profile に以下を追加:
alias docket='docketpunch'
alias dkt='docketpunch'# zsh の場合
source ~/.zshrc
# bash の場合
source ~/.bashrc以降、このREADMEでは短縮形の docket を使用して説明します。
docket add "Go言語の勉強をする"✓ Added task #1: Go言語の勉強をする
docket list[ |#1|Go言語の勉強をする (10/06)]
[ |#2|ドキュメントを書く (10/07)]
[◯|#3|コードレビュー (10/05→10/08)]
[ ]- 未完了タスク[◯]- 完了済みタスク(パンチされた!)- 日付は
月/日形式で表示 - 完了済みタスクは
作成日→完了日で表示
docket punch✓ Punched latest task #2: ドキュメントを書く
引数なしで実行すると、最新の未完了タスクを完了します。
docket punch 1✓ Punched task #1: Go言語の勉強をする
docket delete 2✓ Deleted task #2: ドキュメントを書く
docket clear✓ Cleared 2 completed task(s)
完了済み([◯])のタスクのみを削除し、未完了タスクはそのまま残ります。
エイリアス設定後は、より短いコマンドで操作できます:
dkt add "Go言語の勉強をする"
dkt list
dkt punch # 最新タスクを完了
dkt punch 1 # 指定IDを完了
dkt delete 2
dkt clear| コマンド | 説明 | 使用例 |
|---|---|---|
add <description> |
新しいタスクを追加 | docket add "タスク名" |
list |
タスク一覧をチケット形式で表示 | docket list |
punch [task-id] |
タスクを完了にする 引数なし: 最新タスクを完了 引数あり: 指定IDを完了 |
docket punchdocket punch 1 |
delete <task-id> |
指定したタスクを削除 | docket delete 2 |
clear |
完了済みタスクを一括削除 | docket clear |
help |
ヘルプを表示 | docket help |
- プロジェクト初期化
- 基本設計
-
addコマンド実装 -
listコマンド実装 -
punchコマンド実装 -
deleteコマンド実装 -
clearコマンド実装
-
delete --allオプション(全タスク削除) - コードリファクタリング
- テストコードの追加
- CI/CD の設定
- 言語: Go 1.23+
- CLI フレームワーク: Cobra
- データ保存: JSON (
~/.docket/tasks.json)
docketpunch/
├── cmd/
│ ├── root.go
│ ├── add.go
│ ├── list.go
│ ├── punch.go
│ ├── delete.go
│ └── clear.go
├── internal/
│ ├── task/
│ │ └── task.go # Task構造体
│ ├── docket/
│ │ └── docket.go # Docketビジネスロジック
│ └── storage/
│ └── storage.go # JSON読み書き処理
├── main.go
├── go.mod
├── go.sum
└── README.md
Sottiki
- GitHub: @Sottiki
このプロジェクトは、古き良きパンチカードシステムからインスピレーションを得ています。 タスクを完了させる爽快感を、レトロな「パンチ」という動作で表現しました。
⭐ このプロジェクトが役に立ったら、スターをつけていただけると嬉しいです!