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.
- package/README.md +330 -0
- package/bin/cli.js +2 -0
- package/dist/cli.js +2027 -0
- package/dist/cli.js.map +1 -0
- package/dist/lib/orchestrator/detect.js +33 -0
- package/dist/lib/orchestrator/detect.js.map +1 -0
- package/dist/lib/orchestrator/prompt-builder.js +59 -0
- package/dist/lib/orchestrator/prompt-builder.js.map +1 -0
- package/dist/lib/orchestrator/validator.js +68 -0
- package/dist/lib/orchestrator/validator.js.map +1 -0
- package/dist/lib/scanner/git.js +86 -0
- package/dist/lib/scanner/git.js.map +1 -0
- package/dist/lib/scanner/index.js +457 -0
- package/dist/lib/scanner/index.js.map +1 -0
- package/dist/lib/spec/builder.js +21 -0
- package/dist/lib/spec/builder.js.map +1 -0
- package/dist/lib/spec/diff.js +42 -0
- package/dist/lib/spec/diff.js.map +1 -0
- package/package.json +49 -0
- package/prompts/fresh-build.md +108 -0
- package/prompts/update.md +46 -0
|
@@ -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
|