The following is a set of guidelines and tips for contributing to the TinaCMS and its packages.
- Reporting Bugs
- Suggesting Enhancements
- Writing Docs, Guides, or Blog Posts
- Volunteering for User Testing
TinaCMS uses Conventional Commits to generate CHANGELOG entries. Please make sure your commits follow this convention.
Please include the package name in the scope of your commit. For example:
fix(react-tinacms-editor): table row add and delete icons no longer overlap
Packages in Tina are organized according to their name
Type | Naming Convention | Example Path |
---|---|---|
Core Tina | @tinacms/* |
@tinacms/core |
React | react-tinacms-* |
react-tinacms-remark |
Next.js | next-tinacms-* |
next-tinacms-json |
Gatsby | gatsby-tinacms-* |
gatsby-tinacms-json |
Demos | demo-* |
demo-gatsby |
This section contains solutions to various problems you may run into when developing for TinaCMS.
The links between the local packages may have been broken. If this is the problem, then
running npm run bootstrap
should fix the issue.
sh: tinacms-scripts: command not found
Linking prevents running npm install
from directly inside a package from working. There are two ways to get around this issue.
-
Add the package with lerna
You can use lerna to add new dependencies to a package from the root of the repository:
lerna add react --scope react-cms
The downside of this approach is you can only add one dependency at a time. If you need to add many packages, you can use the next method.
-
Add dependencies manually, then bootstrap
The other approach is to manually add the dependencies to the
package.json
and then runnpm run bootstrap
from the root of the repository. -
When I run
npm run bs
it deletes the contents of a package?This sucks. Try running
lerna clean
and then runningnpm run bs
again.
There are two reasons this error might occur:
-
The package did not link to
some-tinacms-package
This is likely the problem if
some-tinacms-package
is missing from thenode_modules
. If it is, do the following:- Make sure
some-tinacms-package
is listed in thepackage.json
- Run
npm run bootstrap
from the root of the repo.
- Make sure
-
some-tinacms-package
was not built.This is likely the problem if: the
build
directory is missing; there are no.d.ts
or.js
files. To fix this issue simply runnpm run build
from the root of the repository.
The TinaCMS core team releases frequently. Checkout the RELEASE.md file to see how to create a release.