We're excited to have you join our community and contribute to making MetaCall Launchpad better. Please follow this guide to ensure a smooth contribution process and maintain the quality of our codebase.
Before diving into the code, we highly recommend checking out these videos to get a full picture of the Launchpad and how it works:
- MetaCall Launchpad Overview
- How to create a Newsletter self-contained solution with MetaCall & DynamoDB
- Code of Conduct
- Our Development Process
- Contribution Flow
- Issues
- Pull Requests
- Conventional Commits
- Development Setup
- Coding Standards
- Testing
This project and everyone participating in it is governed by the MetaCall Code of Conduct. By participating, you are expected to uphold this code. Please read the full text to understand the expected behavior.
We use GitHub to host code, track issues and feature requests, and accept pull requests. All changes happen through pull requests — they are the best way to propose changes to the codebase.
We openly accept contributions of all kinds — no gatekeeping, no restrictions. Here's how a typical contribution looks for this project:
┌───────────────────────────┐
│ Find something to work │
│ on: a bug, a feature, │
│ a UI improvement, or │
│ a documentation gap │
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Open an issue describing │
│ the problem or idea │
│ (skip for small typos │
│ or obvious fixes) │
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Fork, code, and open a │
│ Pull Request linking │
│ your issue │
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ A maintainer reviews │
│ your PR, provides │
│ feedback, and merges it │
└───────────────────────────┘
Here are some areas where the Launchpad could use your help:
- UI/UX improvements — Polish the dashboard, improve responsiveness, or enhance accessibility.
- Deployment features — Improve the ZIP/Git deploy flows or the real-time log streaming.
- Testing — Add unit tests (Vitest) or E2E tests (Playwright) for uncovered areas.
- Documentation — Fix typos, clarify setup instructions, or add missing guides.
Tip: If you're planning to add a new feature, we'd love to hear about it first! Come chat with us on Discord so we can discuss the idea together before you start coding.
Open an issue only if you want to report a bug or request a feature. Please use our issue templates, which provide hints on what information we need to help you out.
- Don't open issues for general questions or support. Instead, join our community channels listed in the README.
- Search existing issues first to avoid duplicates.
- If you find an existing issue that describes your problem, add a 👍 reaction instead of opening a new one.
Please open an issue before starting a Pull Request unless it's a typo or a really obvious fix. A PR may be rejected if no issue was created first to discuss the need for the change.
- Fork the repository and create your branch from
main. - If you've added code that should be tested, add tests.
- If you've changed APIs or features, mention the change in the PR description.
- Ensure the test suite passes (
npm run unitandnpm run test). - Make sure your code lints and is formatted (
npm run lintandnpm run format). - Submit your pull request!
We follow the Conventional Commits specification. Pull request titles should follow this format:
| Prefix | Use when... |
|---|---|
fix: |
The PR is a bug fix |
feat: |
The PR introduces a new feature |
docs: |
The PR only relates to documentation |
chore: |
The PR is related to cleanup, CI, or tooling |
test: |
The PR is only related to tests |
refactor: |
The PR is a code refactor with no behavior change |
Tip: The title must also be clear and descriptive, using the imperative mood (e.g.,
fix: resolve login redirect loop).
To set up the project locally:
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/dashboard.git cd Dashboard - Install dependencies:
npm install
- Configure environment:
Set
cp .env.example .env
VITE_FAAS_URLto point to your running MetaCall FaaS backend. - Start development server:
npm run dev
For more details, refer to the Testing Guide and README.
- We use ESLint for linting and Prettier for code formatting.
- Always run
npm run lint:fixandnpm run formatbefore committing. - Write clean, readable, and well-documented code.
- Use meaningful commit messages following Conventional Commits.
Before submitting a pull request, ensure all tests pass:
| Command | Description |
|---|---|
npm run unit |
Run unit tests with Vitest |
npm run test |
Run Playwright E2E tests |
If you add new features or fix bugs, please include corresponding tests.
Happy contributing! Your efforts help make MetaCall better for everyone.