agkan 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.ja.md +126 -125
- package/README.md +139 -138
- package/dist/cli/commands/agent-guide.d.ts +6 -0
- package/dist/cli/commands/agent-guide.d.ts.map +1 -0
- package/dist/cli/commands/agent-guide.js +318 -0
- package/dist/cli/commands/agent-guide.js.map +1 -0
- package/dist/cli/commands/task/count.d.ts.map +1 -1
- package/dist/cli/commands/task/count.js +3 -2
- package/dist/cli/commands/task/count.js.map +1 -1
- package/dist/cli/commands/task/list.js +4 -4
- package/dist/cli/commands/task/list.js.map +1 -1
- package/dist/cli/commands/task/update.d.ts.map +1 -1
- package/dist/cli/commands/task/update.js +33 -7
- package/dist/cli/commands/task/update.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/validators.js +1 -1
- package/dist/cli/utils/validators.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +26 -2
- package/dist/db/schema.js.map +1 -1
- package/dist/models/Task.d.ts +1 -1
- package/dist/models/Task.d.ts.map +1 -1
- package/dist/services/TagService.js +1 -1
- package/dist/services/TagService.js.map +1 -1
- package/dist/services/TaskService.d.ts.map +1 -1
- package/dist/services/TaskService.js +3 -2
- package/dist/services/TaskService.js.map +1 -1
- package/dist/utils/format.d.ts +1 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +1 -0
- package/dist/utils/format.js.map +1 -1
- package/package.json +1 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 gendosu <gendosu@gmail.com>
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
PERFORMANCE OF THIS SOFTWARE.
|
package/README.ja.md
CHANGED
|
@@ -9,7 +9,7 @@ TypeScriptで実装された軽量なCLIタスク管理ツールです。エー
|
|
|
9
9
|
|
|
10
10
|
- **シンプルなCLI**: 直感的なコマンドラインインターフェース
|
|
11
11
|
- **SQLiteベース**: ローカルでの高速データ管理
|
|
12
|
-
- **カンバン形式**:
|
|
12
|
+
- **カンバン形式**: 7つのステータスでタスクを管理(icebox, backlog, ready, in_progress, review, done, closed)
|
|
13
13
|
- **柔軟な入力**: コマンドライン引数またはMarkdownファイルからタスクを作成
|
|
14
14
|
- **フィルタリング**: ステータスや作成者でタスクを絞り込み
|
|
15
15
|
- **色分け表示**: ステータスごとに見やすい色分け表示
|
|
@@ -40,129 +40,6 @@ npm install -g agkan
|
|
|
40
40
|
npm install -g https://github.com/gendosu/agkan.git
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
## 設定
|
|
44
|
-
|
|
45
|
-
### データベースの保存場所
|
|
46
|
-
|
|
47
|
-
agkanは、データベースの保存場所を設定ファイルでカスタマイズできます。
|
|
48
|
-
|
|
49
|
-
#### 設定ファイル: `.agkan.yml`
|
|
50
|
-
|
|
51
|
-
プロジェクトのルートディレクトリに`.agkan.yml`ファイルを作成することで、データベースの保存場所を指定できます。
|
|
52
|
-
|
|
53
|
-
**設定例:**
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
# データベースファイルのパス
|
|
57
|
-
path: ./.agkan/data.db
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
#### パスの指定方法
|
|
61
|
-
|
|
62
|
-
- **相対パス**: カレントディレクトリからの相対パスとして解決されます
|
|
63
|
-
```yaml
|
|
64
|
-
path: ./data/kanban.db
|
|
65
|
-
path: ./.agkan/data.db
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
- **絶対パス**: そのままのパスが使用されます
|
|
69
|
-
```yaml
|
|
70
|
-
path: /home/user/.config/agkan/data.db
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
#### 環境変数による設定
|
|
74
|
-
|
|
75
|
-
agkanは `AGENT_KANBAN_DB_PATH` 環境変数によるデータベースの場所指定をサポートしています。CI/CD環境や複数環境の管理に特に有用です。
|
|
76
|
-
|
|
77
|
-
**環境変数の設定例:**
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
# カスタムデータベースパスを使用
|
|
81
|
-
export AGENT_KANBAN_DB_PATH=/path/to/your/database.db
|
|
82
|
-
agkan task list
|
|
83
|
-
|
|
84
|
-
# 絶対パスを使用
|
|
85
|
-
export AGENT_KANBAN_DB_PATH=/home/user/.config/agkan/data.db
|
|
86
|
-
|
|
87
|
-
# 相対パスを使用
|
|
88
|
-
export AGENT_KANBAN_DB_PATH=./custom/location/data.db
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**優先順位:**
|
|
92
|
-
|
|
93
|
-
データベースパスは以下の優先順位で解決されます:
|
|
94
|
-
|
|
95
|
-
**通常モード (`NODE_ENV` が `test` でない場合):**
|
|
96
|
-
1. **環境変数**(最高優先): `AGENT_KANBAN_DB_PATH`
|
|
97
|
-
2. **設定ファイル**(フォールバック): `.agkan.yml` の `path` フィールド
|
|
98
|
-
3. **デフォルトパス**(最低優先): `.agkan/data.db`
|
|
99
|
-
|
|
100
|
-
**テストモード (`NODE_ENV=test` の場合):**
|
|
101
|
-
1. **環境変数**(最高優先): `AGENT_KANBAN_DB_PATH`
|
|
102
|
-
2. **設定ファイル**(フォールバック): `.agkan-test.yml` の `path` フィールド
|
|
103
|
-
3. **デフォルトパス**(最低優先): `.agkan-test/data.db`
|
|
104
|
-
|
|
105
|
-
**テストモードについて:**
|
|
106
|
-
|
|
107
|
-
テストモード(`NODE_ENV=test`)では、テストデータと本番データを自動的に分離します:
|
|
108
|
-
|
|
109
|
-
- 別の設定ファイルを使用: `.agkan.yml` の代わりに `.agkan-test.yml`
|
|
110
|
-
- 別のデフォルトディレクトリを使用: `.agkan/` の代わりに `.agkan-test/`
|
|
111
|
-
- テストモードでも環境変数が最高優先になります
|
|
112
|
-
|
|
113
|
-
**使用例:**
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# CI/CDパイプライン(一時DBを使用)
|
|
117
|
-
export AGENT_KANBAN_DB_PATH=/tmp/ci-test-db.db
|
|
118
|
-
agkan task list
|
|
119
|
-
|
|
120
|
-
# 複数環境の管理
|
|
121
|
-
export AGENT_KANBAN_DB_PATH=./dev/data.db # 開発環境
|
|
122
|
-
export AGENT_KANBAN_DB_PATH=./staging/data.db # ステージング環境
|
|
123
|
-
|
|
124
|
-
# テストの実行
|
|
125
|
-
NODE_ENV=test npm test
|
|
126
|
-
# デフォルトで .agkan-test/data.db を使用
|
|
127
|
-
|
|
128
|
-
# カスタムテストDBで実行
|
|
129
|
-
NODE_ENV=test AGENT_KANBAN_DB_PATH=/tmp/test.db npm test
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
#### デフォルトの動作
|
|
133
|
-
|
|
134
|
-
`.agkan.yml`ファイルが存在せず、環境変数も設定されていない場合、データベースは以下の場所に作成されます:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
<カレントディレクトリ>/.agkan/data.db
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
テストモード(`NODE_ENV=test`)の場合のデフォルト:
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
<カレントディレクトリ>/.agkan-test/data.db
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
#### プロジェクトごとの管理
|
|
147
|
-
|
|
148
|
-
プロジェクトごとに異なるタスク管理を行いたい場合は、各プロジェクトのルートに`.agkan.yml`を配置してください:
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
# プロジェクトA
|
|
152
|
-
cd /path/to/projectA
|
|
153
|
-
cat > .agkan.yml << EOF
|
|
154
|
-
path: ./.agkan/data.db
|
|
155
|
-
EOF
|
|
156
|
-
|
|
157
|
-
# プロジェクトB
|
|
158
|
-
cd /path/to/projectB
|
|
159
|
-
cat > .agkan.yml << EOF
|
|
160
|
-
path: ./.agkan/data.db
|
|
161
|
-
EOF
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
これにより、各プロジェクトで独立したタスク管理が可能になります。
|
|
165
|
-
|
|
166
43
|
## 使用方法
|
|
167
44
|
|
|
168
45
|
### タスクの作成
|
|
@@ -847,6 +724,7 @@ agkan task tag delete "urgent"
|
|
|
847
724
|
|
|
848
725
|
## タスクステータス
|
|
849
726
|
|
|
727
|
+
- **icebox**: 積極的に検討していない凍結タスク(白色表示)
|
|
850
728
|
- **backlog**: 未着手のタスク(グレー表示)
|
|
851
729
|
- **ready**: 着手可能なタスク(青色表示)
|
|
852
730
|
- **in_progress**: 作業中のタスク(黄色表示)
|
|
@@ -854,6 +732,129 @@ agkan task tag delete "urgent"
|
|
|
854
732
|
- **done**: 完了したタスク(緑色表示)
|
|
855
733
|
- **closed**: クローズされたタスク(マゼンタ表示)
|
|
856
734
|
|
|
735
|
+
## 設定
|
|
736
|
+
|
|
737
|
+
### データベースの保存場所
|
|
738
|
+
|
|
739
|
+
agkanは、データベースの保存場所を設定ファイルでカスタマイズできます。
|
|
740
|
+
|
|
741
|
+
#### 設定ファイル: `.agkan.yml`
|
|
742
|
+
|
|
743
|
+
プロジェクトのルートディレクトリに`.agkan.yml`ファイルを作成することで、データベースの保存場所を指定できます。
|
|
744
|
+
|
|
745
|
+
**設定例:**
|
|
746
|
+
|
|
747
|
+
```yaml
|
|
748
|
+
# データベースファイルのパス
|
|
749
|
+
path: ./.agkan/data.db
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
#### パスの指定方法
|
|
753
|
+
|
|
754
|
+
- **相対パス**: カレントディレクトリからの相対パスとして解決されます
|
|
755
|
+
```yaml
|
|
756
|
+
path: ./data/kanban.db
|
|
757
|
+
path: ./.agkan/data.db
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
- **絶対パス**: そのままのパスが使用されます
|
|
761
|
+
```yaml
|
|
762
|
+
path: /home/user/.config/agkan/data.db
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
#### 環境変数による設定
|
|
766
|
+
|
|
767
|
+
agkanは `AGENT_KANBAN_DB_PATH` 環境変数によるデータベースの場所指定をサポートしています。CI/CD環境や複数環境の管理に特に有用です。
|
|
768
|
+
|
|
769
|
+
**環境変数の設定例:**
|
|
770
|
+
|
|
771
|
+
```bash
|
|
772
|
+
# カスタムデータベースパスを使用
|
|
773
|
+
export AGENT_KANBAN_DB_PATH=/path/to/your/database.db
|
|
774
|
+
agkan task list
|
|
775
|
+
|
|
776
|
+
# 絶対パスを使用
|
|
777
|
+
export AGENT_KANBAN_DB_PATH=/home/user/.config/agkan/data.db
|
|
778
|
+
|
|
779
|
+
# 相対パスを使用
|
|
780
|
+
export AGENT_KANBAN_DB_PATH=./custom/location/data.db
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
**優先順位:**
|
|
784
|
+
|
|
785
|
+
データベースパスは以下の優先順位で解決されます:
|
|
786
|
+
|
|
787
|
+
**通常モード (`NODE_ENV` が `test` でない場合):**
|
|
788
|
+
1. **環境変数**(最高優先): `AGENT_KANBAN_DB_PATH`
|
|
789
|
+
2. **設定ファイル**(フォールバック): `.agkan.yml` の `path` フィールド
|
|
790
|
+
3. **デフォルトパス**(最低優先): `.agkan/data.db`
|
|
791
|
+
|
|
792
|
+
**テストモード (`NODE_ENV=test` の場合):**
|
|
793
|
+
1. **環境変数**(最高優先): `AGENT_KANBAN_DB_PATH`
|
|
794
|
+
2. **設定ファイル**(フォールバック): `.agkan-test.yml` の `path` フィールド
|
|
795
|
+
3. **デフォルトパス**(最低優先): `.agkan-test/data.db`
|
|
796
|
+
|
|
797
|
+
**テストモードについて:**
|
|
798
|
+
|
|
799
|
+
テストモード(`NODE_ENV=test`)では、テストデータと本番データを自動的に分離します:
|
|
800
|
+
|
|
801
|
+
- 別の設定ファイルを使用: `.agkan.yml` の代わりに `.agkan-test.yml`
|
|
802
|
+
- 別のデフォルトディレクトリを使用: `.agkan/` の代わりに `.agkan-test/`
|
|
803
|
+
- テストモードでも環境変数が最高優先になります
|
|
804
|
+
|
|
805
|
+
**使用例:**
|
|
806
|
+
|
|
807
|
+
```bash
|
|
808
|
+
# CI/CDパイプライン(一時DBを使用)
|
|
809
|
+
export AGENT_KANBAN_DB_PATH=/tmp/ci-test-db.db
|
|
810
|
+
agkan task list
|
|
811
|
+
|
|
812
|
+
# 複数環境の管理
|
|
813
|
+
export AGENT_KANBAN_DB_PATH=./dev/data.db # 開発環境
|
|
814
|
+
export AGENT_KANBAN_DB_PATH=./staging/data.db # ステージング環境
|
|
815
|
+
|
|
816
|
+
# テストの実行
|
|
817
|
+
NODE_ENV=test npm test
|
|
818
|
+
# デフォルトで .agkan-test/data.db を使用
|
|
819
|
+
|
|
820
|
+
# カスタムテストDBで実行
|
|
821
|
+
NODE_ENV=test AGENT_KANBAN_DB_PATH=/tmp/test.db npm test
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
#### デフォルトの動作
|
|
825
|
+
|
|
826
|
+
`.agkan.yml`ファイルが存在せず、環境変数も設定されていない場合、データベースは以下の場所に作成されます:
|
|
827
|
+
|
|
828
|
+
```
|
|
829
|
+
<カレントディレクトリ>/.agkan/data.db
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
テストモード(`NODE_ENV=test`)の場合のデフォルト:
|
|
833
|
+
|
|
834
|
+
```
|
|
835
|
+
<カレントディレクトリ>/.agkan-test/data.db
|
|
836
|
+
```
|
|
837
|
+
|
|
838
|
+
#### プロジェクトごとの管理
|
|
839
|
+
|
|
840
|
+
プロジェクトごとに異なるタスク管理を行いたい場合は、各プロジェクトのルートに`.agkan.yml`を配置してください:
|
|
841
|
+
|
|
842
|
+
```bash
|
|
843
|
+
# プロジェクトA
|
|
844
|
+
cd /path/to/projectA
|
|
845
|
+
cat > .agkan.yml << EOF
|
|
846
|
+
path: ./.agkan/data.db
|
|
847
|
+
EOF
|
|
848
|
+
|
|
849
|
+
# プロジェクトB
|
|
850
|
+
cd /path/to/projectB
|
|
851
|
+
cat > .agkan.yml << EOF
|
|
852
|
+
path: ./.agkan/data.db
|
|
853
|
+
EOF
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
これにより、各プロジェクトで独立したタスク管理が可能になります。
|
|
857
|
+
|
|
857
858
|
## 実装予定機能
|
|
858
859
|
|
|
859
860
|
### タスクの添付ファイル
|
|
@@ -951,7 +952,7 @@ agkan/
|
|
|
951
952
|
| id | INTEGER | 主キー(自動採番) |
|
|
952
953
|
| title | TEXT | タスクタイトル(必須) |
|
|
953
954
|
| body | TEXT | タスク本文 |
|
|
954
|
-
| status | TEXT | ステータス(backlog, ready, in_progress, review, done, closed) |
|
|
955
|
+
| status | TEXT | ステータス(icebox, backlog, ready, in_progress, review, done, closed) |
|
|
955
956
|
| author | TEXT | 作成者 |
|
|
956
957
|
| parent_id | INTEGER | 親タスクID(外部キー、NULL可) |
|
|
957
958
|
| created_at | TEXT | 作成日時(ISO 8601形式) |
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ A lightweight CLI task management tool implemented in TypeScript. Optimized for
|
|
|
9
9
|
|
|
10
10
|
- **Simple CLI**: Intuitive command-line interface
|
|
11
11
|
- **SQLite-based**: Fast local data management
|
|
12
|
-
- **Kanban Format**: Manage tasks with
|
|
12
|
+
- **Kanban Format**: Manage tasks with 7 statuses (icebox, backlog, ready, in_progress, review, done, closed)
|
|
13
13
|
- **Flexible Input**: Create tasks from command-line arguments or Markdown files
|
|
14
14
|
- **Filtering**: Narrow down tasks by status or author
|
|
15
15
|
- **Color-coded Display**: Easy-to-read color-coded display by status
|
|
@@ -40,142 +40,6 @@ Install directly from the repository:
|
|
|
40
40
|
npm install -g https://github.com/gendosu/agkan.git
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
## Configuration
|
|
44
|
-
|
|
45
|
-
### Database Storage Location
|
|
46
|
-
|
|
47
|
-
agkan allows customization of the database storage location via a configuration file.
|
|
48
|
-
|
|
49
|
-
#### Configuration File: `.agkan.yml`
|
|
50
|
-
|
|
51
|
-
Create a `.agkan.yml` file in your project root directory to specify the database storage location.
|
|
52
|
-
|
|
53
|
-
**Configuration Example:**
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
# Path to database file
|
|
57
|
-
path: ./.agkan/data.db
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
#### Path Specification
|
|
61
|
-
|
|
62
|
-
- **Relative Path**: Resolved relative to the current directory
|
|
63
|
-
```yaml
|
|
64
|
-
path: ./data/kanban.db
|
|
65
|
-
path: ./.agkan/data.db
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
- **Absolute Path**: Used as-is
|
|
69
|
-
```yaml
|
|
70
|
-
path: /home/user/.config/akan/data.db
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
#### Environment Variable Configuration
|
|
74
|
-
|
|
75
|
-
agkan supports the `AGENT_KANBAN_DB_PATH` environment variable for specifying the database location. This is particularly useful in CI/CD environments and for managing multiple environments.
|
|
76
|
-
|
|
77
|
-
**Setting the Environment Variable:**
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
# Use a custom database path
|
|
81
|
-
export AGENT_KANBAN_DB_PATH=/path/to/your/database.db
|
|
82
|
-
agkan task list
|
|
83
|
-
|
|
84
|
-
# Use absolute path
|
|
85
|
-
export AGENT_KANBAN_DB_PATH=/home/user/.config/akan/data.db
|
|
86
|
-
|
|
87
|
-
# Use relative path
|
|
88
|
-
export AGENT_KANBAN_DB_PATH=./custom/location/data.db
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**Priority Order:**
|
|
92
|
-
|
|
93
|
-
The database path is resolved in the following priority order:
|
|
94
|
-
|
|
95
|
-
**Normal Mode (when `NODE_ENV` is not `test`):**
|
|
96
|
-
1. **Environment Variable** (highest priority): `AGENT_KANBAN_DB_PATH`
|
|
97
|
-
2. **Configuration File** (fallback): `path` field in `.agkan.yml`
|
|
98
|
-
3. **Default Path** (lowest priority): `.agkan/data.db`
|
|
99
|
-
|
|
100
|
-
**Test Mode (when `NODE_ENV=test`):**
|
|
101
|
-
1. **Environment Variable** (highest priority): `AGENT_KANBAN_DB_PATH`
|
|
102
|
-
2. **Configuration File** (fallback): `path` field in `.agkan-test.yml`
|
|
103
|
-
3. **Default Path** (lowest priority): `.agkan-test/data.db`
|
|
104
|
-
|
|
105
|
-
**Test Mode Explanation:**
|
|
106
|
-
|
|
107
|
-
Test mode (`NODE_ENV=test`) automatically isolates test data from production data:
|
|
108
|
-
|
|
109
|
-
- Uses separate configuration file: `.agkan-test.yml` instead of `.agkan.yml`
|
|
110
|
-
- Uses separate default directory: `.agkan-test/` instead of `.agkan/`
|
|
111
|
-
- Environment variable still takes highest priority in test mode
|
|
112
|
-
- Prevents accidental mixing of test and production data
|
|
113
|
-
|
|
114
|
-
**Use Cases:**
|
|
115
|
-
|
|
116
|
-
1. **CI/CD Pipeline:**
|
|
117
|
-
```bash
|
|
118
|
-
# Use temporary database for CI tests
|
|
119
|
-
export AGENT_KANBAN_DB_PATH=/tmp/ci-test-db.db
|
|
120
|
-
agkan task list
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
2. **Multiple Environments:**
|
|
124
|
-
```bash
|
|
125
|
-
# Development environment
|
|
126
|
-
export AGENT_KANBAN_DB_PATH=./dev/data.db
|
|
127
|
-
|
|
128
|
-
# Staging environment
|
|
129
|
-
export AGENT_KANBAN_DB_PATH=./staging/data.db
|
|
130
|
-
|
|
131
|
-
# Production environment
|
|
132
|
-
export AGENT_KANBAN_DB_PATH=./prod/data.db
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
3. **Testing:**
|
|
136
|
-
```bash
|
|
137
|
-
# Automated tests with isolated database
|
|
138
|
-
NODE_ENV=test npm test
|
|
139
|
-
# Uses .agkan-test/data.db by default
|
|
140
|
-
|
|
141
|
-
# Override with custom test database
|
|
142
|
-
NODE_ENV=test AGENT_KANBAN_DB_PATH=/tmp/test.db npm test
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
#### Default Behavior
|
|
146
|
-
|
|
147
|
-
If no `.agkan.yml` file exists and no environment variable is set, the database is created in:
|
|
148
|
-
|
|
149
|
-
```
|
|
150
|
-
<current-directory>/.agkan/data.db
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
In test mode (`NODE_ENV=test`), the default location is:
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
<current-directory>/.agkan-test/data.db
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
#### Per-Project Management
|
|
160
|
-
|
|
161
|
-
To manage separate tasks for different projects, place `.agkan.yml` in each project root:
|
|
162
|
-
|
|
163
|
-
```bash
|
|
164
|
-
# Project A
|
|
165
|
-
cd /path/to/projectA
|
|
166
|
-
cat > .agkan.yml << EOF
|
|
167
|
-
path: ./.agkan/data.db
|
|
168
|
-
EOF
|
|
169
|
-
|
|
170
|
-
# Project B
|
|
171
|
-
cd /path/to/projectB
|
|
172
|
-
cat > .agkan.yml << EOF
|
|
173
|
-
path: ./.agkan/data.db
|
|
174
|
-
EOF
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
This enables independent task management for each project.
|
|
178
|
-
|
|
179
43
|
## Usage
|
|
180
44
|
|
|
181
45
|
### Create Tasks
|
|
@@ -860,6 +724,7 @@ agkan task tag delete "urgent"
|
|
|
860
724
|
|
|
861
725
|
## Task Statuses
|
|
862
726
|
|
|
727
|
+
- **icebox**: Frozen tasks not actively being considered (white display)
|
|
863
728
|
- **backlog**: Not yet started tasks (gray display)
|
|
864
729
|
- **ready**: Tasks ready to be started (blue display)
|
|
865
730
|
- **in_progress**: Tasks currently being worked on (yellow display)
|
|
@@ -867,6 +732,142 @@ agkan task tag delete "urgent"
|
|
|
867
732
|
- **done**: Completed tasks (green display)
|
|
868
733
|
- **closed**: Closed tasks (magenta display)
|
|
869
734
|
|
|
735
|
+
## Configuration
|
|
736
|
+
|
|
737
|
+
### Database Storage Location
|
|
738
|
+
|
|
739
|
+
agkan allows customization of the database storage location via a configuration file.
|
|
740
|
+
|
|
741
|
+
#### Configuration File: `.agkan.yml`
|
|
742
|
+
|
|
743
|
+
Create a `.agkan.yml` file in your project root directory to specify the database storage location.
|
|
744
|
+
|
|
745
|
+
**Configuration Example:**
|
|
746
|
+
|
|
747
|
+
```yaml
|
|
748
|
+
# Path to database file
|
|
749
|
+
path: ./.agkan/data.db
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
#### Path Specification
|
|
753
|
+
|
|
754
|
+
- **Relative Path**: Resolved relative to the current directory
|
|
755
|
+
```yaml
|
|
756
|
+
path: ./data/kanban.db
|
|
757
|
+
path: ./.agkan/data.db
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
- **Absolute Path**: Used as-is
|
|
761
|
+
```yaml
|
|
762
|
+
path: /home/user/.config/akan/data.db
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
#### Environment Variable Configuration
|
|
766
|
+
|
|
767
|
+
agkan supports the `AGENT_KANBAN_DB_PATH` environment variable for specifying the database location. This is particularly useful in CI/CD environments and for managing multiple environments.
|
|
768
|
+
|
|
769
|
+
**Setting the Environment Variable:**
|
|
770
|
+
|
|
771
|
+
```bash
|
|
772
|
+
# Use a custom database path
|
|
773
|
+
export AGENT_KANBAN_DB_PATH=/path/to/your/database.db
|
|
774
|
+
agkan task list
|
|
775
|
+
|
|
776
|
+
# Use absolute path
|
|
777
|
+
export AGENT_KANBAN_DB_PATH=/home/user/.config/akan/data.db
|
|
778
|
+
|
|
779
|
+
# Use relative path
|
|
780
|
+
export AGENT_KANBAN_DB_PATH=./custom/location/data.db
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
**Priority Order:**
|
|
784
|
+
|
|
785
|
+
The database path is resolved in the following priority order:
|
|
786
|
+
|
|
787
|
+
**Normal Mode (when `NODE_ENV` is not `test`):**
|
|
788
|
+
1. **Environment Variable** (highest priority): `AGENT_KANBAN_DB_PATH`
|
|
789
|
+
2. **Configuration File** (fallback): `path` field in `.agkan.yml`
|
|
790
|
+
3. **Default Path** (lowest priority): `.agkan/data.db`
|
|
791
|
+
|
|
792
|
+
**Test Mode (when `NODE_ENV=test`):**
|
|
793
|
+
1. **Environment Variable** (highest priority): `AGENT_KANBAN_DB_PATH`
|
|
794
|
+
2. **Configuration File** (fallback): `path` field in `.agkan-test.yml`
|
|
795
|
+
3. **Default Path** (lowest priority): `.agkan-test/data.db`
|
|
796
|
+
|
|
797
|
+
**Test Mode Explanation:**
|
|
798
|
+
|
|
799
|
+
Test mode (`NODE_ENV=test`) automatically isolates test data from production data:
|
|
800
|
+
|
|
801
|
+
- Uses separate configuration file: `.agkan-test.yml` instead of `.agkan.yml`
|
|
802
|
+
- Uses separate default directory: `.agkan-test/` instead of `.agkan/`
|
|
803
|
+
- Environment variable still takes highest priority in test mode
|
|
804
|
+
- Prevents accidental mixing of test and production data
|
|
805
|
+
|
|
806
|
+
**Use Cases:**
|
|
807
|
+
|
|
808
|
+
1. **CI/CD Pipeline:**
|
|
809
|
+
```bash
|
|
810
|
+
# Use temporary database for CI tests
|
|
811
|
+
export AGENT_KANBAN_DB_PATH=/tmp/ci-test-db.db
|
|
812
|
+
agkan task list
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
2. **Multiple Environments:**
|
|
816
|
+
```bash
|
|
817
|
+
# Development environment
|
|
818
|
+
export AGENT_KANBAN_DB_PATH=./dev/data.db
|
|
819
|
+
|
|
820
|
+
# Staging environment
|
|
821
|
+
export AGENT_KANBAN_DB_PATH=./staging/data.db
|
|
822
|
+
|
|
823
|
+
# Production environment
|
|
824
|
+
export AGENT_KANBAN_DB_PATH=./prod/data.db
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
3. **Testing:**
|
|
828
|
+
```bash
|
|
829
|
+
# Automated tests with isolated database
|
|
830
|
+
NODE_ENV=test npm test
|
|
831
|
+
# Uses .agkan-test/data.db by default
|
|
832
|
+
|
|
833
|
+
# Override with custom test database
|
|
834
|
+
NODE_ENV=test AGENT_KANBAN_DB_PATH=/tmp/test.db npm test
|
|
835
|
+
```
|
|
836
|
+
|
|
837
|
+
#### Default Behavior
|
|
838
|
+
|
|
839
|
+
If no `.agkan.yml` file exists and no environment variable is set, the database is created in:
|
|
840
|
+
|
|
841
|
+
```
|
|
842
|
+
<current-directory>/.agkan/data.db
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
In test mode (`NODE_ENV=test`), the default location is:
|
|
846
|
+
|
|
847
|
+
```
|
|
848
|
+
<current-directory>/.agkan-test/data.db
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
#### Per-Project Management
|
|
852
|
+
|
|
853
|
+
To manage separate tasks for different projects, place `.agkan.yml` in each project root:
|
|
854
|
+
|
|
855
|
+
```bash
|
|
856
|
+
# Project A
|
|
857
|
+
cd /path/to/projectA
|
|
858
|
+
cat > .agkan.yml << EOF
|
|
859
|
+
path: ./.agkan/data.db
|
|
860
|
+
EOF
|
|
861
|
+
|
|
862
|
+
# Project B
|
|
863
|
+
cd /path/to/projectB
|
|
864
|
+
cat > .agkan.yml << EOF
|
|
865
|
+
path: ./.agkan/data.db
|
|
866
|
+
EOF
|
|
867
|
+
```
|
|
868
|
+
|
|
869
|
+
This enables independent task management for each project.
|
|
870
|
+
|
|
870
871
|
## Planned Features
|
|
871
872
|
|
|
872
873
|
### Task Attachments
|
|
@@ -964,7 +965,7 @@ agkan/
|
|
|
964
965
|
| id | INTEGER | Primary key (auto-increment) |
|
|
965
966
|
| title | TEXT | Task title (required) |
|
|
966
967
|
| body | TEXT | Task body |
|
|
967
|
-
| status | TEXT | Status (backlog, ready, in_progress, review, done, closed) |
|
|
968
|
+
| status | TEXT | Status (icebox, backlog, ready, in_progress, review, done, closed) |
|
|
968
969
|
| author | TEXT | Creator/author |
|
|
969
970
|
| parent_id | INTEGER | Parent task ID (foreign key, nullable) |
|
|
970
971
|
| created_at | TEXT | Creation timestamp (ISO 8601 format) |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-guide.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-guide.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkTpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO7D"}
|