Thank you for your interest in contributing to CraftKit! This document provides guidelines and instructions for contributors who want to add new resume templates or improve the project.
The project is hosted on GitHub: https://github.com/hammadmeer-dev/CraftKit---NextJs
-
Fork the repository: Click the "Fork" button on the GitHub repository page to create your own copy.
-
Clone your fork:
git clone https://github.com/your-username/CraftKit---NextJs.git cd CraftKit---NextJs -
Install dependencies:
npm install
-
Run the development server:
npm run dev
Open http://localhost:3000 in your browser to see the application.
CraftKit allows you to create custom resume templates. Follow these steps to add a new template:
The resume data follows a specific structure defined in app/Templates/ResumeDummyData.jsx. This file contains a dummyResume object that serves as a template for the data structure. Key sections include:
personalInfo: Full name, profession, contact details, etc.summary: Professional summaryworkExperience: Array of work experienceseducation: Array of educational qualificationsskills: Array of skills with ratingsprojects: Array of projectscertifications: Array of certificationslanguages: Array of languageshobby: Personal interests
Use this structure to ensure your template can handle all the data fields properly.
-
Create a new file in
app/Templates/[name]/directory. For example,app/Templates/[name]/MyTemplate.jsx. -
Build your template component using React. The component should accept a
resumeDataprop that contains the resume information.Example structure:
import React from 'react'; const MyTemplate = ({ resumeData }) => { const { personalInfo, summary, workExperience, education, skills, projects, certifications, languages, hobby } = resumeData.data; return ( <div className="resume-template"> {/* Your template JSX here */} <header> <h1>{personalInfo.fullName}</h1> <p>{personalInfo.profession}</p> </header> {/* Add other sections */} </div> ); }; export default MyTemplate;
-
Style your template using Tailwind CSS classes or custom CSS.
-
Open
app/Templates/TemplateRegistry.jsx. -
Import your new template component at the top:
import MyTemplate from "./[name]/MyTemplate";
-
Add your template to the
templatesarray:export const templates = [ // ... existing templates { id: "my-template", name: "My Custom Template", description: "A description of your template.", category: "Custom", component: MyTemplate, }, ];
-
Run the development server:
npm run dev -
Navigate to the template selection page.
-
Choose your new template and fill in the resume data.
-
Verify that all sections render correctly and the layout is responsive.
-
Commit your changes:
git add . git commit -m "Add new resume template: My Custom Template"
-
Push to your fork:
git push origin main
-
Create a Pull Request on the original repository with a clear description of your changes.
- Follow the existing code style and structure.
- Use meaningful variable and function names.
- Add comments for complex logic.
- Ensure your template is mobile-responsive.
- Test your changes thoroughly before submitting.
If you have questions or need assistance, feel free to open an issue on the GitHub repository or reach out to the maintainers.
Thank you for contributing to CraftKit!