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
There are several ways to contribute to Manifest other than developing:
- 🐛 Report a bug using GitHub issues
- ✨ Suggest an enhancement using GitHub discussions
- 🪶 Correct or improve the doc in its own repository
- 🔧 To work on issues, first check out our Good First Issue.
Otherwise, you also can offer your help by talking to a team member on our Discord 🤗.
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 | - |
- You are familiar with Git (issues and PR) and Github flow
- You have read the docs
- You have looked at the Code of Conduct and MIT License
- 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
- 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
- When ready, create a branch for the issue your are fixing from the Github issue "Development" paragraph in the sidebar
- Make your changes
- Run
npx changeset
and add the changeset for your work - Open a Pull Request from your fork from your branch to the
master
branch - The core team will review it soon, ask for feedback, and eventually merge it
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
npm run test
Happy coding! 🤗