project-logbook 0.4.1 → 1.0.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 (146) hide show
  1. package/README.md +36 -1
  2. package/dist/commands/build.js +32 -76
  3. package/dist/commands/build.js.map +1 -0
  4. package/dist/commands/init.js +1 -0
  5. package/dist/commands/init.js.map +1 -0
  6. package/dist/commands/lint.js +7 -2
  7. package/dist/commands/lint.js.map +1 -0
  8. package/dist/commands/list.js +4 -16
  9. package/dist/commands/list.js.map +1 -0
  10. package/dist/commands/log.d.ts +1 -3
  11. package/dist/commands/log.js +4 -3
  12. package/dist/commands/log.js.map +1 -0
  13. package/dist/commands/new.js +1 -0
  14. package/dist/commands/new.js.map +1 -0
  15. package/dist/commands/preview.js +1 -0
  16. package/dist/commands/preview.js.map +1 -0
  17. package/dist/commands/release.js +1 -0
  18. package/dist/commands/release.js.map +1 -0
  19. package/dist/commands/start.d.ts +1 -1
  20. package/dist/commands/start.js +53 -12
  21. package/dist/commands/start.js.map +1 -0
  22. package/dist/commands/status.js +7 -18
  23. package/dist/commands/status.js.map +1 -0
  24. package/dist/commands/steer.js +1 -0
  25. package/dist/commands/steer.js.map +1 -0
  26. package/dist/commands/upgrade.js +1 -0
  27. package/dist/commands/upgrade.js.map +1 -0
  28. package/dist/index.js +3 -3
  29. package/dist/index.js.map +1 -0
  30. package/dist/lib/about-content.js +1 -0
  31. package/dist/lib/about-content.js.map +1 -0
  32. package/dist/lib/adr-renderer.d.ts +12 -0
  33. package/dist/lib/adr-renderer.js +53 -0
  34. package/dist/lib/adr-renderer.js.map +1 -0
  35. package/dist/lib/build-helpers.js +8 -3
  36. package/dist/lib/build-helpers.js.map +1 -0
  37. package/dist/lib/build-steps.d.ts +16 -2
  38. package/dist/lib/build-steps.js +95 -18
  39. package/dist/lib/build-steps.js.map +1 -0
  40. package/dist/lib/config.d.ts +8 -0
  41. package/dist/lib/config.js +19 -1
  42. package/dist/lib/config.js.map +1 -0
  43. package/dist/lib/entry-id.js +1 -0
  44. package/dist/lib/entry-id.js.map +1 -0
  45. package/dist/lib/entry-paths.js +1 -0
  46. package/dist/lib/entry-paths.js.map +1 -0
  47. package/dist/lib/git-helpers.d.ts +5 -16
  48. package/dist/lib/git-helpers.js +52 -78
  49. package/dist/lib/git-helpers.js.map +1 -0
  50. package/dist/lib/git-url-helpers.d.ts +16 -0
  51. package/dist/lib/git-url-helpers.js +76 -0
  52. package/dist/lib/git-url-helpers.js.map +1 -0
  53. package/dist/lib/hast-helpers.js +1 -0
  54. package/dist/lib/hast-helpers.js.map +1 -0
  55. package/dist/lib/html-attributes.js +1 -0
  56. package/dist/lib/html-attributes.js.map +1 -0
  57. package/dist/lib/html-escape.js +1 -0
  58. package/dist/lib/html-escape.js.map +1 -0
  59. package/dist/lib/image-helpers.js +20 -30
  60. package/dist/lib/image-helpers.js.map +1 -0
  61. package/dist/lib/jira-helpers.js +1 -0
  62. package/dist/lib/jira-helpers.js.map +1 -0
  63. package/dist/lib/lint-runner.js +1 -0
  64. package/dist/lib/lint-runner.js.map +1 -0
  65. package/dist/lib/lint-types.js +1 -0
  66. package/dist/lib/lint-types.js.map +1 -0
  67. package/dist/lib/lockfile.js +1 -0
  68. package/dist/lib/lockfile.js.map +1 -0
  69. package/dist/lib/logbook-client.js +1 -0
  70. package/dist/lib/logbook-client.js.map +1 -0
  71. package/dist/lib/markdown-processors.js +1 -0
  72. package/dist/lib/markdown-processors.js.map +1 -0
  73. package/dist/lib/migrations.js +1 -0
  74. package/dist/lib/migrations.js.map +1 -0
  75. package/dist/lib/package-version.js +1 -0
  76. package/dist/lib/package-version.js.map +1 -0
  77. package/dist/lib/rss.js +1 -0
  78. package/dist/lib/rss.js.map +1 -0
  79. package/dist/lib/session.js +47 -35
  80. package/dist/lib/session.js.map +1 -0
  81. package/dist/lib/styles.js +1 -0
  82. package/dist/lib/styles.js.map +1 -0
  83. package/dist/lib/template-helpers.d.ts +6 -1
  84. package/dist/lib/template-helpers.js +64 -0
  85. package/dist/lib/template-helpers.js.map +1 -0
  86. package/dist/lib/template-types.d.ts +21 -2
  87. package/dist/lib/template-types.js +1 -0
  88. package/dist/lib/template-types.js.map +1 -0
  89. package/dist/lib/templates.d.ts +7 -2
  90. package/dist/lib/templates.js +39 -26
  91. package/dist/lib/templates.js.map +1 -0
  92. package/dist/lib/theme.js +1 -0
  93. package/dist/lib/theme.js.map +1 -0
  94. package/dist/lib/url-helpers.js +1 -0
  95. package/dist/lib/url-helpers.js.map +1 -0
  96. package/dist/linters/diff-to-narrative.d.ts +2 -1
  97. package/dist/linters/diff-to-narrative.js +3 -10
  98. package/dist/linters/diff-to-narrative.js.map +1 -0
  99. package/dist/linters/frontmatter.js +1 -0
  100. package/dist/linters/frontmatter.js.map +1 -0
  101. package/dist/linters/index.js +1 -0
  102. package/dist/linters/index.js.map +1 -0
  103. package/dist/linters/jira-prefix.js +1 -0
  104. package/dist/linters/jira-prefix.js.map +1 -0
  105. package/dist/linters/links.js +26 -4
  106. package/dist/linters/links.js.map +1 -0
  107. package/dist/linters/lockfile.js +1 -0
  108. package/dist/linters/lockfile.js.map +1 -0
  109. package/dist/linters/placeholders.js +6 -4
  110. package/dist/linters/placeholders.js.map +1 -0
  111. package/dist/linters/project-integrity.js +1 -0
  112. package/dist/linters/project-integrity.js.map +1 -0
  113. package/dist/linters/readability.js +2 -3
  114. package/dist/linters/readability.js.map +1 -0
  115. package/dist/linters/technical-log.js +1 -0
  116. package/dist/linters/technical-log.js.map +1 -0
  117. package/dist/linters/workspaces.js +1 -0
  118. package/dist/linters/workspaces.js.map +1 -0
  119. package/dist/templates/index.md +2 -1
  120. package/dist/templates/styles.css +139 -32
  121. package/dist/utils/date.js +1 -0
  122. package/dist/utils/date.js.map +1 -0
  123. package/dist/utils/frontmatter.d.ts +9 -0
  124. package/dist/utils/frontmatter.js +16 -0
  125. package/dist/utils/frontmatter.js.map +1 -0
  126. package/dist/utils/fs.d.ts +10 -0
  127. package/dist/utils/fs.js +112 -0
  128. package/dist/utils/fs.js.map +1 -0
  129. package/dist/utils/id.js +1 -0
  130. package/dist/utils/id.js.map +1 -0
  131. package/dist/utils/log-timeline.d.ts +2 -1
  132. package/dist/utils/log-timeline.js +1 -0
  133. package/dist/utils/log-timeline.js.map +1 -0
  134. package/dist/utils/slug.js +1 -0
  135. package/dist/utils/slug.js.map +1 -0
  136. package/dist/utils/string.js +1 -0
  137. package/dist/utils/string.js.map +1 -0
  138. package/dist/utils/timeline-helpers.d.ts +2 -2
  139. package/dist/utils/timeline-helpers.js +5 -2
  140. package/dist/utils/timeline-helpers.js.map +1 -0
  141. package/dist/utils/validation.d.ts +5 -0
  142. package/dist/utils/validation.js +21 -0
  143. package/dist/utils/validation.js.map +1 -0
  144. package/package.json +10 -4
  145. package/src/templates/index.md +2 -1
  146. package/src/templates/styles.css +139 -32
