heyiam 0.3.6 → 0.3.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.
Files changed (70) hide show
  1. package/dist/llm/project-enhance.js +11 -5
  2. package/dist/public/assets/{index-7mUuxgqY.js → index-BDh4ne9u.js} +1 -1
  3. package/dist/public/assets/index-ByoBtx7P.css +1 -0
  4. package/dist/public/index.html +2 -2
  5. package/dist/render/mock-data.js +6 -0
  6. package/dist/render/select-profile-skills.js +54 -0
  7. package/dist/render/templates/aurora/portfolio.liquid +4 -4
  8. package/dist/render/templates/aurora/styles.css +6 -6
  9. package/dist/render/templates/bauhaus/portfolio.liquid +4 -4
  10. package/dist/render/templates/bauhaus/styles.css +1 -1
  11. package/dist/render/templates/blueprint/portfolio.liquid +4 -4
  12. package/dist/render/templates/blueprint/styles.css +1 -1
  13. package/dist/render/templates/canvas/portfolio.liquid +4 -4
  14. package/dist/render/templates/canvas/styles.css +2 -2
  15. package/dist/render/templates/carbon/portfolio.liquid +4 -4
  16. package/dist/render/templates/carbon/styles.css +7 -7
  17. package/dist/render/templates/chalk/portfolio.liquid +4 -4
  18. package/dist/render/templates/chalk/styles.css +44 -2
  19. package/dist/render/templates/circuit/portfolio.liquid +4 -4
  20. package/dist/render/templates/cosmos/portfolio.liquid +4 -4
  21. package/dist/render/templates/cosmos/styles.css +4 -4
  22. package/dist/render/templates/daylight/portfolio.liquid +4 -4
  23. package/dist/render/templates/editorial/portfolio.liquid +4 -4
  24. package/dist/render/templates/editorial/styles.css +6 -1
  25. package/dist/render/templates/ember/portfolio.liquid +4 -4
  26. package/dist/render/templates/ember/styles.css +2 -2
  27. package/dist/render/templates/glacier/portfolio.liquid +4 -4
  28. package/dist/render/templates/glacier/styles.css +2 -2
  29. package/dist/render/templates/grid/portfolio.liquid +4 -4
  30. package/dist/render/templates/grid/styles.css +2 -2
  31. package/dist/render/templates/kinetic/portfolio.liquid +4 -4
  32. package/dist/render/templates/kinetic/styles.css +5 -5
  33. package/dist/render/templates/meridian/portfolio.liquid +4 -4
  34. package/dist/render/templates/meridian/styles.css +1 -1
  35. package/dist/render/templates/minimal/portfolio.liquid +3 -3
  36. package/dist/render/templates/mono/portfolio.liquid +4 -4
  37. package/dist/render/templates/mono/styles.css +15 -1
  38. package/dist/render/templates/neon/portfolio.liquid +4 -4
  39. package/dist/render/templates/neon/styles.css +11 -20
  40. package/dist/render/templates/noir/portfolio.liquid +4 -4
  41. package/dist/render/templates/noir/styles.css +5 -5
  42. package/dist/render/templates/obsidian/portfolio.liquid +4 -4
  43. package/dist/render/templates/obsidian/styles.css +2 -2
  44. package/dist/render/templates/paper/portfolio.liquid +4 -4
  45. package/dist/render/templates/paper/styles.css +60 -1
  46. package/dist/render/templates/parallax/portfolio.liquid +4 -4
  47. package/dist/render/templates/parallax/styles.css +1 -1
  48. package/dist/render/templates/parchment/portfolio.liquid +4 -4
  49. package/dist/render/templates/parchment/styles.css +3 -3
  50. package/dist/render/templates/radar/portfolio.liquid +4 -4
  51. package/dist/render/templates/radar/styles.css +4 -4
  52. package/dist/render/templates/showcase/portfolio.liquid +4 -4
  53. package/dist/render/templates/showcase/styles.css +7 -7
  54. package/dist/render/templates/signal/portfolio.liquid +4 -4
  55. package/dist/render/templates/signal/styles.css +5 -5
  56. package/dist/render/templates/strata/portfolio.liquid +4 -4
  57. package/dist/render/templates/strata/styles.css +3 -3
  58. package/dist/render/templates/styles.css +39 -28
  59. package/dist/render/templates/terminal/portfolio.liquid +2 -2
  60. package/dist/render/templates/verdant/portfolio.liquid +4 -4
  61. package/dist/render/templates/verdant/styles.css +17 -2
  62. package/dist/render/templates/zen/portfolio.liquid +4 -4
  63. package/dist/render/templates/zen/styles.css +8 -8
  64. package/dist/routes/export.js +1 -0
  65. package/dist/routes/github.js +1 -1
  66. package/dist/routes/portfolio-render-data.js +15 -1
  67. package/dist/routes/preview.js +15 -1
  68. package/dist/routes/publish.js +2 -1
  69. package/package.json +1 -1
  70. package/dist/public/assets/index-CMyamplX.css +0 -1
