Gridmix is an open-source project built by core maintainers and contributors. We want to make it easy for anyone to contribute to Gridmix. Contribute to core, build plugins, improve documentation or write a blog post. It all helps Gridmix on its mission to simplify Jamstack development.
Read the code of conduct.
Gridmix uses a monorepo pattern to manage its dependencies and core plugins. To contribute to core you need to install Gridmix core locally. This also enables you to run personal Gridmix projects on latest Gridmix development version.
Install Node.js 22.18 or higher and run corepack enable so the pnpm version pinned in the repo's package.json is used automatically.
https://github.com/gridmix/gridmix.git repository.pnpm install in the repo root. pnpm workspaces link all core packages together — no extra bootstrap step is needed../projects folder. It's part of the pnpm workspace and ignored by git.package.json, reference local packages with the workspace protocol — for example "gridmix": "workspace:*". This makes pnpm symlink the local core packages instead of fetching them from npm.pnpm install again (from anywhere in the repo) and start your project with pnpm gridmix develop.The repo also contains a playground workspace that is already wired up this way — use it as a reference or as a quick test bed.
To use the local @gridmix/cli as a global command, enter the ./packages/cli folder and run pnpm link.
pnpm will record your test projects from the ./projects folder in the root pnpm-lock.yaml file. So you should not commit changes in that file unless you have changed dependencies of any of the core packages. If you need to commit it, move your projects out of the ./projects folder temporarily and run pnpm install in the root folder. pnpm will then regenerate the lock file with only core dependencies. Commit the file, move your projects back, and run pnpm install again to continue developing.
We are a strong believer that documentation is very important for any open-source projects. Gridmix uses, of course, Gridmix for its website and documentation.
You can also clone the Gridmix website repo and work locally on documentation. Install it like any other Gridmix project.
Creating guest blog posts for Gridmix website users is a great way to contribute to Gridmix community. A typical blog post could be: How our company is using Gridmix to do XX, or How to integrate XX with Gridmix.
To add a new blog post to the gridmix.github.io blog:
Prepare repository:
yarn to install all of the website's dependencies.gridmix develop to preview the blog at http://localhost:8000/blog/./blog folder.Create your contributor profile:
/contributors/images./contributors/contributors.yaml.Setup blog post:
/blog/yyyy-mm-dd-title (for example, 2018-09-14-say-hello-to-gridmix). Within this newly created folder add an index.md file.title, date, author, and tags to the frontmatter of your index.md.index.md./docs/how-to-contribute/ instead of https://gridmix.github.io/docs/how-to-contribute/docs, like docs/your-change.Contributing a new starter project is a great way to help other Gridmix users to get off the ground quickly. If you want to list your project as an "official" Starter, you must commit the appropriate entry inside the Gridmix website repo.
To add your Starter to gridmix.github.io:
Prepare repository:
yarn to install all of the website's dependencies.Create your contributor profile:
/contributors/images./contributors/contributors.yaml.Add your starter project:
/starters/screenshots (840x840px / 1680x1680 for retina)./starters/starters.yaml.Recommendations to your Starter project
gridmix-starter-<YOUR PROJECT SUFFIX>Committing your Starter
gridmix develop to preview starter at http://localhost:8000/starters/.Coming soon...