Imported from Daffaaditya2807/Portofolio-Daffa-Aditya (
AGENTS.md). Install upstream withnpx skills add Daffaaditya2807/Portofolio-Daffa-Aditya. Copyright stays with the author.
Repository Guidelines
Project Structure & Module Organization
This is a Create React App portfolio site. Application entry points live in src/index.js and src/App.js, with the main page composition in src/Portfolio.js. Reusable page sections are in src/components/, including HomeSection.js, AboutSection.js, LabSection.js, ContactSection.js, Navbar.js, and BottomNavigation.js. Static files served unchanged belong in public/; imported assets such as cv.pdf, memoji.png, and userpng.png belong in src/assets/. Global styles are in src/index.css and src/App.css.
Build, Test, and Development Commands
npm start: runs the local development server with hot reload.npm test: starts the Jest test runner in watch mode.npm test -- --watchAll=false: runs tests once, useful for CI or final checks.npm run build: creates the production build inbuild/.npm install: installs dependencies frompackage-lock.json.
Avoid npm run eject unless the project intentionally needs to leave Create React App defaults.
Coding Style & Naming Conventions
Use JavaScript React function components and hooks. Name components in PascalCase, for example HomeSection, and keep component files as PascalCase.js. Use two-space indentation, single quotes, and semicolons to match the existing code. Prefer Tailwind utility classes for layout and visual styling where the current components already use them. Keep imported images and documents in src/assets/, and use descriptive asset names.
Testing Guidelines
Tests use Jest with React Testing Library through react-scripts and @testing-library/react. Place component tests next to the code they cover using the *.test.js pattern, as in src/App.test.js. Prefer user-visible assertions such as screen.getByText, roles, labels, or alt text. Before submitting, run npm test -- --watchAll=false; run npm run build when changes affect routing, assets, or production behavior.
Commit & Pull Request Guidelines
The git history uses short imperative or descriptive messages, such as Update .gitignore and Add new projects and update UI details. Keep commits focused and use concise messages that describe the visible change. Pull requests should include a brief summary, testing notes, and screenshots or screen recordings for UI changes. Link related issues when available and call out any asset, dependency, or configuration changes.
Security & Configuration Tips
Do not commit secrets, service keys, or local environment files. Contact-related integrations such as EmailJS should read sensitive values from environment variables when possible. Keep generated build output and dependency folders out of commits.