refactor(packages): extract boulder-state package

This commit is contained in:
YeonGyu-Kim
2026-05-21 01:19:16 +09:00
parent 7028c1f40a
commit f7ceb03efe
24 changed files with 1228 additions and 1177 deletions
+12
View File
@@ -0,0 +1,12 @@
169 packages/boulder-state/src/storage/write-state.ts
147 packages/boulder-state/src/storage/task.ts
141 packages/boulder-state/src/storage/read-state.ts
88 packages/boulder-state/src/storage/plan-progress.ts
79 packages/boulder-state/src/storage/session.ts
74 packages/boulder-state/src/storage/shared.ts
73 packages/boulder-state/src/types.ts
57 packages/boulder-state/src/top-level-task.ts
42 packages/boulder-state/src/index.ts
34 packages/boulder-state/src/storage/path.ts
15 packages/boulder-state/src/storage/index.ts
6 packages/boulder-state/src/constants.ts
+3
View File
@@ -0,0 +1,3 @@
grep pattern: OpenCode
scope: packages/boulder-state/src/**/*.ts
result: no matches
File diff suppressed because one or more lines are too long
@@ -8,3 +8,12 @@ Net effect: utils package ships 12 files instead of 13.
Choice: Option A
Reason: Small call-site surface; keeps full jsonc-parser API together in the new package and avoids split ownership.
Call sites changed: src/plugin-config.ts, src/cli/config-manager/config-context.ts, src/cli/doctor/checks/config.ts, src/cli/doctor/checks/model-resolution-config.ts, src/cli/doctor/checks/team-mode.ts, src/cli/doctor/checks/tools-lsp.ts, src/shared/project-discovery-dirs.ts, packages/utils/src/jsonc-parser.test.ts, packages/utils/src/jsonc-parser.memoization.test.ts
## [2026-05-21T02:05:00Z] Task 9 (worktree)
storage.ts split plan (from 977 LOC monolith):
- `storage/shared.ts`: constants, timestamp/parsing helpers, mirror<->work projection, state normalization.
- `storage/read.ts`: path resolution, file read/parse, plan discovery/progress parsing, read-only selectors.
- `storage/write.ts`: persist/clear, create state/work IDs, active work selection, work lifecycle updates.
- `storage/session.ts`: session-id tracking append logic (global + per-work).
- `storage/task.ts`: task-session CRUD and timer transitions.
- `storage/index.ts`: public API barrel with explicit named exports (no wildcard export).