Development Setup Guide

Follow this guide to set up your local development environment and run KissThePDF on your machine.

Prerequisites

Ensure you have the following installed on your local machine:

  • Node.js v20.0.0 or higher
  • npm v10.0.0 or higher
  • Git

Clone Repository & Install

Clone the official repository from GitHub and install all project dependencies:

Terminal
# Clone the repository git clone https://github.com/positiveabhii/kiss-the-pdf.git # Change into project directory cd kiss-the-pdf # Install dependencies npm install

Package Scripts & Commands

These are the actual commands defined in package.json:

npm run dev

Starts the Next.js development server with fast Turbopack compilation at http://localhost:3000.

BASH
npm run dev

npm run build

Runs TypeScript type checking and compiles an optimized production build.

BASH
npm run build

npm run start

Starts a production Node.js server serving the compiled production bundle.

BASH
npm run start

npm run lint

Runs ESLint to enforce code style, formatting, and Next.js best practices.

BASH
npm run lint

npx tsc --noEmit

Runs TypeScript compiler type check without emitting build artifacts.

BASH
npx tsc --noEmit

Coding Conventions

  • TypeScript StrictnessAvoid any types. Define explicit interfaces in src/types or import existing types from core registries.
  • Server vs. Client ComponentsDefault to React Server Components unless the file uses interactive state (useState, useEffect) or browser APIs (Canvas, FileReader). Add "use client"; at the top of client files.
  • Tailwind CSS v4Use utility classes exclusively. Do not write custom CSS unless strictly necessary.

State Management Rules

KissThePDF relies on lightweight React state (useState, useReducer) and React Context. Do not introduce global state management libraries (such as Redux) unless complex application requirements demand it.

Open Source Project

KissThePDF is 100% Free & Open Source

All code runs locally in your browser. Contribute code, report bugs, add new tools, or star the repository to support privacy-first software.