mdjournal 1.0.16 → 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.
Files changed (203) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +20 -17
  3. package/dist/README.md +335 -0
  4. package/dist/client/assets/index-CWshDATd.js +402 -0
  5. package/dist/client/dist/assets/index-CWshDATd.js +402 -0
  6. package/dist/client/dist/index.html +1 -1
  7. package/dist/client/index.html +1 -1
  8. package/dist/packages/contract/mdjournal/domains/CalendarApi.d.ts +19 -0
  9. package/dist/packages/contract/mdjournal/domains/CalendarApi.d.ts.map +1 -0
  10. package/dist/packages/contract/mdjournal/domains/CalendarApi.js +7 -0
  11. package/dist/packages/contract/mdjournal/domains/CalendarApi.js.map +1 -0
  12. package/dist/packages/contract/mdjournal/domains/ConfigApi.d.ts +29 -0
  13. package/dist/packages/contract/mdjournal/domains/ConfigApi.d.ts.map +1 -0
  14. package/dist/packages/contract/mdjournal/domains/ConfigApi.js +7 -0
  15. package/dist/packages/contract/mdjournal/domains/ConfigApi.js.map +1 -0
  16. package/dist/packages/contract/mdjournal/domains/GitApi.d.ts +14 -0
  17. package/dist/packages/contract/mdjournal/domains/GitApi.d.ts.map +1 -0
  18. package/dist/packages/contract/mdjournal/domains/GitApi.js +7 -0
  19. package/dist/packages/contract/mdjournal/domains/GitApi.js.map +1 -0
  20. package/dist/packages/contract/mdjournal/domains/ReportApi.d.ts +24 -0
  21. package/dist/packages/contract/mdjournal/domains/ReportApi.d.ts.map +1 -0
  22. package/dist/packages/contract/mdjournal/domains/ReportApi.js +7 -0
  23. package/dist/packages/contract/mdjournal/domains/ReportApi.js.map +1 -0
  24. package/dist/packages/contract/mdjournal/domains/index.d.ts +24 -0
  25. package/dist/packages/contract/mdjournal/domains/index.d.ts.map +1 -0
  26. package/dist/packages/contract/mdjournal/domains/index.js +7 -0
  27. package/dist/packages/contract/mdjournal/domains/index.js.map +1 -0
  28. package/dist/packages/contract/mdjournal/errors/index.d.ts +19 -0
  29. package/dist/packages/contract/mdjournal/errors/index.d.ts.map +1 -0
  30. package/dist/packages/contract/mdjournal/errors/index.js +29 -0
  31. package/dist/packages/contract/mdjournal/errors/index.js.map +1 -0
  32. package/dist/packages/contract/mdjournal/index.d.ts +8 -0
  33. package/dist/packages/contract/mdjournal/index.d.ts.map +1 -0
  34. package/dist/packages/contract/mdjournal/index.js +8 -0
  35. package/dist/packages/contract/mdjournal/index.js.map +1 -0
  36. package/dist/packages/contract/mdjournal/schemas/index.d.ts +7 -0
  37. package/dist/packages/contract/mdjournal/schemas/index.d.ts.map +1 -0
  38. package/dist/packages/contract/mdjournal/schemas/index.js +7 -0
  39. package/dist/packages/contract/mdjournal/schemas/index.js.map +1 -0
  40. package/dist/packages/contract/mdjournal/schemas/types.d.ts +357 -0
  41. package/dist/packages/contract/mdjournal/schemas/types.d.ts.map +1 -0
  42. package/dist/packages/contract/mdjournal/schemas/types.js +7 -0
  43. package/dist/packages/contract/mdjournal/schemas/types.js.map +1 -0
  44. package/dist/packages/contract/mdjournal/schemas/validators.d.ts +1576 -0
  45. package/dist/packages/contract/mdjournal/schemas/validators.d.ts.map +1 -0
  46. package/dist/packages/contract/mdjournal/schemas/validators.js +952 -0
  47. package/dist/packages/contract/mdjournal/schemas/validators.js.map +1 -0
  48. package/dist/server/src/cli.d.ts.map +1 -0
  49. package/dist/server/src/cli.js.map +1 -0
  50. package/dist/server/src/index.d.ts.map +1 -0
  51. package/dist/{index.js → server/src/index.js} +21 -11
  52. package/dist/server/src/index.js.map +1 -0
  53. package/dist/server/src/mdjournal/domains/CalendarDomain.d.ts +19 -0
  54. package/dist/server/src/mdjournal/domains/CalendarDomain.d.ts.map +1 -0
  55. package/dist/server/src/mdjournal/domains/CalendarDomain.js +88 -0
  56. package/dist/server/src/mdjournal/domains/CalendarDomain.js.map +1 -0
  57. package/dist/server/src/mdjournal/domains/CalendarDomain.test.d.ts +2 -0
  58. package/dist/server/src/mdjournal/domains/CalendarDomain.test.d.ts.map +1 -0
  59. package/dist/server/src/mdjournal/domains/CalendarDomain.test.js +111 -0
  60. package/dist/server/src/mdjournal/domains/CalendarDomain.test.js.map +1 -0
  61. package/dist/server/src/mdjournal/domains/ConfigDomain.d.ts +27 -0
  62. package/dist/server/src/mdjournal/domains/ConfigDomain.d.ts.map +1 -0
  63. package/dist/server/src/mdjournal/domains/ConfigDomain.js +59 -0
  64. package/dist/server/src/mdjournal/domains/ConfigDomain.js.map +1 -0
  65. package/dist/server/src/mdjournal/domains/ConfigDomain.test.d.ts +2 -0
  66. package/dist/server/src/mdjournal/domains/ConfigDomain.test.d.ts.map +1 -0
  67. package/dist/server/src/mdjournal/domains/ConfigDomain.test.js +177 -0
  68. package/dist/server/src/mdjournal/domains/ConfigDomain.test.js.map +1 -0
  69. package/dist/server/src/mdjournal/domains/GitDomain.d.ts +15 -0
  70. package/dist/server/src/mdjournal/domains/GitDomain.d.ts.map +1 -0
  71. package/dist/server/src/mdjournal/domains/GitDomain.js +16 -0
  72. package/dist/server/src/mdjournal/domains/GitDomain.js.map +1 -0
  73. package/dist/server/src/mdjournal/domains/GitDomain.test.d.ts +2 -0
  74. package/dist/server/src/mdjournal/domains/GitDomain.test.d.ts.map +1 -0
  75. package/dist/server/src/mdjournal/domains/GitDomain.test.js +112 -0
  76. package/dist/server/src/mdjournal/domains/GitDomain.test.js.map +1 -0
  77. package/dist/server/src/mdjournal/domains/ReportDomain.d.ts +23 -0
  78. package/dist/server/src/mdjournal/domains/ReportDomain.d.ts.map +1 -0
  79. package/dist/server/src/mdjournal/domains/ReportDomain.js +117 -0
  80. package/dist/server/src/mdjournal/domains/ReportDomain.js.map +1 -0
  81. package/dist/server/src/mdjournal/domains/ReportDomain.test.d.ts +2 -0
  82. package/dist/server/src/mdjournal/domains/ReportDomain.test.d.ts.map +1 -0
  83. package/dist/server/src/mdjournal/domains/ReportDomain.test.js +207 -0
  84. package/dist/server/src/mdjournal/domains/ReportDomain.test.js.map +1 -0
  85. package/dist/server/src/mdjournal/domains/errors.d.ts +17 -0
  86. package/dist/server/src/mdjournal/domains/errors.d.ts.map +1 -0
  87. package/dist/server/src/mdjournal/domains/errors.js +27 -0
  88. package/dist/server/src/mdjournal/domains/errors.js.map +1 -0
  89. package/dist/server/src/mdjournal/domains/index.d.ts +15 -0
  90. package/dist/server/src/mdjournal/domains/index.d.ts.map +1 -0
  91. package/dist/server/src/mdjournal/domains/index.js +11 -0
  92. package/dist/server/src/mdjournal/domains/index.js.map +1 -0
  93. package/dist/server/src/mdjournal/index.d.ts +17 -0
  94. package/dist/server/src/mdjournal/index.d.ts.map +1 -0
  95. package/dist/server/src/mdjournal/index.js +34 -0
  96. package/dist/server/src/mdjournal/index.js.map +1 -0
  97. package/dist/server/src/mdjournal/routes.generated.d.ts +28 -0
  98. package/dist/server/src/mdjournal/routes.generated.d.ts.map +1 -0
  99. package/dist/server/src/mdjournal/routes.generated.js +403 -0
  100. package/dist/server/src/mdjournal/routes.generated.js.map +1 -0
  101. package/dist/server/src/types/index.d.ts.map +1 -0
  102. package/dist/server/src/types/index.js.map +1 -0
  103. package/dist/server/src/utils/configValidator.d.ts.map +1 -0
  104. package/dist/server/src/utils/configValidator.js.map +1 -0
  105. package/dist/server/src/utils/configValidator.test.d.ts +2 -0
  106. package/dist/server/src/utils/configValidator.test.d.ts.map +1 -0
  107. package/dist/server/src/utils/configValidator.test.js +359 -0
  108. package/dist/server/src/utils/configValidator.test.js.map +1 -0
  109. package/dist/server/src/utils/fileManager.d.ts.map +1 -0
  110. package/dist/server/src/utils/fileManager.js.map +1 -0
  111. package/dist/server/src/utils/git.d.ts.map +1 -0
  112. package/dist/server/src/utils/git.js.map +1 -0
  113. package/dist/server/src/utils/index.d.ts.map +1 -0
  114. package/dist/server/src/utils/index.js.map +1 -0
  115. package/dist/server/src/utils/markdown.d.ts.map +1 -0
  116. package/dist/server/src/utils/markdown.js.map +1 -0
  117. package/dist/server/src/utils/markdown.test.d.ts +2 -0
  118. package/dist/server/src/utils/markdown.test.d.ts.map +1 -0
  119. package/dist/server/src/utils/markdown.test.js +291 -0
  120. package/dist/server/src/utils/markdown.test.js.map +1 -0
  121. package/dist/server/src/utils/slack.d.ts.map +1 -0
  122. package/dist/server/src/utils/slack.js.map +1 -0
  123. package/dist/server/src/utils/validator.d.ts.map +1 -0
  124. package/dist/server/src/utils/validator.js.map +1 -0
  125. package/dist/server/src/utils/validator.test.d.ts +2 -0
  126. package/dist/server/src/utils/validator.test.d.ts.map +1 -0
  127. package/dist/server/src/utils/validator.test.js +307 -0
  128. package/dist/server/src/utils/validator.test.js.map +1 -0
  129. package/package.json +37 -17
  130. package/dist/cli.d.ts.map +0 -1
  131. package/dist/cli.js.map +0 -1
  132. package/dist/client/assets/index-DlkkIyB6.js +0 -402
  133. package/dist/client/dist/assets/index-DlkkIyB6.js +0 -402
  134. package/dist/index.d.ts.map +0 -1
  135. package/dist/index.js.map +0 -1
  136. package/dist/routes/calendar.d.ts +0 -8
  137. package/dist/routes/calendar.d.ts.map +0 -1
  138. package/dist/routes/calendar.js +0 -115
  139. package/dist/routes/calendar.js.map +0 -1
  140. package/dist/routes/config.d.ts +0 -11
  141. package/dist/routes/config.d.ts.map +0 -1
  142. package/dist/routes/config.js +0 -120
  143. package/dist/routes/config.js.map +0 -1
  144. package/dist/routes/gcal.d.ts +0 -10
  145. package/dist/routes/gcal.d.ts.map +0 -1
  146. package/dist/routes/gcal.js +0 -100
  147. package/dist/routes/gcal.js.map +0 -1
  148. package/dist/routes/git.d.ts +0 -8
  149. package/dist/routes/git.d.ts.map +0 -1
  150. package/dist/routes/git.js +0 -28
  151. package/dist/routes/git.js.map +0 -1
  152. package/dist/routes/index.d.ts +0 -9
  153. package/dist/routes/index.d.ts.map +0 -1
  154. package/dist/routes/index.js +0 -9
  155. package/dist/routes/index.js.map +0 -1
  156. package/dist/routes/reports.d.ts +0 -10
  157. package/dist/routes/reports.d.ts.map +0 -1
  158. package/dist/routes/reports.js +0 -175
  159. package/dist/routes/reports.js.map +0 -1
  160. package/dist/types/index.d.ts.map +0 -1
  161. package/dist/types/index.js.map +0 -1
  162. package/dist/utils/configValidator.d.ts.map +0 -1
  163. package/dist/utils/configValidator.js.map +0 -1
  164. package/dist/utils/fileManager.d.ts.map +0 -1
  165. package/dist/utils/fileManager.js.map +0 -1
  166. package/dist/utils/git.d.ts.map +0 -1
  167. package/dist/utils/git.js.map +0 -1
  168. package/dist/utils/index.d.ts.map +0 -1
  169. package/dist/utils/index.js.map +0 -1
  170. package/dist/utils/markdown.d.ts.map +0 -1
  171. package/dist/utils/markdown.js.map +0 -1
  172. package/dist/utils/slack.d.ts.map +0 -1
  173. package/dist/utils/slack.js.map +0 -1
  174. package/dist/utils/validator.d.ts.map +0 -1
  175. package/dist/utils/validator.js.map +0 -1
  176. /package/{docs → dist/docs}/api-reference.html +0 -0
  177. /package/{docs → dist/docs}/config-spec.md +0 -0
  178. /package/{docs → dist/docs}/extension-spec.md +0 -0
  179. /package/{docs → dist/docs}/index.md +0 -0
  180. /package/{docs → dist/docs}/integration-spec.md +0 -0
  181. /package/{docs → dist/docs}/markdown-format-spec.md +0 -0
  182. /package/{docs → dist/docs}/openapi.yaml +0 -0
  183. /package/{docs → dist/docs}/requirements.md +0 -0
  184. /package/{docs → dist/docs}/screenshot.png +0 -0
  185. /package/dist/{cli.d.ts → server/src/cli.d.ts} +0 -0
  186. /package/dist/{cli.js → server/src/cli.js} +0 -0
  187. /package/dist/{index.d.ts → server/src/index.d.ts} +0 -0
  188. /package/dist/{types → server/src/types}/index.d.ts +0 -0
  189. /package/dist/{types → server/src/types}/index.js +0 -0
  190. /package/dist/{utils → server/src/utils}/configValidator.d.ts +0 -0
  191. /package/dist/{utils → server/src/utils}/configValidator.js +0 -0
  192. /package/dist/{utils → server/src/utils}/fileManager.d.ts +0 -0
  193. /package/dist/{utils → server/src/utils}/fileManager.js +0 -0
  194. /package/dist/{utils → server/src/utils}/git.d.ts +0 -0
  195. /package/dist/{utils → server/src/utils}/git.js +0 -0
  196. /package/dist/{utils → server/src/utils}/index.d.ts +0 -0
  197. /package/dist/{utils → server/src/utils}/index.js +0 -0
  198. /package/dist/{utils → server/src/utils}/markdown.d.ts +0 -0
  199. /package/dist/{utils → server/src/utils}/markdown.js +0 -0
  200. /package/dist/{utils → server/src/utils}/slack.d.ts +0 -0
  201. /package/dist/{utils → server/src/utils}/slack.js +0 -0
  202. /package/dist/{utils → server/src/utils}/validator.d.ts +0 -0
  203. /package/dist/{utils → server/src/utils}/validator.js +0 -0
