Command Palette

Search for a command to run...

Start

Contributing

பங்களிப்பு

Tamil DS is built by and for the Tamil digital community. Whether you fix a typo, report a bug, add a component, or share the project — every contribution matters.

Tamil DS தமிழ் டிஜிட்டல் சமூகத்தால் கட்டப்படுகிறது. ஒவ்வொரு பங்களிப்பும் முக்கியமானது.

Ways to contribute

Always open

Report a bug

பிழை தெரிவிக்கவும்

Found something broken? Open a GitHub issue with the component name, steps to reproduce, and your environment. Accessibility bugs are treated as P0 — highest priority.

High impact

Improve documentation

ஆவணங்களை மேம்படுத்தவும்

Docs can always be clearer. Fix typos, add examples, improve Tamil translations, or add missing usage rules. Documentation PRs are the fastest to review.

Read guide first

Add or improve a component

கூறுகளை சேர்க்கவும்

New components must be bilingual, WCAG AA compliant, and built on @base-ui/react. Follow the AI Vibe Coding manual for implementation quality.

Tamil speakers

Translate Tamil content

தமிழ் மொழிபெயர்ப்பு

Every component and page should have Tamil labels and descriptions. If you find missing Tamil content, submit a PR with natural Tamil phrases — not transliterated English.

Community

Share Tamil DS

Tamil DS ஐ பகிரவும்

Use it in a project and share what you built. Write about it. Present it at a design or developer meetup. Regional adoption depends on community sharing.

MIT

Fork and experiment

பிரிந்து சோதிக்கவும்

Tamil DS is MIT licensed. Fork it, adapt it, build something new on top of it. If your experiment improves the core system, open a PR.

Development setup

Clone the repository and run the dev server locally in under 2 minutes:

# 1. Clone
git clone https://github.com/selva-toi/Tamil_Design_System.git
cd tamilds

# 2. Install
npm install

# 3. Dev server (Turbopack)
npm run dev
# → http://localhost:3000

# 4. Type check
npx tsc --noEmit

# 5. Production build (required before PR)
npm run build
# → All 92+ routes must appear in output

Project structure

src/app/(docs)/

All documentation routes — add new pages here

src/app/(preview)/

Standalone block preview routes

src/components/ui/

UI primitives — built on @base-ui/react

src/components/docs/

Doc helpers: PageHeader, ComponentPreview, DoDont, PropsTable

src/components/layout/

Site shell: header, sidebar, footer, mobile nav

src/components/landing/

Homepage sections

src/components/blocks/

Large civic page compositions

src/lib/nav.ts

All sidebar and top nav items — add pages here too

src/app/globals.css

Tailwind v4 CSS-first tokens via @theme {}

Contribution guidelines

Every PR is reviewed against these requirements before merge:

One PR per feature or fix — keep changes focused and reviewable

All components must be bilingual: Tamil labels and descriptions required

WCAG AA minimum for all interactive UI — accessibility is non-negotiable

Follow the AI Vibe Coding manual for code quality, imports, and naming

Use @base-ui/react primitives — not Radix UI or custom div/button markup

Run npm run build before submitting — all 92+ routes must pass

Never hardcode oklch/hex/rgb values — use CSS token utilities only

Apply font-tamil only to text nodes, never to wrapper elements with controls

Code of conduct

Tamil DS is a Tamil-first, inclusive community. We welcome contributors of all backgrounds, experience levels, and geographies. In all interactions — issues, PRs, discussions — be respectful, patient, and constructive.

  • Tamil speakers: use natural Tamil, not transliterated English, in content PRs
  • English is fine for code, PR titles, and technical discussions
  • Discriminatory, harmful, or exclusionary language is never acceptable
  • Treat every bug report as an opportunity to improve, not a criticism

Getting help