@refrakt-md/plan 0.9.5 → 0.9.6

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 (81) hide show
  1. package/dist/cli-plugin.d.ts.map +1 -1
  2. package/dist/cli-plugin.js +54 -0
  3. package/dist/cli-plugin.js.map +1 -1
  4. package/dist/commands/build.d.ts.map +1 -1
  5. package/dist/commands/build.js +13 -0
  6. package/dist/commands/build.js.map +1 -1
  7. package/dist/commands/history.d.ts +21 -0
  8. package/dist/commands/history.d.ts.map +1 -0
  9. package/dist/commands/history.js +261 -0
  10. package/dist/commands/history.js.map +1 -0
  11. package/dist/commands/next.d.ts.map +1 -1
  12. package/dist/commands/next.js +22 -6
  13. package/dist/commands/next.js.map +1 -1
  14. package/dist/commands/plan-behaviors.js +2 -1
  15. package/dist/commands/plan-behaviors.js.map +1 -1
  16. package/dist/commands/render-pipeline.d.ts.map +1 -1
  17. package/dist/commands/render-pipeline.js +148 -128
  18. package/dist/commands/render-pipeline.js.map +1 -1
  19. package/dist/commands/serve.d.ts.map +1 -1
  20. package/dist/commands/serve.js +54 -0
  21. package/dist/commands/serve.js.map +1 -1
  22. package/dist/commands/templates.js +4 -4
  23. package/dist/commands/templates.js.map +1 -1
  24. package/dist/commands/update.d.ts.map +1 -1
  25. package/dist/commands/update.js +39 -11
  26. package/dist/commands/update.js.map +1 -1
  27. package/dist/commands/validate.d.ts.map +1 -1
  28. package/dist/commands/validate.js +119 -1
  29. package/dist/commands/validate.js.map +1 -1
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +86 -23
  32. package/dist/config.js.map +1 -1
  33. package/dist/entity-tabs-behavior.d.ts +13 -0
  34. package/dist/entity-tabs-behavior.d.ts.map +1 -0
  35. package/dist/entity-tabs-behavior.js +94 -0
  36. package/dist/entity-tabs-behavior.js.map +1 -0
  37. package/dist/history.d.ts +121 -0
  38. package/dist/history.d.ts.map +1 -0
  39. package/dist/history.js +417 -0
  40. package/dist/history.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +11 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/pipeline.d.ts +10 -1
  46. package/dist/pipeline.d.ts.map +1 -1
  47. package/dist/pipeline.js +563 -47
  48. package/dist/pipeline.js.map +1 -1
  49. package/dist/scanner.d.ts +10 -2
  50. package/dist/scanner.d.ts.map +1 -1
  51. package/dist/scanner.js +112 -4
  52. package/dist/scanner.js.map +1 -1
  53. package/dist/tags/bug.d.ts.map +1 -1
  54. package/dist/tags/bug.js +22 -1
  55. package/dist/tags/bug.js.map +1 -1
  56. package/dist/tags/decision.d.ts.map +1 -1
  57. package/dist/tags/decision.js +23 -1
  58. package/dist/tags/decision.js.map +1 -1
  59. package/dist/tags/milestone.d.ts.map +1 -1
  60. package/dist/tags/milestone.js +7 -4
  61. package/dist/tags/milestone.js.map +1 -1
  62. package/dist/tags/plan-history.d.ts +4 -0
  63. package/dist/tags/plan-history.d.ts.map +1 -0
  64. package/dist/tags/plan-history.js +46 -0
  65. package/dist/tags/plan-history.js.map +1 -0
  66. package/dist/tags/spec.d.ts.map +1 -1
  67. package/dist/tags/spec.js +4 -5
  68. package/dist/tags/spec.js.map +1 -1
  69. package/dist/tags/work.d.ts.map +1 -1
  70. package/dist/tags/work.js +28 -7
  71. package/dist/tags/work.js.map +1 -1
  72. package/dist/types.d.ts +20 -0
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/util.d.ts +2 -0
  75. package/dist/util.d.ts.map +1 -1
  76. package/dist/util.js +10 -0
  77. package/dist/util.js.map +1 -1
  78. package/package.json +10 -9
  79. package/styles/default.css +0 -586
  80. package/styles/minimal.css +0 -386
  81. package/styles/tokens.css +0 -13