@@ -4,11 +4,12 @@ import { getAnthropicApiKey } from '../settings.js';
4
4
  const PROJECT_ENHANCE_SYSTEM = `You are building a project narrative from multiple coding sessions for a developer portfolio on heyi.am.
5
5
 
6
6
  Your job:
7
- 1. Synthesize a 2-3 sentence project description that captures what was built and why it matters. Write in third person about the project, not the developer. No fluff every word earns its place.
8
- 2. Identify 4-7 project phases (the "arc") that show how the project evolved. Each phase should have a short title and one-sentence description.
9
- 3. Deduplicate and rank skills across all sessions.
10
- 4. Group sessions into timeline periods (e.g., "Week 1", "Days 1-3") with labels describing what happened in each period. Mark featured sessions (the most interesting ones) vs background sessions.
11
- 5. Generate 2-3 context-aware questions based on patterns you detect in the sessions (see instructions below).
7
+ 1. Write a tagline: 1-2 sentences, first-person, starting with "I built". State what the thing IS and the one thing that makes it interesting. Example voice: "I built a better NVR system that's simple and intuitive." / "I built a proof of work for the AI space." Not a pitch, not marketing — how a developer describes what they made when asked at a bar. No fluff words (leverage, robust, comprehensive, cutting-edge, seamless, innovative). If you can't name what it IS in concrete terms, the tagline is wrong.
8
+ 2. Synthesize a 2-3 sentence project description that captures what was built and why it matters. Write in third person about the project, not the developer. No fluff every word earns its place.
9
+ 3. Identify 4-7 project phases (the "arc") that show how the project evolved. Each phase should have a short title and one-sentence description.
10
+ 4. Deduplicate and rank skills across all sessions.
11
+ 5. Group sessions into timeline periods (e.g., "Week 1", "Days 1-3") with labels describing what happened in each period. Mark featured sessions (the most interesting ones) vs background sessions.
12
+ 6. Generate 2-3 context-aware questions based on patterns you detect in the sessions (see instructions below).
12
13
 
13
14
  For questions, look for these signals and generate questions that reference specific data:
14
15
  - High correction counts → ask about override strategy, referencing the count
@@ -24,6 +25,7 @@ Each question must have:
24
25
 
25
26
  Return valid JSON matching this exact structure:
26
27
  {
28
+ "tagline": "I built a ... — 1-2 sentences, first-person, concrete, no fluff",
27
29
  "narrative": "2-3 sentence project description",
28
30
  "arc": [{ "phase": 1, "title": "...", "description": "..." }],
29
31
  "skills": ["skill1", "skill2"],
@@ -183,6 +185,10 @@ export async function enhanceProject(sessions, skippedSessions, onProgress) {
183
185
  if (!result.narrative || !Array.isArray(result.arc) || !Array.isArray(result.skills)) {
184
186
  throw new Error('LLM returned incomplete project enhance result');
185
187
  }
188
+ // Tagline is new; tolerate legacy cache entries by defaulting to empty string.
189
+ if (typeof result.tagline !== 'string') {
190
+ result.tagline = '';
191
+ }
186
192
  // Ensure questions have IDs
187
193
  if (result.questions) {
188
194
  result.questions = result.questions.map((q, i) => ({