【ztask-cli】というタスク管理CLIツール作ってみた
Obsidianを使ってZettelkastenの実践するにあたって、プロジェクトノートというカテゴリがあります。
その中で使える【ztask-cli】というタスク管理CLIツール作ってみました。
以下は、その使い方について記載しました。
ztask-cil
ztask-cil
は、タスク管理を行うためのコマンドラインツールです。簡単にタスクを追加、一覧、更新、削除でき、マークダウンファイルを使用してタスクを同期します。
プロジェクトディレクトリ構造
ztask-cil
は、以下のような一般的な階層構造を持つプロジェクトディレクトリを前提としています。各タスクは、yyyymmddHHMMss.md
という形式のマークダウンファイルとして保存され、プロジェクトごとにディレクトリが分けられています。
project_directory/
├── project_1/
│ ├── 20250122102434.md
│ ├── 20250122104555.md
│ └── 20250122104635.md
├── project_2/
│ ├── 20250117173019.md
│ ├── 20250117173521.md
│ └── 20250117173634.md
├── project_3/
│ ├── 20250120044018.md
│ └── 20250120045013.md
└── independent_tasks/
├── 20250121222746.md
└── 20250122123059.md
ファイル名はyyyymmddHHMMss.md
の形式で、作成日時が反映されたユニークなIDとなります。また、各タスクファイルの冒頭にはフロントマターが含まれています。
---
title: Install ztask-cil tool
date: "yyyy-mm-dd"
id: yyyymmddHHMMss
status: "Not Started"
tags:
- Task
---
インストール
Pythonのインストール
ztask-cil
を実行するには、Pythonがインストールされている必要があります。Pythonがインストールされていない場合は、以下の手順でインストールできます。
MacOS
-
Homebrewを使ってPythonをインストールする(Homebrewがインストールされていない場合は、公式サイトからインストールできます):
brew install python
-
インストール後、Pythonが正しくインストールされたことを確認します:
python3 --version
Linux
-
apt
を使用してインストール(UbuntuやDebianベースのディストリビューションの場合):sudo apt update sudo apt install python3
ztask-cliのダウンロード
最新の安定版をデスクトップまたはサーバーにダウンロードしてください。
MacOS
-
リポジトリをクローンします:
git clone https://github.com/nakachan-ing/ztask-cil.git
-
ztask-cil
のパスを環境変数に追加します(zsh
を使用している場合):echo 'export PATH="$HOME/path/to/ztask-cil:$PATH"' >> ~/.zshrc # zshの場合
-
設定を反映させるために、以下のコマンドで
zshrc
を再読み込みします:source ~/.zshrc
これで、ztask
コマンドがターミナルで使用できるようになります。
Pythonの仮想環境の設定
ztask-cil
を仮想環境で使用する場合は、以下の手順を実行して仮想環境を作成し、必要なパッケージをインストールします。
仮想環境の作成
- 仮想環境の作成
プロジェクトディレクトリに移動し、仮想環境を作成します:python3 -m venv venv
- 仮想環境の有効化
source venv/bin/activate
- 依存パッケージをインストールするための
requirements.txt
を作成します:pip3 install -r requirements.txt
-
requirements.txt
の内容は以下の通りです:colorama pyyaml argparse
- 仮想環境の無効化
作業が終わったら仮想環境を無効化しますdeactivate
設定ファイル
ztask-cil
を使用するには、設定ファイル(config.yaml
)が必要です。設定項目は以下となります。
projects_dir: "/path/to/your/projects_dir"
tasks_json: "/path/to/your/tasks.json"
使用例
ztask-cil
の基本的なコマンドは以下の通りです。
1. ztask sync
マークダウンファイルからタスクを同期します。タスクの最新情報を取得するために使用します。
ztask sync
2. ztask list
現在のタスクを一覧表示します。
ztask list
3. ztask status
タスクのステータスを更新します。タスクIDと新しいステータスを指定します。
ztask status <task_id> <new_status>
4. ztask detele
タスクを削除します。削除したいタスクのIDを指定します。
ztask delete <task_id>
Example
タスクの追加から削除までの一連の操作の例です。
- タスクの追加:
ztask add "Complete project report"
- タスクの一覧表示:
ztask list
- タスクのステータス更新:
ztask status 1 "In Progress"
- タスクの削除:
ztask delete 1
Contributing
ztask-cil
に貢献したい場合、プルリクエストを歓迎します!バグ修正、新機能の追加、ドキュメントの改善など、何でもお待ちしています。
License
ztask-cil
はMIT Licenseの下でライセンスされています。