shipfolio 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.
@@ -0,0 +1,108 @@
1
+ # Task
2
+
3
+ Generate a complete, production-ready personal portfolio website.
4
+ All data and design preferences are provided in the spec below.
5
+ Output a fully working Next.js project that builds and deploys as a static site.
6
+
7
+ # Spec
8
+
9
+ {{SPEC_JSON}}
10
+
11
+ # Technical Requirements
12
+
13
+ - Next.js 15 with App Router and TypeScript
14
+ - Tailwind CSS v4 for styling
15
+ - shadcn/ui components (initialize with `npx shadcn@latest init --yes`)
16
+ - Static export: set `output: 'export'` in next.config.ts
17
+ - Build command: `npm run build` producing `out/` directory
18
+ - Zero external API calls at runtime -- all data is embedded in source
19
+ - All project data in `src/data/projects.ts` as typed constants
20
+ - Include `@media print` stylesheet in `src/app/globals.css` for PDF export
21
+ - Responsive: mobile-first with Tailwind breakpoints (sm, md, lg, xl)
22
+ - Lighthouse performance score 95+
23
+ - Semantic HTML with ARIA labels and keyboard navigation
24
+ - No emoji anywhere in text, UI, code, or comments
25
+ - Use lucide-react for icons
26
+
27
+ # Design Direction
28
+
29
+ - Theme: {{THEME}}
30
+ - Accent color: {{ACCENT_COLOR}}
31
+ - Animation level: {{ANIMATION_LEVEL}}
32
+ - Font: {{FONT}}
33
+
34
+ Design guidelines:
35
+ - Typography-driven layout with large, bold headings
36
+ - Generous whitespace between sections
37
+ - Single accent color for interactive elements and highlights only
38
+ - Project cards should feel substantial but clean
39
+ - The site must look hand-crafted, not template-generated
40
+ - Dark themes: use zinc/slate backgrounds, not pure black
41
+ - Light themes: use warm whites and subtle grays
42
+
43
+ # Content Generation
44
+
45
+ For each project in the spec:
46
+ - Write a 2-3 sentence narrative description based on the README content and tech stack
47
+ - Focus on what it does and why it matters
48
+ - If user provided an override description, use that instead
49
+ - Maintain consistent voice across all descriptions
50
+
51
+ For the bio (if set to "auto"):
52
+ - Generate a professional, authentic bio based on the project portfolio
53
+ - Emphasize shipping velocity and breadth
54
+ - Tone: confident, direct, no buzzwords or fluff
55
+
56
+ # Sections to Include
57
+
58
+ {{SECTIONS_LIST}}
59
+
60
+ Hero and Projects are always included. Additional sections as specified.
61
+
62
+ # Print / PDF Styles
63
+
64
+ In globals.css, add @media print rules:
65
+ - Single-column layout
66
+ - Hide navigation, footer, animations
67
+ - Preserve background colors (user will print with backgrounds enabled)
68
+ - Show link URLs inline: `a[href]::after { content: " (" attr(href) ")"; }`
69
+ - Avoid page breaks inside project cards
70
+ - A4-friendly margins and font sizes
71
+
72
+ # File Structure to Generate
73
+
74
+ ```
75
+ next.config.ts
76
+ package.json
77
+ tailwind.config.ts
78
+ tsconfig.json
79
+ postcss.config.mjs
80
+ components.json
81
+ src/app/layout.tsx
82
+ src/app/page.tsx
83
+ src/app/globals.css
84
+ src/components/ui/ (shadcn components as needed)
85
+ src/components/hero.tsx
86
+ src/components/project-card.tsx
87
+ src/components/project-grid.tsx
88
+ src/components/skills.tsx
89
+ src/components/about.tsx
90
+ src/components/timeline.tsx
91
+ src/components/contact.tsx
92
+ src/components/navigation.tsx
93
+ src/components/footer.tsx
94
+ src/data/projects.ts
95
+ src/data/owner.ts
96
+ src/lib/utils.ts
97
+ public/favicon.svg
98
+ shipfolio.config.json
99
+ ```
100
+
101
+ # Important
102
+
103
+ - Generate ALL files needed for the project to build successfully
104
+ - Include all shadcn/ui component files that are referenced
105
+ - The `package.json` must include all dependencies
106
+ - `npm install && npm run build` must succeed without errors
107
+ - Do not use next/image (incompatible with static export) -- use standard <img> tags
108
+ - Do not use features that require a server (API routes, middleware, ISR)
@@ -0,0 +1,46 @@
1
+ # Task
2
+
3
+ Update an existing portfolio website previously generated by shipfolio.
4
+ You must preserve the existing design system, layout structure, component
5
+ architecture, and any custom modifications the user has made.
6
+
7
+ # Existing Site Configuration
8
+
9
+ {{EXISTING_CONFIG_JSON}}
10
+
11
+ # Changes to Apply
12
+
13
+ ## New Projects to Add
14
+ {{NEW_PROJECTS}}
15
+
16
+ ## Projects to Update (new commits since last scan)
17
+ {{UPDATED_PROJECTS}}
18
+
19
+ ## Projects to Remove
20
+ {{REMOVED_PROJECTS}}
21
+
22
+ ## Updated Personal Info
23
+ {{PERSONAL_INFO_DIFF}}
24
+
25
+ # Rules
26
+
27
+ 1. Do NOT change the overall layout, color scheme, or design system
28
+ 2. Do NOT reorganize existing components or rename files
29
+ 3. Only modify files that need changes for the specified updates
30
+ 4. For new projects: follow the exact same card format and component pattern
31
+ as existing project cards
32
+ 5. Preserve all custom CSS, custom components, and manual edits
33
+ 6. Update src/data/projects.ts with new/changed/removed project data
34
+ 7. Update src/data/owner.ts if personal info changed
35
+ 8. Update shipfolio.config.json with new timestamps and project list
36
+ 9. If a new section type is needed, create it following the existing
37
+ component patterns and design tokens in the codebase
38
+ 10. No emoji anywhere
39
+
40
+ # Technical Notes
41
+
42
+ - The site uses Next.js 15 + Tailwind CSS + shadcn/ui
43
+ - Static export via `output: 'export'` in next.config.ts
44
+ - Do not break the build -- `npm run build` must succeed
45
+ - Do not add new dependencies unless absolutely necessary
46
+ - Keep the existing @media print styles working