Thanks for your interest in contributing! This guide will help you get started.
- Node.js >= 24.0.0
- pnpm >= 10.0.0
git clone https://github.com/adrianbrowning/ts-type-debugger.git
cd ts-type-debugger
pnpm installpnpm dev # Start dev server at http://localhost:5173
pnpm build # Production build
pnpm preview # Preview production build- Fork the repository
- Create a feature branch from
maingit checkout -b feature/your-feature-name
- Make your changes
- Run tests and linting (see below)
- Commit with a descriptive message
- Push and open a Pull Request
This project uses Conventional Commits. Format:
type(scope): description
[optional body]
Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat(trace): add mapped type supportfix(ui): correct timeline scrubbing on mobiledocs: update contributing guide
pnpm test # Unit & integration tests
pnpm test:unit # Unit tests only
pnpm test:integration # Integration tests only
pnpm test:ui # Browser component tests
pnpm test:e2e # Playwright E2E tests
pnpm test:all # All tests
pnpm test:watch # Watch mode
pnpm test:coverage # Coverage reportAll tests must pass before merging.
pnpm lint:ts # TypeScript type checking
pnpm lint:fix # ESLint with auto-fix
pnpm lint # Both type check and ESLintsrc/
├── astGenerator.ts # Core AST parsing & trace generation
├── eval_local.ts # Type evaluation helpers
├── core/ # Type debugger core logic
│ ├── typeDebugger.ts # Main entry point
│ ├── traceProcessor.ts # Trace → display data
│ └── types.ts # Type definitions
├── web/ # React UI
│ ├── App.tsx # Main component
│ ├── components/ # UI components
│ └── hooks/ # Custom hooks
└── services/ # Supporting services
tests/
├── integration/ # Type resolution tests
├── ui/ # Component tests
└── e2e/ # Playwright browser tests
- Prefer
typeoverinterface - Use named tuple types:
[lat: number, long: number] - Keep code concise
- No unnecessary comments on self-explanatory code
- Keep PRs focused on a single change
- Include tests for new functionality
- Update documentation if needed
- Ensure all CI checks pass
- Request review from maintainers
Open an issue for questions or discussions about potential changes.