mdjournal 1.0.14 → 1.0.16

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/docs/index.md ADDED
@@ -0,0 +1,261 @@
1
+ # mdJournal - ドキュメント一覧
2
+
3
+ ## 📋 概要
4
+
5
+ mdJournalは、Markdown形式で管理している日報をグラフィカルに表示・編集するためのWebダッシュボードアプリケーションです。
6
+
7
+ ### 主な特徴
8
+
9
+ - 📅 カレンダー表示による予定の可視化
10
+ - ⏱️ タイムライン表示による計画・実績の管理
11
+ - ✅ TODOのプロジェクト別管理
12
+ - 📝 ビジュアル/テキストモードの切り替え編集
13
+ - 🔗 Slack、Git、Googleカレンダーとの連携
14
+ - ⚙️ カスタマイズ可能なダッシュボードレイアウト
15
+
16
+ ### 技術スタック
17
+
18
+ | レイヤー | 技術 |
19
+ |---------|------|
20
+ | フロントエンド | React 18+ |
21
+ | UIフレームワーク | Ant Design 5.x |
22
+ | バックエンド | Express.js |
23
+ | データ形式 | Markdown / YAML |
24
+
25
+ ---
26
+
27
+ ## 📚 ドキュメント一覧
28
+
29
+ ### 要求・設計仕様
30
+
31
+ | ドキュメント | 説明 |
32
+ |-------------|------|
33
+ | [requirements.md](./requirements.md) | **要求仕様書**<br>機能要件、非機能要件、API仕様、画面設計、開発フェーズ |
34
+ | [markdown-format-spec.md](./markdown-format-spec.md) | **Markdownフォーマット仕様**<br>日報ファイルの形式、セクション定義、パース規則 |
35
+ | [config-spec.md](./config-spec.md) | **設定ファイル仕様**<br>YAML設定ファイルの詳細スキーマ |
36
+ | [integration-spec.md](./integration-spec.md) | **外部連携仕様**<br>Slack、Git、Googleカレンダー連携の技術仕様 |
37
+ | [extension-spec.md](./extension-spec.md) | **拡張機能仕様**<br>TypeScriptによるユーザー拡張の実装方法 |
38
+
39
+ ### CLIツール
40
+
41
+ | コマンド | 説明 |
42
+ |---------|------|
43
+ | `npx mdjournal` | サーバー起動(サンプルデータ) |
44
+ | `npx mdjournal ./mdjournal.config.yaml` | 設定ファイルを指定して起動 |
45
+ | `npx mdjournal validate <path>` | 日報フォーマットのバリデーション |
46
+ | `npx mdjournal validate --rules` | バリデーションルール一覧 |
47
+ | `npx mdjournal stats <path>` | frontmatter(統計情報)の再集計 |
48
+ | `npx mdjournal stats <path> --dry-run` | 変更プレビュー(更新なし) |
49
+
50
+ ---
51
+
52
+ ## 🗂️ プロジェクト構成
53
+
54
+ ### mdJournal本体(npmパッケージ)
55
+
56
+ ```
57
+ mdjournal/ # npmパッケージとして公開
58
+ ├── docs/ # ドキュメント
59
+ │ ├── index.md
60
+ │ ├── requirements.md
61
+ │ ├── markdown-format-spec.md
62
+ │ ├── config-spec.md
63
+ │ ├── integration-spec.md
64
+ │ └── extension-spec.md
65
+
66
+ ├── server/ # バックエンド(Express.js)
67
+ │ ├── src/
68
+ │ │ ├── index.ts # エントリーポイント
69
+ │ │ ├── cli.ts # CLIエントリーポイント
70
+ │ │ ├── routes/ # APIルート
71
+ │ │ │ ├── reports.ts
72
+ │ │ │ ├── calendar.ts
73
+ │ │ │ ├── config.ts
74
+ │ │ │ └── gcal.ts
75
+ │ │ ├── types/ # 型定義
76
+ │ │ └── utils/
77
+ │ │ ├── markdown.ts
78
+ │ │ ├── fileManager.ts
79
+ │ │ ├── validator.ts
80
+ │ │ └── git.ts
81
+ │ ├── package.json
82
+ │ └── tsconfig.json
83
+
84
+ ├── client/ # フロントエンド(React)
85
+ │ ├── src/
86
+ │ │ ├── App.tsx
87
+ │ │ ├── components/ # UIコンポーネント
88
+ │ │ │ ├── Dashboard/
89
+ │ │ │ ├── Calendar/
90
+ │ │ │ ├── Timeline/
91
+ │ │ │ ├── Todo/
92
+ │ │ │ └── Editor/
93
+ │ │ ├── hooks/
94
+ │ │ ├── api/
95
+ │ │ ├── models/
96
+ │ │ ├── types/
97
+ │ │ └── utils/
98
+ │ ├── package.json
99
+ │ └── tsconfig.json
100
+
101
+ ├── sample/ # サンプルデータ(動作確認用)
102
+ │ ├── mdjournal.config.yaml # ルート設定ファイル
103
+ │ ├── config/
104
+ │ │ ├── projects.yaml
105
+ │ │ └── routines.yaml
106
+ │ └── reports/
107
+ │ └── 2025/12/
108
+ │ └── 2025-12-18.md
109
+
110
+ ├── package.json # ルートpackage.json
111
+ ├── .gitignore
112
+ └── README.md
113
+ ```
114
+
115
+ ### ユーザーデータリポジトリ(個人別に作成)
116
+
117
+ ```
118
+ my-journals/ # ユーザー個人のデータリポジトリ
119
+ ├── data/ # 日報ファイル(Git管理)
120
+ │ └── YYYY/MM/
121
+ │ └── YYYY-MM-DD.md
122
+
123
+ ├── config/ # 設定ファイル
124
+ │ ├── projects.yaml # プロジェクトマスタ
125
+ │ └── routines.yaml # ルーチン定義
126
+
127
+ ├── extensions/ # ユーザー拡張コード(TypeScript)
128
+ │ ├── tsconfig.json
129
+ │ ├── my-slack-extension.ts
130
+ │ └── my-attendance.ts
131
+
132
+ ├── mdjournal.config.yaml # ルート設定ファイル
133
+ ├── .env # 環境変数(APIキー等)
134
+ └── .gitignore # .envを除外
135
+ ```
136
+
137
+ ---
138
+
139
+ ## 🚀 利用方法
140
+
141
+ ### サンプルデータで試す
142
+
143
+ ```bash
144
+ # npxで直接起動(インストール不要)
145
+ npx mdjournal
146
+
147
+ # ブラウザでアクセス
148
+ open http://localhost:3001
149
+ ```
150
+
151
+ ### 個人データリポジトリで利用
152
+
153
+ ```bash
154
+ # 1. データリポジトリを作成
155
+ mkdir my-journals && cd my-journals
156
+ git init
157
+
158
+ # 2. 設定ファイル (mdjournal.config.yaml) を作成
159
+ cat > mdjournal.config.yaml << EOF
160
+ projects: ./config/projects.yaml
161
+ routines: ./config/routines.yaml
162
+ reports: ./data
163
+
164
+ timeline:
165
+ hourHeight: 60
166
+ maxHours: 36
167
+ defaultStartHour: 8
168
+ defaultEndHour: 20
169
+ snapMinutes: 15
170
+
171
+ server:
172
+ port: 3001
173
+ EOF
174
+
175
+ # 3. ダッシュボードを起動
176
+ npx mdjournal ./mdjournal.config.yaml
177
+ ```
178
+
179
+ ### 日報フォーマットのバリデーション
180
+
181
+ 既存の日報ファイルが仕様に準拠しているか検証できます。
182
+
183
+ ```bash
184
+ # ディレクトリ内の全.mdファイルを検証
185
+ npx mdjournal validate ./data
186
+
187
+ # 詳細出力(修正提案を含む)
188
+ npx mdjournal validate ./data --verbose
189
+
190
+ # 厳格モード(警告もエラーとして扱う)
191
+ npx mdjournal validate ./data --strict
192
+
193
+ # JSON形式で出力(CI/CD連携用)
194
+ npx mdjournal validate ./data --json
195
+
196
+ # 利用可能なルール一覧を表示
197
+ npx mdjournal validate --rules
198
+ ```
199
+
200
+ **検出可能な問題:**
201
+ - ヘッダー形式の不備
202
+ - 旧形式のセクション区切り線(=====)
203
+ - 旧形式の場所サブセクション(### [home])
204
+ - PLAN/RESULT項目の形式エラー
205
+ - TODO行内のインラインプロジェクトコード(旧形式)
206
+ - 括弧形式の期限(旧形式)
207
+ - ネストされたTODO(旧形式)
208
+
209
+ ### frontmatter(統計情報)の再集計
210
+
211
+ 日報ファイルにfrontmatter(統計情報)を付与または再集計できます。
212
+
213
+ ```bash
214
+ # ディレクトリ内の全.mdファイルにfrontmatterを付与・更新
215
+ npx mdjournal stats ./data
216
+
217
+ # 変更内容のプレビュー(実際には更新しない)
218
+ npx mdjournal stats ./data --dry-run
219
+
220
+ # 詳細出力
221
+ npx mdjournal stats ./data --verbose
222
+
223
+ # バリデーションを事前実行(エラーがあるファイルはスキップ)
224
+ npx mdjournal stats ./data --validate
225
+ ```
226
+
227
+ **frontmatterフィールド:**
228
+ - `planHours`: 計画時間の合計(時間)
229
+ - `resultHours`: 実績時間の合計(時間)
230
+ - `todoCount`: TODO総数
231
+ - `todoCompleted`: 完了TODO数
232
+ - `todoInProgress`: 進行中TODO数
233
+ - `projectHours`: プロジェクト別実績時間
234
+ - `updatedAt`: 最終更新日時
235
+
236
+
237
+ ---
238
+
239
+ ## 📝 更新履歴
240
+
241
+ | 日付 | バージョン | 更新内容 |
242
+ |------|-----------|---------|
243
+ | 2025-12-20 | 1.0.0 | mdJournalとして公開準備 |
244
+ | 2025-12-18 | 0.1 | 初版作成 |
245
+
246
+ ---
247
+
248
+ ## 👥 コントリビューション
249
+
250
+ 本プロジェクトへの貢献を歓迎します。
251
+
252
+ 1. Issueで機能要望やバグ報告
253
+ 2. Pull Requestでコード貢献
254
+ 3. ドキュメントの改善
255
+
256
+ ---
257
+
258
+ ## 📄 ライセンス
259
+
260
+ MIT License
261
+