@@ -1,386 +0,0 @@
1
- /* ==========================================================================
2
- Plan Dashboard — Minimal Theme
3
- Clean typography, no color badges, print-friendly
4
- ========================================================================== */
5
-
6
- :root {
7
- --plan-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
8
- --plan-font-mono: ui-monospace, "Cascadia Code", "Fira Code", monospace;
9
- --plan-font-size-sm: 0.8125rem;
10
- --plan-font-size-base: 0.9375rem;
11
- --plan-font-size-lg: 1.125rem;
12
- --plan-font-size-xl: 1.5rem;
13
- --plan-line-height: 1.6;
14
- --plan-color-text: #212529;
15
- --plan-color-text-muted: #6c757d;
16
- --plan-color-border: #dee2e6;
17
- }
18
-
19
- /* --------------------------------------------------------------------------
20
- Entity cards — borders only, no shadows
21
- -------------------------------------------------------------------------- */
22
-
23
- .rf-spec,
24
- .rf-work,
25
- .rf-bug,
26
- .rf-decision,
27
- .rf-milestone {
28
- border: 1px solid var(--plan-color-border);
29
- padding: 1.5rem;
30
- margin-block-end: 1.5rem;
31
- page-break-inside: avoid;
32
- }
33
-
34
- /* --------------------------------------------------------------------------
35
- Headers — inline, no colored backgrounds
36
- -------------------------------------------------------------------------- */
37
-
38
- .rf-spec__header,
39
- .rf-work__header,
40
- .rf-bug__header,
41
- .rf-decision__header,
42
- .rf-milestone__header {
43
- display: flex;
44
- flex-wrap: wrap;
45
- gap: 0.75rem;
46
- align-items: baseline;
47
- margin-block-end: 1rem;
48
- padding-block-end: 0.75rem;
49
- border-block-end: 1px solid var(--plan-color-border);
50
- }
51
-
52
- /* --------------------------------------------------------------------------
53
- Body content
54
- -------------------------------------------------------------------------- */
55
-
56
- .rf-spec__body,
57
- .rf-work__body,
58
- .rf-bug__body,
59
- .rf-decision__body,
60
- .rf-milestone__body {
61
- font-family: var(--plan-font-sans);
62
- font-size: var(--plan-font-size-base);
63
- line-height: var(--plan-line-height);
64
- color: var(--plan-color-text);
65
- }
66
-
67
- .rf-spec__body h1,
68
- .rf-work__body h1,
69
- .rf-bug__body h1,
70
- .rf-decision__body h1,
71
- .rf-milestone__body h1 {
72
- font-size: var(--plan-font-size-xl);
73
- margin-block: 0 1rem;
74
- }
75
-
76
- .rf-spec__body h2,
77
- .rf-work__body h2,
78
- .rf-bug__body h2,
79
- .rf-decision__body h2,
80
- .rf-milestone__body h2 {
81
- font-size: var(--plan-font-size-lg);
82
- margin-block: 1.5rem 0.5rem;
83
- border-block-end: 1px solid var(--plan-color-border);
84
- padding-block-end: 0.25rem;
85
- }
86
-
87
- /* --------------------------------------------------------------------------
88
- Layout — simple single column
89
- -------------------------------------------------------------------------- */
90
-
91
- .rf-plan-dashboard {
92
- max-width: 48rem;
93
- margin: 0 auto;
94
- padding: 2rem 1rem;
95
- }
96
-
97
- .rf-plan-dashboard__section-title {
98
- font-family: var(--plan-font-sans);
99
- font-size: var(--plan-font-size-lg);
100
- font-weight: 600;
101
- margin-block-end: 1rem;
102
- border-block-end: 2px solid var(--plan-color-text);
103
- padding-block-end: 0.25rem;
104
- }
105
-
106
- /* No sidebar in minimal */
107
- .rf-plan-sidebar { display: none; }
108
- .rf-plan-main { margin-inline-start: 0; padding: 2rem 1rem; max-width: 48rem; margin-inline: auto; }
109
-
110
- /* Cross-reference links — plain */
111
- .rf-plan-ref {
112
- font-family: var(--plan-font-mono);
113
- font-size: var(--plan-font-size-sm);
114
- color: var(--plan-color-text);
115
- text-decoration: underline;
116
- }
117
-
118
- .rf-plan-ref::before { display: none; }
119
-
120
- /* Progress bar — simple */
121
- .rf-plan-progress { display: flex; align-items: center; gap: 0.5rem; margin-block: 0.5rem; }
122
- .rf-plan-progress__bar { flex: 1; height: 0.375rem; background: #e9ecef; overflow: hidden; }
123
- .rf-plan-progress__fill { height: 100%; background: var(--plan-color-text-muted); }
124
- .rf-plan-progress__label { font-size: var(--plan-font-size-sm); font-family: var(--plan-font-mono); color: var(--plan-color-text-muted); }
125
-
126
- /* --------------------------------------------------------------------------
127
- Backlog — minimal
128
- -------------------------------------------------------------------------- */
129
-
130
- .rf-backlog {
131
- margin-block-end: 1.5rem;
132
- }
133
- .rf-backlog__group {
134
- margin-bottom: 1.5rem;
135
- }
136
- .rf-backlog__group-title {
137
- font-size: var(--plan-font-size-sm);
138
- font-weight: 700;
139
- text-transform: uppercase;
140
- letter-spacing: 0.05em;
141
- color: var(--plan-color-text-muted);
142
- margin: 0 0 0.5rem;
143
- padding-bottom: 0.25rem;
144
- border-bottom: 1px solid var(--plan-color-border);
145
- }
146
- .rf-backlog__card {
147
- padding: 0.5rem 0;
148
- border-bottom: 1px solid var(--plan-color-border);
149
- }
150
- .rf-backlog__card:last-child {
151
- border-bottom: none;
152
- }
153
- /* Header: ID left, status + progress right */
154
- .rf-backlog__card [data-section="header"] {
155
- display: flex;
156
- align-items: baseline;
157
- justify-content: space-between;
158
- gap: 0.5rem;
159
- }
160
- .rf-backlog__card-header-left,
161
- .rf-backlog__card-header-right {
162
- display: inline-flex;
163
- align-items: baseline;
164
- gap: 0.5rem;
165
- }
166
- .rf-backlog__card [data-section="header"] [data-meta-type] {
167
- border: none;
168
- padding: 0;
169
- border-radius: 0;
170
- font-size: var(--plan-font-size-sm);
171
- color: var(--plan-color-text-muted);
172
- }
173
- .rf-backlog__card [data-section="header"] [data-meta-type="id"] {
174
- font-weight: 700;
175
- color: var(--plan-color-text);
176
- }
177
- .rf-backlog__card [data-section="header"] [data-meta-sentiment]::before {
178
- display: none;
179
- }
180
- /* Title */
181
- .rf-backlog__card [data-section="title"] {
182
- font-size: var(--plan-font-size-base);
183
- font-weight: 500;
184
- color: var(--plan-color-text);
185
- }
186
- /* Footer pills */
187
- .rf-backlog__card [data-section="footer"] {
188
- display: flex;
189
- flex-wrap: wrap;
190
- align-items: baseline;
191
- gap: 0.375rem;
192
- }
193
- .rf-backlog__card [data-section="footer"] [data-meta-type] {
194
- font-size: var(--plan-font-size-sm);
195
- color: var(--plan-color-text-muted);
196
- opacity: 1;
197
- }
198
- .rf-backlog__card-progress {
199
- font-family: var(--plan-font-mono);
200
- font-size: var(--plan-font-size-sm);
201
- color: var(--plan-color-text-muted);
202
- }
203
-
204
- /* --------------------------------------------------------------------------
205
- Decision Log — minimal
206
- -------------------------------------------------------------------------- */
207
-
208
- .rf-decision-log {
209
- margin-block-end: 1.5rem;
210
- }
211
- .rf-decision-log__list {
212
- list-style: none;
213
- padding: 0;
214
- margin: 0;
215
- }
216
- .rf-decision-log__entry {
217
- display: flex;
218
- align-items: baseline;
219
- gap: 0.5rem;
220
- padding: 0.375rem 0;
221
- border-bottom: 1px solid var(--plan-color-border);
222
- }
223
- .rf-decision-log__entry:last-child {
224
- border-bottom: none;
225
- }
226
- .rf-decision-log__date {
227
- font-family: var(--plan-font-mono);
228
- font-size: var(--plan-font-size-sm);
229
- color: var(--plan-color-text-muted);
230
- min-width: 6.5rem;
231
- flex-shrink: 0;
232
- }
233
- .rf-decision-log__id {
234
- font-family: var(--plan-font-mono);
235
- font-size: var(--plan-font-size-sm);
236
- font-weight: 700;
237
- color: var(--plan-color-text);
238
- }
239
- .rf-decision-log__status {
240
- font-size: var(--plan-font-size-sm);
241
- color: var(--plan-color-text-muted);
242
- text-transform: capitalize;
243
- }
244
- .rf-decision-log__status::before { content: '— '; }
245
- .rf-decision-log__title {
246
- font-size: var(--plan-font-size-base);
247
- font-weight: 500;
248
- color: var(--plan-color-text);
249
- flex: 1;
250
- min-width: 0;
251
- }
252
- .rf-decision-log__entry[data-status="superseded"] .rf-decision-log__title,
253
- .rf-decision-log__entry[data-status="deprecated"] .rf-decision-log__title {
254
- color: var(--plan-color-text-muted);
255
- text-decoration: line-through;
256
- }
257
-
258
- /* --------------------------------------------------------------------------
259
- Milestone Auto-Backlog
260
- -------------------------------------------------------------------------- */
261
-
262
- .rf-milestone__backlog {
263
- margin-block-start: 1.5rem;
264
- padding-block-start: 1rem;
265
- border-block-start: 1px solid var(--plan-color-border);
266
- }
267
- .rf-milestone__tabs {
268
- display: flex;
269
- border-bottom: 1px solid var(--plan-color-border);
270
- overflow-x: auto;
271
- margin-bottom: 0;
272
- }
273
- .rf-milestone__tab {
274
- flex: 0 0 auto;
275
- padding: 0.375rem 0.75rem;
276
- font-size: var(--plan-font-size-sm);
277
- font-weight: 500;
278
- color: var(--plan-color-text-muted);
279
- background: none;
280
- border: none;
281
- border-bottom: 2px solid transparent;
282
- cursor: pointer;
283
- white-space: nowrap;
284
- font-family: var(--plan-font-sans);
285
- text-transform: uppercase;
286
- letter-spacing: 0.05em;
287
- }
288
- .rf-milestone__tab:hover {
289
- color: var(--plan-color-text);
290
- }
291
- .rf-milestone__tab--active {
292
- color: var(--plan-color-text);
293
- border-bottom-color: var(--plan-color-text);
294
- font-weight: 700;
295
- }
296
- .rf-milestone__panels {
297
- padding: 0;
298
- margin: 0;
299
- }
300
- .rf-milestone__panel {
301
- padding-top: 0.5rem;
302
- }
303
- .rf-milestone__backlog-group {
304
- margin-block-end: 1rem;
305
- }
306
- .rf-milestone__backlog-group-label {
307
- font-size: var(--plan-font-size-sm);
308
- font-weight: 700;
309
- text-transform: uppercase;
310
- letter-spacing: 0.05em;
311
- color: var(--plan-color-text-muted);
312
- margin: 0 0 0.5rem;
313
- padding-block-end: 0.25rem;
314
- border-block-end: 1px solid var(--plan-color-border);
315
- }
316
- .rf-milestone__progress {
317
- display: flex;
318
- align-items: center;
319
- gap: 0.5rem;
320
- margin-block-end: 1rem;
321
- }
322
- .rf-milestone__progress-label {
323
- font-size: var(--plan-font-size-sm);
324
- font-family: var(--plan-font-mono);
325
- color: var(--plan-color-text-muted);
326
- white-space: nowrap;
327
- }
328
- .rf-milestone__progress-bar {
329
- flex: 1;
330
- height: 0.375rem;
331
- background: #e9ecef;
332
- overflow: hidden;
333
- }
334
- .rf-milestone__progress-bar::after {
335
- content: '';
336
- display: block;
337
- height: 100%;
338
- width: var(--rf-progress, 0%);
339
- background: var(--plan-color-text-muted);
340
- }
341
-
342
- /* --------------------------------------------------------------------------
343
- Print styles
344
- -------------------------------------------------------------------------- */
345
-
346
- @media print {
347
- .rf-plan-sidebar { display: none; }
348
- .rf-plan-main { margin: 0; padding: 0; }
349
-
350
- .rf-spec,
351
- .rf-work,
352
- .rf-bug,
353
- .rf-decision,
354
- .rf-milestone {
355
- box-shadow: none;
356
- border: 1px solid #ccc;
357
- page-break-inside: avoid;
358
- }
359
-
360
- .rf-codeblock__copy { display: none; }
361
- }
362
-
363
- /* Copy-to-clipboard */
364
-
365
- .rf-codeblock__copy {
366
- position: absolute;
367
- top: 0.25rem;
368
- right: 0.25rem;
369
- display: flex;
370
- align-items: center;
371
- justify-content: center;
372
- width: 2rem;
373
- height: 2rem;
374
- padding: 0;
375
- border: 1px solid #ddd;
376
- border-radius: 4px;
377
- background: #fff;
378
- color: #666;
379
- cursor: pointer;
380
- opacity: 0;
381
- transition: opacity 0.15s ease;
382
- }
383
-
384
- .rf-codeblock:hover .rf-codeblock__copy { opacity: 1; }
385
- .rf-codeblock__copy:hover { color: #333; border-color: #999; }
386
- .rf-codeblock__copy--copied { color: #22863a; border-color: #22863a; }
package/styles/tokens.css DELETED
@@ -1,13 +0,0 @@
1
- /* Plan CLI shell tokens
2
- *
3
- * Shell-specific custom properties for the plan CLI layout (sidebar, dashboard,
4
- * TOC, cross-references). Rune styling is handled entirely by the active theme
5
- * (Lumina by default).
6
- *
7
- * All values reference --rf-* tokens when a refrakt theme is active, with
8
- * fallback values for standalone use.
9
- */
10
- :root {
11
- /* Sidebar */
12
- --plan-sidebar-width: 16rem;
13
- }