Thank you for your interest in contributing to LateWiz! This document provides guidelines and information for contributors.
Be respectful, inclusive, and constructive. We're all here to build something great together.
- Node.js 18+
- npm 9+
- A Late API key for testing
-
Fork the repository
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/latewiz.git cd latewiz -
Install dependencies:
npm install
-
Copy environment variables:
cp .env.example .env.local
-
Add your Late API key to
.env.local -
Start the development server:
npm run dev
- We use TypeScript for type safety
- Follow existing patterns in the codebase
- Use meaningful variable and function names
- Keep components small and focused
We use Conventional Commits:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
Examples:
feat: add drag-and-drop to calendar
fix: resolve timezone offset in scheduler
docs: update README with Docker instructions
-
Create a new branch from
main:git checkout -b feat/your-feature-name
-
Make your changes
-
Run linting and type checks:
npm run lint npx tsc --noEmit
-
Push your branch and create a PR
-
Fill out the PR template with:
- What the PR does
- How to test it
- Screenshots (for UI changes)
src/
├── app/ # Next.js App Router pages
├── components/
│ ├── ui/ # shadcn/ui base components
│ ├── composer/ # Post composer components
│ ├── calendar/ # Calendar components
│ └── shared/ # Reusable components
├── lib/
│ └── late-api/ # Late API client and types
└── stores/ # Zustand state stores
- Next.js 14 - App Router, Server Components
- Tailwind CSS - Utility-first styling
- shadcn/ui - Headless UI components
- TanStack Query - Server state management
- Zustand - Client state management
- Late SDK -
@getlatedev/nodefor API calls
- UI Components: Add to
src/components/, use shadcn/ui primitives - API Integration: Use the Late SDK via
src/lib/late-api/ - State: Use Zustand for client state, TanStack Query for server state
- Routes: Add to
src/app/following Next.js App Router conventions
Include:
- Steps to reproduce
- Expected vs actual behavior
- Browser/OS information
- Screenshots if applicable
Include:
- Use case description
- Proposed solution (optional)
- Alternatives considered (optional)
- Open a GitHub Discussion
- Join our Discord
By contributing, you agree that your contributions will be licensed under the MIT License.