Thanks for your interest in contributing to this project 🚀
We welcome issues being submitted for bugs, feature requests, and small enhancements. Please make sure to open an issue before creating a PR.
Before you begin, make sure you have the following installed:
- Node.js
- pnpm
- Docker and Docker Compose
git clone https://github.com/utomic-media/directus-extension-field-actions.git
cd directus-extension-field-actions
pnpm installRun the following command in the project root to start the development builder for the extension:
pnpm devThis will watch for changes and automatically rebuild the extension during development.
A playground Directus instance is available for testing the extension. It automatically loads and reloads the extension when changes are detected. However there's no HMR in the browser. This means you manually need to reload the page, in order to get the latest changes.
Run this only before the first 'docker compose up' or when the Dockerfile or dependencies change:
cd playground
docker compose buildTo start the playground environment:
cd playground
docker compose upThe playground will be available at the configured URL with the demo credentials (see docker-compose.yml).
The playground database contains a basic demo instance with sample data for testing purposes. You can import / export the schema using directus-sync
To pull the config run
npx directus-sync pull -u <url> -e <admin_user_mail> -p <user_pw>To compare the local config files with your database:
npx directus-sync diff -u <url> -e <admin_user_mail> -p <user_pw>To push the changes from your config files to your db:
npx directus-sync push -u <url> -e <admin_user_mail> -p <user_pw>Important: Only commit relevant changes that are necessary for test cases to the git repository. Avoid pushing unnecessary database changes or temporary test data.
- Start the extension builder:
pnpm dev - Start the playground:
cd playground && docker compose up - Make your changes to the extension code
- Test your changes in the playground environment
- Create an issue
- Fork the repository
- Create a feature branch from
main - Make your changes following the development workflow above
- Submit a Pull Request with a clear description of your changes and link the issue
Thank you for contributing! 🎉