package/LICENSE ADDED
@@ -0,0 +1,26 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 foo-ogawa
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+
24
+
25
+
26
+
package/README.md CHANGED
@@ -154,13 +154,10 @@ npx mdjournal ./mdjournal.config.yaml
154
154
 
155
155
  ## [TODO]
156
156
 
157
- ### P01
158
- - [ ] @2025-01-10 !!! 重要なタスク
159
- - [*] !! 進行中のタスク
160
-
161
- ### P02
162
- - [x] 完了したタスク
163
- - [-] 保留中のタスク
157
+ - [ ] [P01] !!! 重要なタスク @2025-01-10
158
+ - [*] [P01] !! 進行中のタスク
159
+ - [x] [P02] 完了したタスク
160
+ - [-] [P02] 保留中のタスク
164
161
 
165
162
  ## [NOTE]
166
163
 
@@ -180,20 +177,26 @@ npx mdjournal ./mdjournal.config.yaml
180
177
  ### TODOの書き方
181
178
 
182
179
  ```markdown
183
- - [ ] 未着手のタスク
184
- - [*] 進行中のタスク
185
- - [x] 完了したタスク
186
- - [-] 保留中のタスク
180
+ - [{status}] [{project}] {priority}{task} @{deadline}
187
181
  ```
188
182
 
