Ways to contribute
- Fix the docs — bad wording, missing examples, anything inaccurate.
- Fix the template — squash bugs or improve the scaffolded app in
/template. - Report or suggest — open an issue for a bug or an improvement.
- Share Ship — tell anyone who might want to build products, not boilerplate.
Repo layout
Ship is a pnpm + Turborepo monorepo. The pieces you’ll touch most:Shared packages
Thetemplate/packages/ folder holds the packages every generated app shares:
@ship/emails and @ship/cloud-storage arrive via the mailer and cloud-storage plugins; the rest are part of the base template.
Open a pull request
1
Fork and branch
Fork the project, then branch off
main with a name that describes your change.2
Make the change
Implement it and commit. CI runs build and lint checks on the PR — see GitHub Actions.
3
Open the PR
Push and open a pull request against
main. Attach three labels: To Review, a functionality type (Feature / Bug / Improvement), and an edit location (docs, create-ship-app, or template).main. Otherwise we leave comments and label it Changes Requested — make the fixes, then reattach To Review.
Run the template
1
Enter the template
2
Create the API env file
Copy
apps/api/.env.example to apps/api/.env.3
Install dependencies
4
Start everything
Run the docs
Ship’s docs use Mintlify and live in the/docs folder, written in MDX.
1
Install the Mintlify CLI
2
Run from the repo root
cd docs && mint dev --port 4100.Deployment
Ship ships configs for four targets — AWS (EKS), DigitalOcean Kubernetes, DigitalOcean Apps, and Render — under/deploy. The CLI copies the config for the target you pick into your generated project.
To test a target end to end, scaffold a fresh project with npx @paralect/ship init, choose the deployment target, and follow the deployment instructions.