We welcome contributions to the Griptape Nodes Core Library! This library provides nodes organized by category including agents, audio, image processing, text manipulation, and more.
IMPORTANT: For now, all development for this library happens in the main griptape-nodes repository under the libraries/griptape_nodes_library/ directory.
This library is automatically synced to the public griptape-nodes-library-standard repository when changes are pushed to the main branch.
Please refer to the main CONTRIBUTING.md in the griptape-nodes repository for:
- Installing
uvand setting up your development environment - Installing dependencies with
uv sync --all-groups --all-extras - Code style guidelines (Ruff, Pyright)
- Running checks with
make checkandmake fix - General contribution workflow
-
Find the library code - All nodes for this library are located in:
libraries/griptape_nodes_library/griptape_nodes_library/Nodes are organized by category:
agents/- Agent nodesaudio/- Audio processing nodesimage/- Image manipulation nodestext/- Text processing nodesvideo/- Video processing nodes- And 17 more categories...
-
Make your changes - Follow the existing code structure and style in the library.
-
Run tests - Test the library to ensure your changes work:
# From the repository root uv run pytest libraries/griptape_nodes_library/tests/ -
Follow code quality standards - Run checks before submitting:
make check # Check linting, formatting, and type errors make fix # Auto-fix issues where possible
-
Submit a pull request - Open a PR against the
mainbranch of the griptape-nodes repository.
When changes are merged to the main branch in the griptape-nodes repository, they automatically sync to the public griptape-nodes-library-standard repository via GitHub Actions.
You don't need to do anything special for this sync to happen - it's automatic.
Releases involve two steps: updating the version in the main repository, then publishing from the synced library repository.
-
Navigate to the library directory:
cd libraries/griptape_nodes_library -
Edit
griptape_nodes_library.jsonand update the version in the metadata section:{ "metadata": { "library_version": "0.52.4" } } -
Commit and push:
git add griptape_nodes_library.json git commit -m "chore: bump griptape_nodes_library to v0.52.4" git push origin mainThis automatically syncs the changes to the public library repository.
After the sync completes:
- Go to the griptape-nodes-library-standard repository on GitHub
- Navigate to Actions → "Publish Version"
- Run the workflow manually to:
- Create version tag (e.g.,
v0.52.4) - Update
stabletag - Create GitHub release with auto-generated notes
- Create version tag (e.g.,
The library also has automated workflows:
version-bump-patch.yml/version-bump-minor.yml- Can bump versions (but currently versions are managed in main repo)nightly-release.yml- Creates nightly prerelease builds automatically
For questions about contributing, please open an issue in the griptape-nodes repository.
Thank you for contributing!