A Node-RED node that adds an "Ask ChatGPT" input and button to a duplicate of the built-in function node.
To add the node to your own instance of Node-RED:
- Open the "Menu" inside Node-RED
- Click "Manage palette"
- Select the "Install" tab
- Search "chatgpt"
- Install the
node-red-function-gptnode
You will need a valid API Key from OpenAI
- Add the Function GPT nodes to your editor
- Configure your ChatGPT credentials
- Deploy your nodes
- Open the function-gpt node
- Type your prompt into the text input at the bottom of the editor panel and click "Ask ChatGPT".
If you want to inject code into already written content, you can write an inline prompt. These prompts are written as comments, e.g.:
//$PROMPT: Double the inputIf you've configured Node-RED to use the "Monaco" editor, this will then show an "Ask ChatGPT" hyperlink above the inserted comment, that you can click to ask this to ChatGPT.
You can have as many of these within the function node as you like.
After adding the node to the palette, you do currently need to "Deploy", before you can use the integrated ChatGPT prompt.
In this project, the Release Please is used to automatically determine the next release version based on the commit messages in the codebase.
By using the Conventional Commits, the project adheres to a standardized format for commit messages, which Release Please uses to determine whether the next release should be a major, minor, or patch release.
-
The
Prepare releaseGitHub Action workflow:- A Release Please action that analyzes commit messages to determine the type of release required (major, minor, patch) based on the Conventional Commits specification
- Creates a pre-release pull request with the proposed version bump and changelog
- Once merged, automatically updates the version number in
package.jsonand creates a new release on GitHub with the appropriate changelog
-
The
Lint Pull Request TitleGitHub Action workflow:- A workflow that runs on pull request creation and uses the
amannn/action-semantic-pull-requestaction to validate that pull request titles follow the Conventional Commits format - Together with adjusted default merge commit message, this ensures that all commits merged into the main branch adhere to the expected format, allowing Release Please to function correctly
- A workflow that runs on pull request creation and uses the
-
The
Release PublishedGitHub Action workflow:- A workflow that runs when a new git tag in
v*.*.*format is pushed and is responsible for publishing the new version of the package to the public npm registry using theJS-DevTools/npm-publishaction - Once package is published, the workflow updates the package version in the Node-RED Flow Library catalogue
- A workflow that runs when a new git tag in
The Conventional Commits preset expects pull request titles to be in the following format:
<type>(<scope>): <subject>
- Type: Describes the category of the commit. Examples include:
feat: A new feature (triggers a minor version bump).fix: A bug fix (triggers a patch version bump).perf: A code change that improves performance (triggers a patch version bump).refactor: A code change that neither fixes a bug nor adds a feature (does not trigger a release unless it's accompanied by a BREAKING CHANGE).docs: Documentation-only changes (does not trigger a release).chore: Changes to the build process or auxiliary tools and libraries (does not trigger a release).
- Scope: An optional part that provides additional context about what was changed (e.g., module, component).
- Subject: A brief description of the changes.
To indicate a breaking change, the exclamation mark ! should be used immediately after the type/scope:
feat!:fix!:refactor!:
This code is derived from the core Node-RED Function node that is copyright OpenJS Foundation and licensed under the Apache License, Version 2.0
