heyiam 0.2.5 → 0.2.7

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.
@@ -0,0 +1,569 @@
1
+ /* heyi.am — Render Template Styles
2
+ * Self-contained stylesheet for project + session pages.
3
+ * Used in: HTML export (inlined), preview (inlined), Phoenix (linked).
4
+ * No Tailwind, no external dependencies.
5
+ */
6
+
7
+ /* ── Reset ── */
8
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
9
+
10
+ /* ── Design Tokens ── */
11
+ :root {
12
+ --surface: #f8f9fb;
13
+ --surface-low: #f3f4f6;
14
+ --surface-lowest: #ffffff;
15
+ --surface-high: #e7e8ea;
16
+ --on-surface: #191c1e;
17
+ --on-surface-variant: #6b7280;
18
+ --outline: #c2c7d0;
19
+ --ghost: rgba(194, 199, 208, 0.15);
20
+ --primary: #084471;
21
+ --primary-hover: #0a5a96;
22
+ --on-primary: #ffffff;
23
+ --green: #006a61;
24
+ --green-bg: #e6f5f3;
25
+ --violet: #6d28d9;
26
+ --violet-bg: #ede9fe;
27
+ --error: #ba1a1a;
28
+
29
+ --font-display: 'Space Grotesk', sans-serif;
30
+ --font-body: 'Inter', sans-serif;
31
+ --font-mono: 'IBM Plex Mono', monospace;
32
+
33
+ --radius-sm: 0.25rem;
34
+ --radius-md: 0.375rem;
35
+ }
36
+
37
+ body {
38
+ font-family: var(--font-body);
39
+ color: var(--on-surface);
40
+ background: var(--surface);
41
+ line-height: 1.5;
42
+ -webkit-font-smoothing: antialiased;
43
+ }
44
+
45
+ a { color: var(--primary); text-decoration: none; }
46
+ a:hover { text-decoration: underline; }
47
+
48
+ /* ── Shared Components ── */
49
+
50
+ .card {
51
+ background: var(--surface-lowest);
52
+ border: 1px solid var(--ghost);
53
+ border-radius: var(--radius-md);
54
+ padding: 1rem;
55
+ margin-bottom: 1rem;
56
+ }
57
+
58
+ .section-header {
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: space-between;
62
+ margin-bottom: 0.75rem;
63
+ }
64
+ .section-header__title {
65
+ font-family: var(--font-display);
66
+ font-size: 1rem;
67
+ font-weight: 600;
68
+ color: var(--on-surface);
69
+ }
70
+ .section-header__meta {
71
+ font-family: var(--font-mono);
72
+ font-size: 9px;
73
+ text-transform: uppercase;
74
+ letter-spacing: 0.05em;
75
+ color: var(--on-surface-variant);
76
+ }
77
+
78
+ .stat-grid {
79
+ display: grid;
80
+ grid-template-columns: repeat(4, 1fr);
81
+ gap: 0.75rem;
82
+ margin-bottom: 1rem;
83
+ }
84
+ .stat-card {
85
+ background: var(--surface-lowest);
86
+ border: 1px solid var(--ghost);
87
+ border-radius: var(--radius-md);
88
+ padding: 1rem;
89
+ }
90
+ .stat-card__label {
91
+ font-family: var(--font-mono);
92
+ font-size: 9px;
93
+ text-transform: uppercase;
94
+ letter-spacing: 0.05em;
95
+ color: var(--on-surface-variant);
96
+ margin-bottom: 0.25rem;
97
+ }
98
+ .stat-card__value {
99
+ font-family: var(--font-display);
100
+ font-size: 1.5rem;
101
+ font-weight: 700;
102
+ color: var(--on-surface);
103
+ }
104
+
105
+ .chip-list {
106
+ display: flex;
107
+ flex-wrap: wrap;
108
+ gap: 0.25rem;
109
+ }
110
+ .chip {
111
+ font-family: var(--font-mono);
112
+ font-size: 11px;
113
+ line-height: 1.2;
114
+ padding: 0.125rem 0.5rem;
115
+ border-radius: var(--radius-sm);
116
+ background: var(--surface-low);
117
+ color: var(--on-surface-variant);
118
+ }
119
+ .chip--violet { background: var(--violet-bg); color: var(--violet); }
120
+ .chip--green { background: var(--green-bg); color: var(--green); }
121
+ .chip--primary { background: rgba(8, 68, 113, 0.1); color: var(--primary); }
122
+
123
+ .two-col {
124
+ display: grid;
125
+ grid-template-columns: repeat(2, 1fr);
126
+ gap: 1rem;
127
+ margin-bottom: 1rem;
128
+ }
129
+
130
+ /* ── Project Page ── */
131
+
132
+ .heyiam-project {
133
+ max-width: 960px;
134
+ margin: 0 auto;
135
+ padding: 2rem 1.5rem;
136
+ }
137
+
138
+ .project-title {
139
+ font-family: var(--font-display);
140
+ font-size: 1.25rem;
141
+ font-weight: 700;
142
+ color: var(--on-surface);
143
+ margin-bottom: 0.25rem;
144
+ }
145
+
146
+ .project-links {
147
+ display: flex;
148
+ align-items: center;
149
+ gap: 1rem;
150
+ margin: 0.25rem 0 1rem;
151
+ }
152
+ .project-link {
153
+ font-family: var(--font-mono);
154
+ font-size: 0.75rem;
155
+ color: var(--primary);
156
+ display: flex;
157
+ align-items: center;
158
+ gap: 0.25rem;
159
+ }
160
+ .project-link__icon { width: 14px; height: 14px; }
161
+
162
+ /* Browser chrome screenshot */
163
+ .browser-chrome {
164
+ border-radius: var(--radius-md);
165
+ border: 1px solid var(--ghost);
166
+ overflow: hidden;
167
+ box-shadow: 0 1px 2px rgba(0,0,0,0.05);
168
+ margin-bottom: 1rem;
169
+ }
170
+ .browser-chrome__bar {
171
+ display: flex;
172
+ align-items: center;
173
+ gap: 6px;
174
+ padding: 0.5rem 0.75rem;
175
+ background: var(--surface-low);
176
+ border-bottom: 1px solid var(--ghost);
177
+ }
178
+ .browser-chrome__dot {
179
+ width: 10px;
180
+ height: 10px;
181
+ border-radius: 50%;
182
+ }
183
+ .browser-chrome__dot--red { background: #ff5f57; }
184
+ .browser-chrome__dot--yellow { background: #febc2e; }
185
+ .browser-chrome__dot--green { background: #28c840; }
186
+ .browser-chrome__viewport {
187
+ max-height: 24rem;
188
+ overflow-y: auto;
189
+ }
190
+ .browser-chrome__img {
191
+ width: 100%;
192
+ height: auto;
193
+ display: block;
194
+ }
195
+
196
+ .narrative-text {
197
+ line-height: 1.6;
198
+ color: var(--on-surface);
199
+ border-left: 3px solid var(--primary);
200
+ padding-left: 0.75rem;
201
+ font-size: clamp(0.8125rem, 1.2vw, 1rem);
202
+ }
203
+
204
+ /* Source table */
205
+ .source-table {
206
+ width: 100%;
207
+ border-collapse: collapse;
208
+ font-size: 0.8125rem;
209
+ }
210
+ .source-table__th {
211
+ text-align: left;
212
+ padding: 0.5rem 0;
213
+ font-family: var(--font-mono);
214
+ font-size: 9px;
215
+ text-transform: uppercase;
216
+ letter-spacing: 0.05em;
217
+ color: var(--outline);
218
+ border-bottom: 1px solid var(--ghost);
219
+ font-weight: 400;
220
+ }
221
+ .source-table__td {
222
+ padding: 0.5rem 0;
223
+ border-bottom: 1px solid var(--ghost);
224
+ }
225
+
226
+ /* Session card grid */
227
+ .session-grid {
228
+ display: grid;
229
+ grid-template-columns: repeat(2, 1fr);
230
+ gap: 0.75rem;
231
+ }
232
+ .session-card-link {
233
+ text-decoration: none;
234
+ color: inherit;
235
+ }
236
+ .session-card {
237
+ background: var(--surface-lowest);
238
+ border: 1px solid var(--ghost);
239
+ border-radius: var(--radius-sm);
240
+ padding: 1rem;
241
+ transition: box-shadow 0.15s;
242
+ }
243
+ .session-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
244
+ .session-card__bar {
245
+ height: 4px;
246
+ border-radius: 2px;
247
+ margin-bottom: 0.75rem;
248
+ }
249
+ .session-card__bar--primary { background: var(--primary); }
250
+ .session-card__bar--green { background: var(--green); }
251
+ .session-card__bar--violet { background: var(--violet); }
252
+ .session-card__title {
253
+ font-family: var(--font-display);
254
+ font-size: 0.8125rem;
255
+ font-weight: 600;
256
+ color: var(--on-surface);
257
+ margin-bottom: 0.25rem;
258
+ display: -webkit-box;
259
+ -webkit-line-clamp: 2;
260
+ -webkit-box-orient: vertical;
261
+ overflow: hidden;
262
+ }
263
+ .session-card__meta {
264
+ color: var(--on-surface-variant);
265
+ font-size: 0.75rem;
266
+ }
267
+ .session-card__skills { margin-top: 0.5rem; }
268
+
269
+ /* Notes */
270
+ .note {
271
+ background: var(--surface-low);
272
+ border: 1px solid var(--ghost);
273
+ border-radius: var(--radius-sm);
274
+ padding: 0.625rem;
275
+ }
276
+ .note__title {
277
+ font-family: var(--font-body);
278
+ font-size: 0.875rem;
279
+ font-weight: 600;
280
+ color: var(--on-surface);
281
+ margin-bottom: 0.25rem;
282
+ }
283
+ .note__body {
284
+ font-size: 0.875rem;
285
+ color: var(--on-surface-variant);
286
+ line-height: 1.5;
287
+ }
288
+ .note-stack {
289
+ display: flex;
290
+ flex-direction: column;
291
+ gap: 0.75rem;
292
+ }
293
+
294
+ /* Phase timeline */
295
+ .phase-timeline {
296
+ position: relative;
297
+ padding-left: 1.25rem;
298
+ }
299
+ .phase-timeline__line {
300
+ position: absolute;
301
+ left: 0.25rem;
302
+ top: 0.375rem;
303
+ bottom: 0.375rem;
304
+ width: 2px;
305
+ background: var(--ghost);
306
+ border-radius: 1px;
307
+ }
308
+ .phase-timeline__item {
309
+ position: relative;
310
+ padding-bottom: 1rem;
311
+ }
312
+ .phase-timeline__item:last-child { padding-bottom: 0; }
313
+ .phase-timeline__dot {
314
+ position: absolute;
315
+ left: -1.25rem;
316
+ top: 0.375rem;
317
+ width: 8px;
318
+ height: 8px;
319
+ border-radius: 50%;
320
+ background: var(--primary);
321
+ box-shadow: 0 0 0 3px rgba(8, 68, 113, 0.1);
322
+ }
323
+ .phase-timeline__label {
324
+ font-family: var(--font-mono);
325
+ font-size: 0.6875rem;
326
+ text-transform: uppercase;
327
+ letter-spacing: 0.05em;
328
+ color: var(--on-surface-variant);
329
+ margin-bottom: 0.25rem;
330
+ }
331
+
332
+ .export-footer {
333
+ margin-top: 2rem;
334
+ padding-top: 1rem;
335
+ border-top: 1px solid var(--ghost);
336
+ text-align: center;
337
+ }
338
+ .export-footer__text {
339
+ font-family: var(--font-mono);
340
+ font-size: 10px;
341
+ color: var(--on-surface-variant);
342
+ text-transform: uppercase;
343
+ letter-spacing: 0.05em;
344
+ }
345
+
346
+ /* ── Session Page ── */
347
+
348
+ .heyiam-session {
349
+ max-width: 960px;
350
+ margin: 0 auto;
351
+ padding: 2rem 1.5rem;
352
+ }
353
+
354
+ .session-layout {
355
+ display: grid;
356
+ grid-template-columns: 220px 1fr;
357
+ gap: 2rem;
358
+ }
359
+
360
+ /* Sidebar */
361
+ .session-sidebar {
362
+ border-right: 1px solid var(--ghost);
363
+ padding-right: 1.5rem;
364
+ }
365
+ .sidebar-section { margin-bottom: 1.5rem; }
366
+ .sidebar-section__heading {
367
+ font-family: var(--font-mono);
368
+ font-size: 9px;
369
+ text-transform: uppercase;
370
+ letter-spacing: 0.05em;
371
+ color: var(--outline);
372
+ margin-bottom: 0.75rem;
373
+ }
374
+ .tool-list, .file-list {
375
+ list-style: none;
376
+ }
377
+ .tool-list__item, .file-list__item {
378
+ display: flex;
379
+ justify-content: space-between;
380
+ align-items: center;
381
+ padding: 0.375rem 0;
382
+ border-bottom: 1px solid var(--ghost);
383
+ font-size: 0.8125rem;
384
+ }
385
+ .tool-list__name, .file-list__path {
386
+ font-family: var(--font-mono);
387
+ font-size: 0.75rem;
388
+ color: var(--on-surface);
389
+ overflow: hidden;
390
+ text-overflow: ellipsis;
391
+ white-space: nowrap;
392
+ }
393
+ .tool-list__count {
394
+ font-family: var(--font-mono);
395
+ font-size: 0.75rem;
396
+ color: var(--on-surface-variant);
397
+ }
398
+ .file-list__adds { color: var(--green); font-family: var(--font-mono); font-size: 0.6875rem; }
399
+ .file-list__dels { color: var(--error); font-family: var(--font-mono); font-size: 0.6875rem; margin-left: 0.25rem; }
400
+
401
+ /* Main content */
402
+ .session-main { min-width: 0; }
403
+
404
+ .breadcrumb {
405
+ font-family: var(--font-mono);
406
+ font-size: 0.75rem;
407
+ color: var(--on-surface-variant);
408
+ margin-bottom: 1rem;
409
+ }
410
+ .breadcrumb a { color: var(--primary); }
411
+ .breadcrumb__sep { margin: 0 0.375rem; color: var(--outline); }
412
+
413
+ .session-header { margin-bottom: 1.5rem; }
414
+ .session-header__title {
415
+ font-family: var(--font-display);
416
+ font-size: 1.5rem;
417
+ font-weight: 700;
418
+ color: var(--on-surface);
419
+ margin-bottom: 0.5rem;
420
+ }
421
+ .session-header__meta {
422
+ display: flex;
423
+ gap: 0.75rem;
424
+ font-size: 0.8125rem;
425
+ color: var(--on-surface-variant);
426
+ margin-bottom: 1rem;
427
+ }
428
+ .session-header__date {
429
+ font-family: var(--font-mono);
430
+ font-size: 0.75rem;
431
+ }
432
+ .session-header__source {
433
+ font-family: var(--font-mono);
434
+ font-size: 0.75rem;
435
+ background: var(--surface-low);
436
+ padding: 0.125rem 0.5rem;
437
+ border-radius: var(--radius-sm);
438
+ }
439
+ .session-header__devtake {
440
+ border-left: 3px solid var(--primary);
441
+ padding: 0.5rem 0.75rem;
442
+ margin: 1rem 0;
443
+ color: var(--on-surface);
444
+ font-style: italic;
445
+ background: var(--surface-low);
446
+ border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
447
+ }
448
+ .session-header__devtake p { margin: 0; }
449
+ .session-header__context {
450
+ color: var(--on-surface-variant);
451
+ font-size: 0.875rem;
452
+ margin: 0.75rem 0;
453
+ }
454
+
455
+ /* Inline stats row */
456
+ .stat {
457
+ display: inline-flex;
458
+ flex-direction: column;
459
+ align-items: center;
460
+ padding: 0.5rem 1rem;
461
+ background: var(--surface-lowest);
462
+ border: 1px solid var(--ghost);
463
+ border-radius: var(--radius-sm);
464
+ }
465
+ .stat__value {
466
+ font-family: var(--font-display);
467
+ font-size: 1.125rem;
468
+ font-weight: 700;
469
+ color: var(--on-surface);
470
+ }
471
+ .stat__label {
472
+ font-family: var(--font-mono);
473
+ font-size: 9px;
474
+ text-transform: uppercase;
475
+ letter-spacing: 0.05em;
476
+ color: var(--on-surface-variant);
477
+ }
478
+ .stat-grid--4 {
479
+ display: flex;
480
+ gap: 0.5rem;
481
+ margin-top: 1rem;
482
+ }
483
+
484
+ /* Content sections */
485
+ .content-section {
486
+ margin-bottom: 1.5rem;
487
+ }
488
+ .content-section__heading {
489
+ font-family: var(--font-display);
490
+ font-size: 1rem;
491
+ font-weight: 600;
492
+ color: var(--on-surface);
493
+ margin-bottom: 0.75rem;
494
+ }
495
+ .content-section p {
496
+ color: var(--on-surface);
497
+ line-height: 1.6;
498
+ }
499
+
500
+ .highlights-list {
501
+ list-style: disc;
502
+ padding-left: 1.25rem;
503
+ color: var(--on-surface);
504
+ }
505
+ .highlights-list li { margin-bottom: 0.375rem; }
506
+
507
+ /* Beats (execution path) */
508
+ .beats-list {
509
+ list-style: none;
510
+ counter-reset: beats;
511
+ }
512
+ .beat {
513
+ display: flex;
514
+ gap: 0.75rem;
515
+ padding: 0.75rem 0;
516
+ border-bottom: 1px solid var(--ghost);
517
+ }
518
+ .beat:last-child { border-bottom: none; }
519
+ .beat__number {
520
+ font-family: var(--font-mono);
521
+ font-size: 0.75rem;
522
+ color: var(--primary);
523
+ font-weight: 600;
524
+ min-width: 1.5rem;
525
+ text-align: center;
526
+ padding-top: 0.125rem;
527
+ }
528
+ .beat__content { flex: 1; min-width: 0; }
529
+ .beat__title {
530
+ font-family: var(--font-display);
531
+ font-size: 0.875rem;
532
+ font-weight: 600;
533
+ color: var(--on-surface);
534
+ }
535
+ .beat__body {
536
+ color: var(--on-surface-variant);
537
+ font-size: 0.8125rem;
538
+ margin-top: 0.25rem;
539
+ line-height: 1.5;
540
+ }
541
+
542
+ /* Q&A */
543
+ .qa-list { display: flex; flex-direction: column; gap: 1rem; }
544
+ .qa-pair {
545
+ background: var(--surface-low);
546
+ border: 1px solid var(--ghost);
547
+ border-radius: var(--radius-sm);
548
+ padding: 0.75rem;
549
+ }
550
+ .qa-pair__question {
551
+ font-weight: 600;
552
+ color: var(--on-surface);
553
+ margin-bottom: 0.375rem;
554
+ }
555
+ .qa-pair__answer {
556
+ color: var(--on-surface-variant);
557
+ font-size: 0.875rem;
558
+ line-height: 1.5;
559
+ }
560
+
561
+ /* ── Responsive ── */
562
+ @media (max-width: 768px) {
563
+ .session-layout { grid-template-columns: 1fr; }
564
+ .session-sidebar { border-right: none; border-bottom: 1px solid var(--ghost); padding-right: 0; padding-bottom: 1rem; }
565
+ .stat-grid { grid-template-columns: repeat(2, 1fr); }
566
+ .session-grid { grid-template-columns: 1fr; }
567
+ .two-col { grid-template-columns: 1fr; }
568
+ .stat-grid--4 { flex-wrap: wrap; }
569
+ }
package/dist/server.js CHANGED
@@ -55,8 +55,13 @@ export function createApp(sessionsBasePath, dbPath) {
55
55
  const staticDir = existsSync(prodDir) ? prodDir : devDir;
56
56
  app.use(express.static(staticDir));
57
57
  // SPA fallback -- serve index.html for non-API routes
58
+ const indexPath = path.join(staticDir, 'index.html');
58
59
  app.get('/{*splat}', (_req, res) => {
59
- res.sendFile(path.join(staticDir, 'index.html'));
60
+ res.sendFile(indexPath, (err) => {
61
+ if (err) {
62
+ res.status(404).send('Page not found');
63
+ }
64
+ });
60
65
  });
61
66
  return app;
62
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "heyiam",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Turn AI coding sessions into portfolio case studies",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -22,7 +22,7 @@
22
22
  "dist"
23
23
  ],
24
24
  "scripts": {
25
- "build": "tsc && chmod +x dist/index.js && cd app && npx vite build && cp -r dist ../dist/public",
25
+ "build": "tsc && chmod +x dist/index.js && cp -r src/render/templates dist/render/templates && cd app && npx vite build && cp -r dist ../dist/public",
26
26
  "prepublishOnly": "npm run build && find dist -name '*.test.*' -delete",
27
27
  "dev": "npx concurrently \"npm:dev:api\" \"npm:dev:app\"",
28
28
  "dev:api": "tsx watch src/index.ts open --no-open",