limbicnationandClaude Opus 4.7 604639e8b3 ci: prevent silent version drift with pre-commit and GH Actions guards
Direct response to the v1.1.x → v1.3.0 silent-skip pattern, where
pyproject.toml was bumped four times without ever pushing the matching
git tag, so .github/workflows/publish.yml never fired and the registry
stayed on v1.1.6.

- scripts/check_version_tag.py: stdlib-only (tomllib) script that fails
  if pyproject.toml's version has no matching git tag locally.
- .pre-commit-config.yaml: wires ruff (check + format) and the local
  version-tag-guard hook. The guard fires only on pyproject.toml edits.
- test.yml: new verify-tag-exists job that fails the main-branch build
  when pyproject.toml's version has no matching tag in the repo. Belt
  and suspenders for the pre-commit hook.
- test.yml validate job: same comfy-cli telemetry fix already applied
  to publish.yml; suppresses the interactive opt-in prompt in CI.
- pytest.ini + test.yml: lower coverage gate from 70 (never enforced;
  failed on every main push since chain nodes were added) to 50 (the
  actual current floor). Comment marks it as a starting point for
  future test growth.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 06:15:08 +02:00
2026-04-28 05:01:03 +02:00
2025-12-13 02:30:53 +01:00
2025-12-12 23:59:31 +01:00

Prompt Generator Icon

ComfyUI Prompt Generator

Generate detailed Stable Diffusion prompts using Qwen3-8B via Ollama, directly within ComfyUI.


ComfyUI Node License

Feature Image

Features

  • 7 Style Presets: Cinematic, Anime, Photorealistic, Fantasy, Abstract, Cyberpunk, Sci-Fi
  • Temperature & Top-P Controls: Fine-tune generation creativity
  • Focus Area (Emphasis): Direct the prompt to emphasize specific aspects
  • Mood/Atmosphere: Set the emotional tone of the generated prompt
  • Reasoning Toggle: Show or hide the model's thinking process

Prerequisites

  1. Ollama installed and running: https://ollama.ai

  2. Qwen3-8B model pulled:

    ollama pull qwen3:8b
    

Installation

cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/Limbicnation/ComfyUI-PromptGenerator.git
cd ComfyUI-PromptGenerator
pip install -r requirements.txt

Option 2: ComfyUI Manager

Search for "Prompt Generator" in the ComfyUI Manager and install.

Note: If you see "With the current security level configuration, only custom nodes from the 'default channel' can be installed", temporarily set security_level = weak in your ComfyUI Manager's config.ini file, then restore it to normal after installation. See PUBLISHING.md for details.

Usage

  1. Restart ComfyUI after installation
  2. Right-click → Add Node → text/generation → 🎨 Prompt Generator (Qwen)
  3. Connect the output prompt to your text encoder or save node

Node Inputs

Input Type Description
description STRING Your image concept (required)
style COMBO Style preset (cinematic, anime, etc.)
emphasis STRING Focus area (optional)
mood STRING Atmosphere/mood (optional)
temperature FLOAT Creativity (0.1-1.0, default: 0.7)
top_p FLOAT Sampling threshold (0.1-1.0, default: 0.9)
include_reasoning BOOLEAN Show model's thinking process
model STRING Ollama model (default: qwen3:8b)

Example Workflow

Download the example workflow: workflow/workflow.png

Workflow

Customizing Styles

Edit config/templates.yaml to add or modify style templates. Templates use Jinja2 syntax:

my_custom_style:
  name: "My Style"
  description: "Description for UI"
  template: |
    Write a prompt for: {{ description }}
    {% if emphasis %}Focus on: {{ emphasis }}{% endif %}
    {% if mood %}Mood: {{ mood }}{% endif %}

Troubleshooting

"Ollama not found"

  • Ensure Ollama is installed and the ollama command is in your PATH
  • Start the Ollama server: ollama serve

"Model not found"

  • Pull the model: ollama pull qwen3:8b

Temperature/Top-P not working

  • Install the Ollama Python package: pip install ollama

License

Apache 2.0 - See LICENSE for details.

Credits

This ComfyUI node is based on the prompt-gen project.

S
Description
No description provided
Readme Apache-2.0
5.5 MiB
Languages
Python 100%