189
- #### 期日と優先度
183
+ #### ステータス
184
+
185
+ | マーク | 意味 |
186
+ |--------|------|
187
+ | `[ ]` | 未着手 |
188
+ | `[*]` | 進行中 |
189
+ | `[x]` | 完了 |
190
+ | `[-]` | 保留 |
191
+
192
+ #### 優先度と期日
190
193
 
191
194
  ```markdown
192
- - [ ] @2025-01-10 期日付きタスク
193
- - [ ] !!! 優先度:高
194
- - [ ] !! 優先度:中
195
- - [ ] ! 優先度:低
196
- - [ ] @2025-01-10 !!! 期日+優先度の組み合わせ
195
+ - [ ] [P01] !!! 優先度:高
196
+ - [ ] [P01] !! 優先度:中
197
+ - [ ] [P01] ! 優先度:低
198
+ - [ ] [P01] タスク @2025-01-10 ← 期日付き
199
+ - [ ] [P01] !!! 緊急タスク @2025-01-10 期日+優先度
197
200
  ```
198
201
 
199
202
  ---
package/dist/README.md ADDED
@@ -0,0 +1,335 @@
1
+ # mdJournal
2
+
3
+ **Markdown日報を視覚的に管理するダッシュボードアプリケーション**
4
+
5
+ [![npm version](https://img.shields.io/npm/v/mdjournal.svg)](https://www.npmjs.com/package/mdjournal)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ <p align="center">
9
+ <img src="docs/screenshot.png" alt="mdJournal Screenshot" width="800">
10
+ </p>
11
+
12
+ ## ✨ 特徴
13
+
14
+ - 📅 **カレンダービュー** - 月表示で稼働時間を可視化
15
+ - ⏱️ **タイムライン** - 計画と実績を並べて表示、ドラッグ&ドロップで編集
16
+ - ✅ **TODO管理** - プロジェクト別・ステータス別のタスク管理
17
+ - 📝 **Markdown編集** - 慣れ親しんだMarkdown形式でデータを管理
18
+ - 🔗 **外部連携** - Git commit/push、Slack投稿
19
+
20
+ ---
21
+
22
+ ## 🚀 まずは試してみる
23
+
24
+ ```bash
25
+ # サンプルデータで起動(インストール不要)
26
+ npx mdjournal
27
+
28
+ # ブラウザが自動で開きます(http://localhost:3001)
29
+ ```
30
+
31
+ これだけでサンプル日報を使ってダッシュボードを体験できます。
32
+
33
+ ---
34
+
35
+ ## 📦 セットアップ
36
+
37
+ 自分の日報を管理するためのセットアップ手順です。
38
+
39
+ ### 1. 日報用ディレクトリを作成
40
+
41
+ ```bash
42
+ mkdir my-journal
43
+ cd my-journal
44
+ ```
45
+
46
+ ### 2. 設定ファイルを作成
47
+
48
+ ```yaml
49
+ # mdjournal.config.yaml
50
+ projects: ./config/projects.yaml
51
+ routines: ./config/routines.yaml
52
+ reports: ./data
53
+
54
+ timeline:
55
+ snapMinutes: 15 # ドラッグ時のスナップ単位(分)
56
+ defaultStartHour: 8 # 表示開始時刻
57
+ defaultEndHour: 20 # 表示終了時刻
58
+
59
+ server:
60
+ port: 3001
61
+ ```
62
+
63
+ ### 3. プロジェクト定義を作成
64
+
65
+ ```yaml
66
+ # config/projects.yaml
67
+ projects:
68
+ - code: P01
69
+ name: 社内業務
70
+ color: "#52c41a"
71
+
72
+ - code: P02
73
+ name: プロジェクトA
74
+ color: "#1890ff"
75
+
76
+ - code: P03
77
+ name: プロジェクトB
78
+ color: "#722ed1"
79
+ ```
80
+
81
+ ### 4. ルーチン定義を作成(オプション)
82
+
83
+ 毎週決まった予定がある場合、ルーチンとして登録しておくと便利です。
84
+
85
+ ```yaml
86
+ # config/routines.yaml
87
+ routines:
88
+ weekly:
89
+ monday:
90
+ - time: "09:00"
91
+ project: P01
92
+ task: 週次定例会議
93
+ - time: "10:00"
94
+ project: P02
95
+ task: プロジェクトA 朝会
96
+
97
+ friday:
98
+ - time: "17:00"
99
+ project: P01
100
+ task: 週報作成
101
+ ```
102
+
103
+ ### 5. ディレクトリ構成
104
+
105
+ 最終的にこのような構成になります:
106
+
107
+ ```
108
+ my-journal/
109
+ ├── mdjournal.config.yaml # メイン設定ファイル
110
+ ├── config/
111
+ │ ├── projects.yaml # プロジェクト定義
112
+ │ └── routines.yaml # ルーチン定義
113
+ └── data/ # 日報が保存される場所
114
+ └── 2025/
115
+ └── 01/
116
+ ├── 2025-01-06.md
117
+ └── 2025-01-07.md
118
+ ```
119
+
120
+ ### 6. 起動
121
+
122
+ ```bash
123
+ npx mdjournal ./mdjournal.config.yaml
124
+ ```
125
+
126
+ 日報ファイルはダッシュボードから自動的に作成されます。
127
+
128
+ ---
129
+
130
+ ## 📝 日報の書き方
131
+
132
+ 日報は以下のようなMarkdown形式です。ダッシュボードで編集できますが、テキストエディタで直接編集することもできます。
133
+
134
+ ```markdown
135
+ # [日報] 山田太郎 2025-01-06
136
+
137
+ ## [PLAN]
138
+
139
+ * 08:30 [P01] タスク確認・朝会
140
+ * 09:00 [P02] プロジェクトA 開発
141
+ * 12:00
142
+ * 13:00 [P03] プロジェクトB MTG
143
+ * 15:00 [P02] プロジェクトA 開発
144
+ * 18:00
145
+
146
+ ## [RESULT]
147
+
148
+ * 08:30 [P01] タスク確認・朝会
149
+ * 09:00 [P02] プロジェクトA 開発
150
+ * 12:00
151
+ * 13:00 [P03] プロジェクトB MTG(延長)
152
+ * 16:00 [P02] プロジェクトA 開発
153
+ * 19:00
154
+
155
+ ## [TODO]
156
+
157
+ - [ ] [P01] !!! 重要なタスク @2025-01-10
158
+ - [*] [P01] !! 進行中のタスク
159
+ - [x] [P02] 完了したタスク
160
+ - [-] [P02] 保留中のタスク
161
+
162
+ ## [NOTE]
163
+
164
+ 本日のメモや振り返りをここに記載。
165
+ ```
166
+
167
+ ### タイムライン記法
168
+
169
+ ```
170
+ * HH:MM [プロジェクトコード] タスク内容
171
+ * HH:MM ← 終了時刻のみ(空き時間の終わり)
172
+ ```
173
+
174
+ - `[PLAN]` セクション: 予定
175
+ - `[RESULT]` セクション: 実績
176
+
177
+ ### TODOの書き方
178
+
179
+ ```markdown
180
+ - [{status}] [{project}] {priority}{task} @{deadline}
181
+ ```
182
+
183
+ #### ステータス
184
+
185
+ | マーク | 意味 |
186
+ |--------|------|
187
+ | `[ ]` | 未着手 |
188
+ | `[*]` | 進行中 |
189
+ | `[x]` | 完了 |
190
+ | `[-]` | 保留 |
191
+
192
+ #### 優先度と期日
193
+
194
+ ```markdown
195
+ - [ ] [P01] !!! 優先度:高
196
+ - [ ] [P01] !! 優先度:中
197
+ - [ ] [P01] ! 優先度:低
198
+ - [ ] [P01] タスク @2025-01-10 ← 期日付き
199
+ - [ ] [P01] !!! 緊急タスク @2025-01-10 ← 期日+優先度
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 🔗 外部連携
205
+
206
+ ### Git連携
207
+
208
+ 日報ディレクトリがGitリポジトリの場合、ダッシュボードの保存ボタンから直接commit/pushできます。
209
+
210
+ ```bash
211
+ # 日報ディレクトリをGitリポジトリ化
212
+ cd my-journal
213
+ git init
214
+ git remote add origin <your-repo-url>
215
+ ```
216
+
217
+ ### Slack連携
218
+
219
+ 日報をSlackチャンネルに投稿できます。
220
+
221
+ ```yaml
222
+ # mdjournal.config.yaml に追加
223
+ slack:
224
+ enabled: true
225
+ webhookUrl: ${SLACK_WEBHOOK_URL} # 環境変数から取得
226
+ channel: "#daily_report"
227
+ ```
228
+
229
+ 環境変数の設定:
230
+
231
+ ```bash
232
+ export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/..."
233
+ ```
234
+
235
+ ### 保存ダイアログ
236
+
237
+ 保存ボタンから開くダイアログで、保存範囲を選択できます:
238
+
239
+ 1. **保存のみ** - ローカルファイルに保存
240
+ 2. **Commitまで** - 保存 + Git commit
241
+ 3. **Pushまで** - 保存 + commit + push
242
+ 4. **Slack投稿** - 上記 + Slackに投稿(Slack連携が有効な場合)
243
+
244
+ ---
245
+
246
+ ## 🛠️ CLIコマンド
247
+
248
+ ```bash
249
+ # サーバー起動
250
+ npx mdjournal [config.yaml]
251
+
252
+ # 日報ファイルのバリデーション
253
+ npx mdjournal validate ./data
254
+ npx mdjournal validate ./data --verbose # 詳細表示
255
+ npx mdjournal validate ./data --strict # 厳格モード
256
+
257
+ # 統計情報の再集計(frontmatter更新)
258
+ npx mdjournal stats ./data
259
+ npx mdjournal stats ./data --dry-run # プレビューのみ
260
+
261
+ # 設定ファイルの検証
262
+ npx mdjournal config ./mdjournal.config.yaml
263
+ ```
264
+
265
+ ---
266
+
267
+ ## ⚙️ 設定リファレンス
268
+
269
+ ### タイムライン設定
270
+
271
+ ```yaml
272
+ timeline:
273
+ hourHeight: 60 # 1時間あたりの高さ(px)
274
+ maxHours: 36 # 最大表示時間
275
+ defaultStartHour: 8 # デフォルト開始時刻
276
+ defaultEndHour: 20 # デフォルト終了時刻
277
+ snapMinutes: 15 # スナップ単位(分)
278
+ ```
279
+
280
+ ### プロジェクト定義
281
+
282
+ ```yaml
283
+ # config/projects.yaml
284
+ projects:
285
+ - code: P01 # タイムラインで使用するコード
286
+ name: 社内業務 # 表示名
287
+ fullName: 社内管理・雑務 # フルネーム(オプション)
288
+ color: "#52c41a" # 表示色
289
+ category: internal # カテゴリID(オプション)
290
+ active: true # アクティブフラグ(デフォルト: true)
291
+
292
+ categories: # カテゴリ定義(オプション)
293
+ - id: internal
294
+ name: 社内業務
295
+ color: "#52c41a"
296
+ ```
297
+
298
+ ### ルーチン定義
299
+
300
+ ```yaml
301
+ # config/routines.yaml
302
+ routines:
303
+ # 週次ルーチン
304
+ weekly:
305
+ monday:
306
+ - time: "09:00"
307
+ project: P01
308
+ task: 週次定例
309
+
310
+ # 月次ルーチン
311
+ monthly:
312
+ start_of_month: # 月初
313
+ - project: P01
314
+ task: 経費精算
315
+ end_of_month: # 月末
316
+ - project: P01
317
+ task: 月次レポート
318
+
319
+ # 四半期ルーチン
320
+ quarterly:
321
+ - months: [3, 6, 9, 12]
322
+ tasks:
323
+ - project: P01
324
+ task: 四半期レビュー
325
+ ```
326
+
327
+ ---
328
+
329
+ ## 📄 ライセンス
330
+
331
+ MIT License
332
+
333
+ ---
334
+
335
+ **mdJournal** - Markdownで日報をもっと便利に