WANT TOCONTRIB-UTE?
Screenplay Studio is open-source. Its quality depends entirely on people who care enough to look at the code and make it better. That includes you.
WHAT WE
NEED.
Code
Good FirstFix bugs, ship features, refactor, improve performance. TypeScript / Next.js / React / Supabase stack.
Design
Good FirstUI/UX improvements, icon sets, accessibility audits, print layout polish, mobile responsiveness.
Documentation
Good FirstWrite guides, how-to articles, API references, and setup documentation for new contributors.
Testing & QA
Write unit, integration, and end-to-end tests. Report bugs with clear reproduction steps.
Community
Good FirstAnswer questions in discussions, triage issues, help onboard new contributors, write tutorials.
Translations
Good FirstHelp bring Screenplay Studio to non-English speaking writers. Any language welcome.
HOW TO
DO IT.
Fork & Clone
Fork the repository on GitHub, then clone your fork locally.
git clone https://github.com/YOUR_USERNAME/screenplay-studio.git
cd screenplay-studioInstall Dependencies
Install Node.js dependencies and set up your local environment file.
npm install
cp .env.example .env.local
# Fill in your Supabase URL and anon keyCreate a Branch
Branch off main with a descriptive name. Use the type prefix that matches your change.
git checkout -b feat/mobile-editor
# or: fix/pdf-export-crash
# or: docs/keyboard-shortcutsMake Your Change
Write code. TypeScript strict mode is enforced — keep it clean.
npm run dev # start dev server (localhost:3000)
npx tsc --noEmit # must pass before you pushCommit with Convention
Use conventional commit messages so the changelog writes itself.
git add .
git commit -m "feat: add mobile script editor with touch formatting"Open a Pull Request
Push to your fork and open a PR against main. Fill in the PR template — describe what changed and why. A maintainer will review within a few days.
git push origin feat/mobile-editor
# Then visit github.com and click "Compare & Pull Request"WHAT WE'RE
WORKING ON.
Mobile Script Editor
Touch-optimised screenplay editing for phones and tablets.
Dark Mode PDF Export
Option to export scripts with a dark background for screen reading.
Keyboard Shortcut Map
Complete visual reference page for all editor keyboard shortcuts.
Accessibility Audit
Full WCAG 2.1 AA audit and fixes across all major pages.
Unit Tests for Stores
Zustand store logic needs coverage — no prior test experience needed.
Norwegian Translation
UI strings for Norwegian bokmål / nynorsk.
Offline Mode (PWA)
Service worker caching so the script editor works without internet.
Component Storybook
Document and isolate all UI components in a Storybook instance.
For the full list with discussion threads, labels, and assignees, head to the GitHub Issues tab.
All GitHub Issues→THE
RULES.
YOUR NAME
IN THE BUILD.
Every contributor is credited. Your GitHub handle appears in the automatic changelog, the CONTRIBUTORS.md file, and the in-app credits page as soon as your first PR is merged.
GitHub Credits
Every merged PR gets you listed in CONTRIBUTORS.md and the release notes. Automatically.
In-App Credits
The /about page inside the app lists all contributors by name with links to their profiles.
Maintainer Status
Consistent contributors may be offered maintainer access — triaging issues, reviewing PRs, shaping the roadmap.
CURRENT
CONTRIBUTORS.
Everyone who has contributed to the platform in any form. Get your name on this list by opening a pull request or helping the community.
WHAT WE'RE
BUILT WITH.
Next.js 14
App Router
TypeScript
Strict mode
Supabase
Postgres + Auth + Realtime
Tailwind CSS
v3
Zustand
Global state
Vercel
Deployment
React 18
Server + Client
Sonner
Toast notifications