# AGENTS.md ## Repository Purpose TypeScript algorithms learning library with demo UI. Also publishes as a npm library. ## Essential Commands **Development:** - `npm run dev` - Start Vite dev server (demo UI in src/) - `npm run build` - Build library (tsc + vite build → dist/) - `npm run test` - Run tests with Vitest - `npm run test:report` - Run tests with verbose output - `npm run coverage` - Run tests with coverage report **Add New Algorithm:** - `npm run add:module ` - Create new algorithm module in lib/ - Generates: `.ts`, `.test.ts`, `index.ts`, `readme.md` - Creates test with sample data [-12, 1, 4, 6, 22] ## Architecture **Dual Structure:** - `src/` - Vite demo application (development only) - `lib/` - Library source code (gets built to dist/) **Library Entry:** - Main: `./lib/main.ts` → exports setupCounter - Build outputs: `dist/counter.{js,umd.cjs}` - Types: `./index.d.ts` **Algorithm Pattern:** Each algorithm in lib/ has: - Implementation in `.ts` - Test in `.test.ts` - Index re-export in `index.ts` - README with complexity analysis ## Build Order When publishing: `npm run build` → generates library files in dist/ ## Testing - Uses Vitest (not Jest) - Test files alongside implementations in lib/ - Default test array: [-12, 1, 4, 6, 22]