Releases: igapyon/mikuproject-java
v0.8.3.4 区切りリリース
v0.8.3.3 ビルドテスト
v0.8.3.3 ビルドテスト
v0.8.3.2 リリース(ビルドテスト)
v0.8.3.2 リリース(ビルドテスト)
v0.8.3.1 リリース、Actionsの機能テスト
v0.8.3.1 リリース、Actionsの機能テスト
v0.8.3 mikuproject-java : Agent Skills 向け grouped CLI と upstream 追従
mikuproject-java 0.8.3: Agent Skills 向け grouped CLI と upstream 追従
概要
mikuproject-java のバージョンを 0.8.3 に更新し、CLI を Agent Skills から呼び出しやすい command group / named option 体系へ整理しました。
あわせて、Node.js upstream CLI との共有コマンド契約に合わせた引数・標準入出力・diagnostics 対応、AI 向け projection bundle 出力、sources jar 配布、miku ソフトウェアシリーズ設計文書の追加・更新を含みます。
主な変更
pom.xmlと CLI のバージョン表示を0.8.3に更新- CLI に
--version/versionの表示を追加 mvn packageでmikuproject-sources.jarを生成し、配布 zip に同梱- CLI の正規入口を
ai/state/validate/export/import/merge/reportの command group 体系へ整理 - workbook JSON state 起点の CLI 導線を追加・整理
state from-draftstate validatestate importstate mergestate apply-patchstate summarizestate diff
- AI 向け CLI 導線を追加・整理
ai specai detect-kindai export project-overviewai export task-editai export phase-detailai export bundleai validate-patch
ai export bundleを追加し、AI 向け projection bundle を出力可能に変更--diagnostics text|json対応を export / report / detect-kind 系に追加・補強--in -/--out -、および--in省略時の stdin 入力を共有コマンド向けに補強- binary export / report 出力で stdout 出力を扱えるように更新
- XLSX import / export / merge と report 出力を grouped command 体系へ整理
ai export phase-detailの scoped root option を--root-task-uidに更新ai export task-edit/ai export phase-detailに--selectoption を追加ai detect-kindの出力形式を kind 文字列のみへ変更- README、CLI help、runtime CLI docs のコマンド一覧と例を更新
- CLI help と README の同期テスト、決定性テスト、Node.js upstream parity テストを更新
vendor/mikuprojectを upstream 更新に追従- miku ソフトウェアシリーズの設計文書を追加・更新
- overview design
- main app design
- Java app design
- straight conversion design
- Agent Skills design
- MCP design
- 旧
docs/miku-straight-conversion-guide.mdを削除し、docs/miku-soft-30-straight-conversion-v20260425.md参照へ整理
確認情報
コミット本文に記録されている確認は次の通りです。
mvn package成功mvn test実行済みjava -jar target/mikuproject.jar --helpでai export bundleと--diagnostics text|jsonの表示を確認java -jar target/mikuproject.jar --versionの確認java -jar target/mikuproject.jar ai specの確認target/mikuproject.jarにMain-Classと AI JSON spec resource が含まれることを確認target/mikuproject-dist.zipにmikuproject.jarが含まれることを確認
miku straight conversion ガイド追加と関連設計文書の整理
miku straight conversion ガイド追加と関連設計文書の整理
概要
miku シリーズで Node.js / TypeScript 系 upstream を Java へ移す際の straight conversion migration 方針をまとめたガイドを追加しました。
あわせて、README と STEP1 初期設計メモを、現在の位置づけに合わせて更新しています。
変更内容
-
docs/miku-straight-conversion-guide.mdを新規追加- straight conversion の目的、基本姿勢、開始時チェックリスト、作業の再現手順を整理
- miku Java 版の固定前提として、source / binary
1.8compatibility、Maven、JUnit Jupiter、mvn test、single fat jar を明記 - upstream 参照方法、class / test / CLI 対応表、follow-up log、remaining items の扱いを整理
- package / class / method 命名、public facade、helper class、result object、warning、CLI diagnostics、classpath resource、archive determinism などの実務ルールを整理
- Apache POI を思いつきやすい xlsx 領域でも、必要範囲が限定される場合はスクラッチ実装を選びうる方針を明記
-
README.mdを更新- Development Docs の参照順に
docs/miku-straight-conversion-guide.mdを追加 - 同ガイドを、Java port を straight conversion first として扱う理由の文書として追加
- Development Docs の参照順に
-
docs/msprojectxml-import-design.mdを更新- STEP1 初期の import 設計メモとしての位置づけを明確化
- 現在の正本として参照すべき文書群を追加
- 既存実装済み class 群を踏まえ、未実装候補ではなく upstream 対応を追うための関連 class 群として表現を調整
-
docs/projectmodel-first-cut.mdを更新- STEP1 初期の ProjectModel 実装順序メモとしての位置づけを明確化
- 現在は主要 POJO と codec / workbook / patch / xlsx / report / AI view 連携の導線が存在する前提に更新
- 現在の正本として参照すべき文書群を追加
- 初期移植時の優先対象として読めるよう表現を調整
-
docs/projectmodel-pojo-class-plan.mdを更新- STEP1 初期の POJO class 対応設計メモとしての位置づけを明確化
- 現在の正本として参照すべき文書群を追加
候補や未確定を未実装 TODO と誤読しないよう、実装後方針への参照を追加
変更範囲
- 変更ファイル数: 5
- 追加行数: 1002
- 削除行数: 40
Project XLSX レイアウト補強と ProjectModel validation / report 回帰の整備
Project XLSX レイアウト補強と ProjectModel validation / report 回帰の整備
概要
- Project XLSX レイアウト補強と ProjectModel validation / report 回帰の整備
- Merge pull request #20 from igapyon/tiga0421hef
主な変更
Project XLSX 出力の補強
- Project XLSX 出力に sheet theme、header / section / label の色付け、editable cell styling を追加
- Project sheet に
Settingssection と merged range を追加 - Options sheet の boolean 表示を定数化し、header styling を適用
- entity sheet 出力で sheet ごとの theme を適用し、列ごとの表示形式に応じた cell style を付与
- date / duration / percent / reference / notes などの列種別に応じた表示スタイルを整理
- import 対象項目を sheet ごとに管理し、editable cell として強調
validation と warning の整備
MsProjectValidate内の重複した warning 判定を helper メソッドへ整理- task / resource / assignment の baseline / timephased data の validation を専用メソッドへ分離
- placeholder / summary / milestone を除く複数 task が、同一
start/finishかつ zero duration に潰れている場合の warning を追加
Project Patch JSON の補強
delete_assignmentoperation の dispatch と実処理を追加- assignment 削除時に
taskUidとresourceUidの change を記録 - assignment 未存在時の warning を追加
テスト強化
- Project XLSX の style、theme、Settings section、merged range、boolean data validation の確認を追加
project_draft_viewimport で task 日付未指定時に project 起点 fallback を使うケースを追加- zero duration task warning の unit test / CLI test を追加
- report bundle、report dir、standalone
wbs.xlsxの同等性確認を追加 - monthly calendar SVG について、sample / dependency / hierarchy の各 fixture で月数・ファイル名・非空を確認するテストを追加
delete_assignmentの warning / change 内容を確認するテストを追加- CLI テスト内の一時 XML 作成処理を helper 化
ドキュメント更新
TODO.md、docs/remaining-migration-items.md、docs/runtime-java-cli.md、docs/upstream-class-mapping.md、docs/upstream-followup-log.md、docs/upstream-test-mapping.mdを更新- Project XLSX layout 補強、Project Patch JSON delete 系補強、zero duration warning 方針、report 同等性回帰の確認結果を反映
validate-xmlでの zero duration warning を runtime docs に追記
補足
- 変更ファイル数: 19
- 差分統計: 1151 insertions, 389 deletions
Java CLI 配布物整備と Node upstream parity 強化
Java CLI 配布物整備と Node upstream parity 強化
Release Body
概要
Java CLI の配布成果物を固定し、CLI / workbook / report / SVG / XLSX 出力の実用性と Node upstream 追従性を強化しました。
主な内容は、fat jar / dist.zip の生成、CLI command と batch command の拡充、workbook import/export の編集対象拡張、AI JSON 仕様 Markdown の JAR 内リソース化、SVG タイムライン基準日の修正、WBS SVG / WBS XLSX / report ZIP / OOXML の Node upstream parity 強化です。
主な変更
Java CLI 配布物
mvn packageで runtime 用の単一 fat jar を生成するように変更target/mikuproject.jar
- 配布用 zip を生成するように変更
target/mikuproject-dist.zip
target/mikuproject-dist.zipに以下を同梱mikuproject.jarREADME.mdLICENSEdocs/runtime-java-cli.md
- Java CLI の正規実行経路を
java -jar <bundled-jar>として文書化
CLI / batch command
- CLI entrypoint を主要 Java runtime 機能へ拡張
- report / workbook / patch / AI JSON / XLSX 系の batch command を追加・整理
- usage error / command failed / I/O error の出力方針を整理
- README の CLI command 一覧を更新
- CLI test を拡充し、未知 command、usage error、batch command の pair 不整合などを確認
workbook import/export
- workbook JSON / XLSX の編集対象列を拡張
Tasksに以下の export / import / merge 対応を追加TypePriorityConstraintTypeConstraintDateDeadline
Resourcesに以下の export / import / merge 対応を追加CostActualCostRemainingCostPercentWorkCompleteWorkGroupStandardRateFormatOvertimeRateFormat
Assignmentsに以下の export / import / merge 対応を追加StartVarianceFinishVarianceDelayMilestoneWorkContourCostActualCostRemainingCostOvertimeWorkActualOvertimeWork
- assignment の日時更新用処理を追加
- calendar 系の真偽値列取り込み確認を追加
Calendars.IsBaseCalendarNonWorkingDays.DayWorking
AI JSON 仕様 Markdown
CoreApiAiJson#getAiJsonSpecText()を classpath / JAR 内リソース読み込みに変更- 実行時に
vendor/mikuproject/docs/mikuproject-ai-json-spec.mdを相対パスで直接読まないように変更 - Maven の
process-resourcesで AI JSON 仕様 Markdown を classpath へコピー export-ai-json-specが working directory にvendor/...を持たない状態でも動くことを確認する CLI test を追加
SVG / report 出力
- daily / weekly SVG のタイムライン基準日を、固定日付ではなくモデル内の最初の task 開始日に基づくように変更
- サンプル月以外の日付を持つ task が SVG viewBox 外へ配置される問題を修正
- daily / weekly / monthly SVG の日付軸、背景、bar、milestone、summary、月次カレンダー構造を Node upstream に近づける修正を追加
- weekly SVG の viewport trim、label placement、dependency connector routing を補強
- report bundle の entry 順を Node upstream に合わせて変更
wbs.xlsxwbs.mdmermaid.mmddaily.svgweekly.svgmonthly-calendar/*.svg
XLSX / OOXML
- report / CLI / Core API の主要導線を、独自 workbook byte 形式から実 OOXML ZIP 出力へ切り替え
- deterministic stored ZIP writer を追加
- report bundle / monthly SVG ZIP / OOXML workbook ZIP の決定性を強化
- XLSX style 生成を、固定 style から動的 style book 生成へ拡張
- fill
- alignment
- number format
- wrap
- border
- worksheet の data validation build / parse を追加
- trailing empty cell 保持を追加
XlsxCellLikeにformulaを追加XlsxSheetLikeにfreezePaneを追加XlsxFreezePaneLikeを追加- worksheet XML の build / parse で formula cell と freeze pane を扱うように変更
- inline string の
xml:space、空セル、数値表現、worksheet XML 整形を調整 - package XML の出力整形を調整
WBS XLSX
- WBS 表示で
WBSが空の場合にOutlineNumberを使うよう修正 - row height、hidden columns、date band、progress band、legend / summary、predecessor 表示、calendar 表示を Node upstream に近づける修正を追加
- UID / ID / WBS / outline level 用の identifier cell を追加
- task label に summary / milestone / task の prefix と outline level に応じた indent を反映
- progress / detail / task cell の wrap や null 表現を調整
- header / title / legend / reference cell の style を upstream 寄りに調整
Project XLSX
- Project / Tasks / Resources / Assignments / Calendars / NonWorkingDays / Options sheet の列幅を追加
- boolean 入力用の data validation を追加
- Options sheet を
BooleanChoice/Meaning形式へ変更 - Project sheet の
ScheduleFromStartに boolean data validation を追加 - Project XLSX のテストで列幅、data validation、Options sheet の内容を確認
Patch JSON
delete_resource/delete_calendarで、削除拒否時の blocker 情報を warning に含めるよう改善
Node upstream parity / テスト
- Java CLI 出力の決定性を確認するテストを追加
- Node upstream の report directory と byte 比較する opt-in テストを追加
- Node upstream report directory 生成用のテストスクリプトを追加
- Node upstream report bundle ZIP 生成用のテストスクリプトを追加
- Node upstream monthly SVG ZIP 生成用のテストスクリプトを追加
MikuprojectNodeParityTestに以下を追加- report directory の byte-level parity
- report bundle ZIP の byte-level parity
- monthly SVG ZIP の byte-level parity
ExcelIoTestに formula / freezePane の OOXML package export / import 確認を追加ProjectXlsxTestに Project XLSX の列幅、boolean data validation、Options sheet の確認を追加
ドキュメント
README.mdを更新- Java CLI の配布成果物を明記
- CLI command 一覧を更新
- Development Docs の導線を追加
- Java 版の現在地を
coreとCLI / reportに分けて整理
docs/runtime-java-cli.mdを追加- runtime 配布物
- dist.zip の内容
- 正規実行経路
- CLI 利用前提
- AI JSON 仕様 Markdown の JAR 内リソース化
- report SVG の注意点
docs/development.mdを更新- focused test command
- upstream 追随時の確認フロー
- docs-only 更新時の運用メモ
docs/remaining-migration-items.mdを更新- Java 版の現在地、残件、保守フェーズの論点を整理
docs/upstream-class-mapping.md,docs/upstream-test-mapping.md,docs/upstream-followup-log.mdを追加・更新- upstream file と Java class / test の対応
- upstream 追随時の確認単位
- report / workbook / import / AI view などの follow-up 記録
TODO.mdを整理- Java 版と upstream 側 TODO の役割を分離
- straight conversion が薄い箇所と byte-level parity 方針を整理
- 再開ポイントを追加
vendor/mikuproject/docs/配下に workbook / calendar / report / regression plan 関連文書を追加・更新
確認状況
確認状況は以下です。
mvn package -DskipTests- 実行済み
target/mikuproject.jarとtarget/mikuproject-dist.zipの生成確認済み
mvn test- セッション内で成功確認済み
mvn package- TODO 上で通過済みとして記録
- opt-in Node parity
- TODO 上で通過済みとして記録
dependency.xmlの report directory / report bundle ZIP / monthly SVG ZIP- Node upstream と byte-level parity 済みとして記録
注意点
- Node upstream 比較テストは opt-in です。
- Node upstream 比較には以下が必要です。
MIKUPROJECT_RUN_NODE_PARITY=truevendor/mikuproject/node_modules
既知の残課題
ProjectXlsxExport*の editable cell styling- sheet theme
- Project sheet の Settings section / merged range
projectpatchjsonの warning / blocker details の upstream 構造比較- 各 report の option 契約と比較粒度をどこまで細かく保守するか
Java CLI の拡張と移植状況メモの保守フェーズ整理
Java CLI の拡張と移植状況メモの保守フェーズ整理
概要
Java 版 mikuproject の CLI を大きく拡張し、report / workbook / AI view の出力・batch 処理と比較テストを強化しました。あわせて、移植状況メモを「残作業一覧」中心ではなく、「移植完了寄りの現在地と保守フェーズの論点」を示す形へ整理しています。
主な変更
- Java CLI entry point を追加・拡張
- XML validate
- Mermaid / WBS Markdown / SVG / monthly SVG zip export
- report bundle / report directory export
- WBS xlsx / workbook JSON / xlsx export
project_overview_view/phase_detail_view/task_edit_view/project_draft_requestexport- workbook JSON / patch JSON validate / import / merge / apply
- AI JSON spec / kind / import
- external import
- Java CLI 独自拡張として、複数入力を扱う
*-batchcommand を追加 - report / SVG / WBS xlsx で option 伝播を整理
- WBS display range / progress / holiday option
- SVG holiday / label option
- report bundle / report directory への option 反映
- report / workbook / import / WBS 出力まわりの比較テストを追加・拡張
docs/remaining-migration-items.mdを、移植完了・保守フェーズ寄りの表現へ整理
ドキュメント
README.md- CLI command 一覧を更新
docs/upstream-class-mapping.md- 現在地に合う形へ更新
docs/upstream-test-mapping.md- CLI / fixture / workbook / report / WBS まわりのテスト対応を反映
docs/remaining-migration-items.md- 進捗目安を
98%前後に更新 - Java CLI 独自の
*-batch拡張を明記 - 文書全体を保守フェーズ前提の構成へ整理
- 進捗目安を
補足
- Web UI / browser main 系は Java 版の移植対象外です
- Java CLI の
*-batchは upstream にそのままあった機能ではなく、CLI 利便性向上のための後付け拡張です
確認状況
mvn test: 実行済み- 結果:
Tests run: 106, Failures: 0, Errors: 0, Skipped: 0
mikuproject-java 初回リリース(開発途中)
mikuproject-java 初回リリース(開発途中)
概要
mikuproject の Java 版として、初回リリースを公開します。
このリリースでは、Node.js upstream の思想を引き継ぎつつ、Java 1.8 / Maven 前提の移植を進めた成果を含みます。今回の移植範囲には Web UI は含めず、内部モデル、MS Project XML、patch / workbook / report 系、関連テストを中心に構成しています。
含まれるもの
ProjectModel系 POJOMS Project XML- import / export
- normalize
- validate
- default calendar 補完
msproject周辺機能- samples
- CSV
- Mermaid
- AI views
project-patch-json*project-workbook-json*project-xlsx*excel-io*core-api*wbs-markdownwbs-svgwbs-xlsx
方針
- Java package は
jp.igapyon.mikuproject - Java 1.8 をターゲット
- upstream の file / class / method 対応を追いやすい構成を重視
- Web UI / browser main 系は移植対象外
- CLI が必要な方向性を前提とするが、CLI 自体の扱いは要確認
現在の状況
MS Project XML STEP1: およそ95%前後- upstream 全体移植: およそ
83%前後
これは厳密な工数比ではなく、upstream file 群と Java 側の現在実装範囲から見た概算です。
確認状況
mvn test実行済み- 結果:
Tests run: 78, Failures: 0, Errors: 0, Skipped: 0
未完了・今後の対象
wbs-svg-axis.tswbs-svg-public.tsWeb UI / browser main 系- ただし、Java 版では移植対象外
補足
- upstream との対応関係は
docs/upstream-class-mapping.mdとdocs/upstream-test-mapping.mdに整理済み - 未着手項目は
docs/remaining-migration-items.mdに整理済み