Skip to content

Latest commit

 

History

History
90 lines (61 loc) · 5.94 KB

CONTRIBUTING.md

File metadata and controls

90 lines (61 loc) · 5.94 KB

Contributing to Manifest

Thank you for taking the time to contribute to Manifest! 🫶 🎉

Manifest aims to simplify backend development. We want to make backends simple and fun, allowing more people to create and share their own tools.

Manifest is an Open Source project hosted under the Manifest organization on GitHub

How can I contribute?

There are several ways to contribute to Manifest other than developing:

Otherwise, you also can offer your help by talking to a team member on our Discord 🤗.

Packages and repositories

Before coding it is important to understand where the functionality you want to change is located.

Manifest is a set of several packages and repositories built with open source software, using TypeScript as the main language.

Name Description Stack Repo Package
Manifest Manifest core NestJS / TypeORM manifest manifest
Manifest Admin Official Admin Panel Angular manifest -
Add Manifest NPX install script OCLIF manifest add-manifest
JSON Schema Manifest JSON SCHEMA: https://schema.manifest.build/schema.json JSON manifest -
Types Manifest Types library TypeScript manifest -
Helpers Manifest Helpers library TypeScript manifest -
JS SDK Client JavaScript SDK TypeScript manifest @mnfst/sdk
Website Official website: https://manifest.build NextJS website -
Docs Documentation: https://manifest.build/docs Docusaurus docs -

Development workflow and guidelines

Prerequisites

Before you start

  • Manifest is built on the concept of simplicity, contributions should go in that direction
  • Each PR code quality is checked with CodeFactor for syntax, CodeCov for testing coverage and Changesets for version numbers and changelogs
  • Commit labels should be made using the Conventional Commits convention
  • Please create only one thing per pull request as it is easier to validate and merge

Workflow

  1. Make sure that there is an existing issue for what you will be working on. If not, create one as this ensures that others can contribute with thoughts or suggest alternatives
  2. When ready, create a branch for the issue your are fixing from the Github issue "Development" paragraph in the sidebar
  3. Make your changes
  4. Run npx changeset and add the changeset for your work
  5. Open a Pull Request from your fork from your branch to the master branch
  6. The core team will review it soon, ask for feedback, and eventually merge it

Getting started

From the root of the repository, run:

npm install
npm install --workspaces

npm run dev

Then you can play around with your backend.yml file at packages/core/manifest/manifest/backend.yml and see the results:

  • Admin panel http://localhost:4200
  • API Doc http://localhost:3000/api

Once the app is running, don't forget to seed to generate an admin user and dummy data:

npm run seed

Test

npm run test

Happy coding! 🤗