Add a new project to the portfolio projects page. Usage: /project @image <project_readme_url> <navigation_url>
You are adding a new project to the portfolio website's projects page.
The user provides: @image <project_readme_url> <navigation_url>
public/images/projects/.link and github props.Parse the arguments: Extract the image reference, project README URL, and navigation URL from the args.
Fetch project content: Use WebFetch to visit the <project_readme_url> and read the content. From the content, determine:
Ask the user: Present the generated title, summary, and type to the user and ask:
Copy/verify the image: If the image is not already in public/images/projects/, copy it there. Note the filename.
Edit src/pages/projects.js: Follow the existing pattern exactly:
a. Add an import for the new project image at the top of the file, following the existing pattern:
import projectNameImg from "../../public/images/projects/your-image-filename.ext";
Use a descriptive variable name based on the project (e.g., aspireProjectImg, goCrudImg).
b. Add the project entry inside the grid <div>, after the last existing project entry:
For FeaturedProject (full-width):
<div className="col-span-12">
<FeaturedProject
title="Project title derived from README"
summary="2-3 sentence summary derived from README"
link={"<navigation_url>"}
github={"<navigation_url>"}
type={"Tech Stack Project"}
img={projectNameImg}
/>
</div>
For Project (half-width grid):
<div className="col-span-6 sm:col-span-12">
<Project
title="Project title derived from README"
link={"<navigation_url>"}
github={"<navigation_url>"}
type={"Tech Stack Project"}
img={projectNameImg}
/>
</div>
Verify: Read back the modified file to ensure the changes are correct and follow the existing code style.
link and github props.FeaturedProject, include the summary prop. For Project, the summary prop is optional (existing code includes it but it's not rendered in the component).type should reflect the primary technology (e.g., "NextJS Project", "ReactJS Project", "Go Project", ".NET Project", "Python Project").col-span-12, regular Projects at col-span-6 sm:col-span-12.