@@ -19,10 +19,16 @@ body {
19
19
  header {
20
20
  background: var(--card-bg);
21
21
  border-bottom: 1px solid var(--border);
22
- padding: 2rem 1rem;
22
+ padding: 2rem 0 0 0;
23
23
  text-align: center;
24
24
  }
25
25
 
26
+ .header-inner {
27
+ max-width: var(--max-width);
28
+ margin: 0 auto;
29
+ padding: 0 1.5rem;
30
+ }
31
+
26
32
  header h1 {
27
33
  margin: 0;
28
34
  font-size: 2.25rem;
@@ -168,15 +174,15 @@ main {
168
174
  display: inline-flex;
169
175
  align-items: center;
170
176
  font-size: 0.8125rem;
171
- font-weight: 500;
172
177
  color: var(--primary);
173
178
  text-decoration: none;
174
- transition:
175
- color 0.2s,
176
- background 0.2s;
177
179
  background: var(--primary-soft);
178
180
  padding: 0.5rem 1rem;
179
181
  border-radius: 2rem;
182
+ font-weight: 500;
183
+ transition:
184
+ background 0.2s,
185
+ color 0.2s;
180
186
  }
181
187
 
182
188
  .back-link:hover {
@@ -184,23 +190,7 @@ main {
184
190
  color: white;
185
191
  }
186
192
 
187
- /* Action bar - Back button + tabs on same line */
188
- .action-bar {
189
- display: flex;
190
- align-items: center;
191
- justify-content: space-between;
192
- gap: 1rem;
193
- margin-bottom: 3rem;
194
- flex-wrap: wrap;
195
- }
196
-
197
- .action-tabs-wrapper {
198
- display: flex;
199
- align-items: center;
200
- gap: 1rem;
201
- flex-wrap: wrap;
202
- }
203
-
193
+ /* Jira Action Button */
204
194
  .jira-link-btn {
205
195
  display: inline-flex;
206
196
  align-items: center;
@@ -221,6 +211,48 @@ main {
221
211
  color: white;
222
212
  }
223
213
 
214
+ /* Header Navigation - Back button, tabs, and Jira link */
215
+ .header-nav {
216
+ display: grid;
217
+ grid-template-columns: 1fr auto 1fr;
218
+ align-items: center;
219
+ margin-top: 2rem;
220
+ gap: 1rem;
221
+ }
222
+
223
+ .header-nav-left {
224
+ text-align: left;
225
+ display: flex;
226
+ align-items: center;
227
+ }
228
+
229
+ .header-nav-right {
230
+ text-align: right;
231
+ display: flex;
232
+ align-items: center;
233
+ justify-content: flex-end;
234
+ }
235
+
236
+ .header-nav--center {
237
+ display: flex;
238
+ justify-content: center;
239
+ }
240
+
241
+ @media (max-width: 640px) {
242
+ .header-nav {
243
+ display: flex;
244
+ flex-direction: column;
245
+ align-items: center;
246
+ gap: 1rem;
247
+ padding-bottom: 1rem;
248
+ }
249
+ .header-nav-left,
250
+ .header-nav-right {
251
+ text-align: center;
252
+ justify-content: center;
253
+ }
254
+ }
255
+
224
256
  /* Jira link in build-meta - inline style */
225
257
  .build-meta .jira-link-btn {
226
258
  margin-left: 0.5rem;
@@ -261,21 +293,25 @@ article h1 {
261
293
 
262
294
  .tabs {
263
295
  display: flex;
264
- gap: 0.5rem;
265
- background: #f4f4f4;
266
- padding: 0.25rem;
267
- border-radius: 0.75rem;
296
+ gap: 1.5rem;
297
+ background: none;
298
+ padding: 0;
299
+ border-radius: 0;
268
300
  width: fit-content;
301
+ margin-bottom: -1px;
302
+ position: relative;
303
+ z-index: 2;
269
304
  }
270
305
 
271
306
  .tab {
272
- padding: 0.625rem 1.25rem;
273
- font-size: 0.8125rem;
307
+ padding: 0.75rem 0.25rem;
308
+ font-size: 0.875rem;
274
309
  font-weight: 600;
275
310
  color: var(--text-muted);
276
311
  cursor: pointer;
277
- border-radius: 0.5rem;
278
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
312
+ border-bottom: 2px solid transparent;
313
+ transition: all 0.2s ease;
314
+ border-radius: 0;
279
315
  }
280
316
 
281
317
  .tab:hover {
@@ -284,8 +320,9 @@ article h1 {
284
320
 
285
321
  .tab.active {
286
322
  color: var(--primary);
287
- background: white;
288
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
323
+ border-bottom-color: var(--primary);
324
+ background: none;
325
+ box-shadow: none;
289
326
  }
290
327
 
291
328
  /* Pagination Links */
@@ -504,6 +541,11 @@ footer .build-time a:hover {
504
541
  color: #374151;
505
542
  }
506
543
 
544
+ .tag-superseded {
545
+ background: #f3f4f6;
546
+ color: #4b5563;
547
+ }
548
+
507
549
  /* Timeline card tag styling */
508
550
  .timeline-card .tags-wrapper {
509
551
  margin-top: 0.5rem;
@@ -878,3 +920,68 @@ article img[src$='.svg'] {
878
920
  background-color: var(--primary-soft, #f0fdf4);
879
921
  color: var(--text-main, #1e293b);
880
922
  }
923
+
924
+ /* ADR Details and Cards */
925
+ .adr-detail-card {
926
+ max-width: var(--max-width);
927
+ margin: 0 auto;
928
+ background: var(--card-bg);
929
+ padding: 2rem;
930
+ border-radius: 0.5rem;
931
+ border: 1px solid var(--border);
932
+ }
933
+
934
+ .adr-detail-meta {
935
+ margin-bottom: 1.5rem;
936
+ font-size: 0.85rem;
937
+ color: var(--text-muted);
938
+ }
939
+
940
+ .adr-status-badge {
941
+ margin-right: 0.5rem;
942
+ text-transform: uppercase;
943
+ font-size: 0.7rem;
944
+ padding: 0.15rem 0.4rem;
945
+ }
946
+
947
+ .adr-detail-title {
948
+ font-size: 2rem;
949
+ margin-top: 0;
950
+ margin-bottom: 1.5rem;
951
+ letter-spacing: -0.025em;
952
+ font-weight: 800;
953
+ }
954
+
955
+ .adr-detail-body {
956
+ margin-top: 2rem;
957
+ }
958
+
959
+ .adr-detail-tags {
960
+ margin-top: 2rem;
961
+ border-top: 1px solid var(--border);
962
+ padding-top: 1.5rem;
963
+ }
964
+
965
+ .adr-indicator-badge {
966
+ background: #e0f2fe !important;
967
+ color: #0369a1 !important;
968
+ font-weight: bold;
969
+ }
970
+
971
+ .timeline-card--adr {
972
+ background: color-mix(in srgb, var(--primary) 4%, var(--card-bg, #ffffff)) !important;
973
+ border: 1px solid color-mix(in srgb, var(--primary) 12%, var(--border, #e5e7eb)) !important;
974
+ border-radius: 0.5rem;
975
+ }
976
+
977
+ .timeline-card--adr .item-summary {
978
+ font-style: italic;
979
+ border-left: 2px solid var(--primary);
980
+ padding-left: 0.75rem;
981
+ margin-top: 0.5rem;
982
+ color: var(--text-muted);
983
+ }
984
+
985
+ .timeline-card--adr .tags-wrapper {
986
+ margin-top: 0.5rem;
987
+ }