Thanks for your interest in contributing!
- Fork and clone the repo
- Install dependencies:
bun install - Start dev server:
bun dev - Make your changes
- Run build to check for errors:
bun run build
src/
├── app/ # Next.js pages
│ ├── merge/ # Each tool has its own folder
│ ├── split/
│ └── ...
├── components/
│ ├── icons.tsx # Custom SVG icons
│ ├── pdf/ # PDF-related components
│ └── ui/ # Shared UI components
└── lib/
├── pdf-utils.ts # Core PDF operations (pdf-lib)
└── pdf-image-utils.ts # Image conversion (pdfjs-dist)
- Create a new folder in
src/app/your-tool/ - Add the page component in
page.tsx - Add the PDF operation in
src/lib/pdf-utils.ts - Add an icon in
src/components/icons.tsx - Add the tool to the homepage grid in
src/app/page.tsx - Add the tool color in
src/app/globals.css
Follow the Neo-Brutalist design system in DESIGN.md:
- Thick 2px black borders
- Bold typography
- Warm cream background (#FAF8F5)
- Tool-specific accent colors
- No rounded corners (or minimal)
- TypeScript strict mode
- Functional components with hooks
- Keep components focused and small
- Client-side only — no server actions
- Update README if adding features
- Make sure build passes
- Keep PRs focused on a single change
- Write clear commit messages
Open an issue if you're unsure about anything.