Add hermes/opencode/ollama AI tooling, changelog-sync docs tooling, and properties.yml gitignore automation - #20
Merged
LevonBecker merged 1 commit intoAug 11, 2026
Conversation
…nd properties.yml gitignore automation
Ports the AI-tool integration layer from template_ai_vault into this repo (its parent), plus two
new pieces of tooling:
- modules/hermes, modules/opencode, modules/ollama + modules/common/prompt_commands.py — synced
command generation for Hermes and OpenCode, and local-LLM management via ollama
- tasks/ai/{hermes,opencode,ollama}.py wired into tasks/__init__.py, plus a new ai.sync combo task
(tasks/common/main.py) that runs both sync tasks at once
- .opencode/command/ generated via `invoke opencode.sync` (17 commands, sourced from this repo's
own .github/prompts/) — a genuinely new, fifth synced command mirror; tests/agents/test_check_agents.py
now verifies it stays in sync alongside the existing three hand-maintained mirrors
- modules/docs + tasks/ai/docs.py (docs.update_changelogs) — changelog-sync tooling ported from
fireball_orchestrator, generalized: CHANGELOG_CATEGORIES starts empty since nothing here is
version-tracked yet, ready for a downstream repo to add its own category. Backed by a new
tests/drift/docs/ marker + drift gate
- modules/setup/properties.py: properties.yml is now only gitignored in template repos (anything
named template_*) — a real repo forked from a template gets the ignore line stripped from
.gitignore automatically the first time setup runs there, so properties.yml is committed like
any other repo config instead of requiring a manual .gitignore edit
Updated docs.instructions.md, modules.instructions.md, tasks.instructions.md, prompts.instructions.md,
and review.instructions.md accordingly, plus README.md/modules/README.md's Project Structure,
Invoke Tasks, and Modules sections.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
LevonBecker
deleted the
add_ai_tooling_hermes_opencode_ollama_docs_lbecker
branch
August 11, 2026 22:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ports the AI-tool integration layer from
template_ai_vaultinto this repo (its parent), plus twonew pieces of tooling: changelog-sync (
docs) and automaticproperties.ymlgitignore handling.Changes
modules/hermes,modules/opencode,modules/ollama+modules/common/prompt_commands.py—synced command generation for Hermes and OpenCode, local-LLM management via ollama
tasks/ai/{hermes,opencode,ollama}.pywired intotasks/__init__.py, plus a newai.synccombotask
.opencode/command/generated viainvoke opencode.sync(17 commands) — a new, fifth syncedcommand mirror;
tests/agents/test_check_agents.pynow verifies it stays in syncmodules/docs+tasks/ai/docs.py(docs.update_changelogs) — changelog-sync tooling portedfrom
fireball_orchestrator, generalized:CHANGELOG_CATEGORIESstarts empty since nothing hereis version-tracked yet, ready for a downstream repo to add its own category. Backed by a new
tests/drift/docs/marker + drift gatemodules/setup/properties.py:properties.ymlis now only gitignored in template repos(anything named
template_*) — a real repo forked from a template gets the ignore line strippedfrom
.gitignoreautomatically the first time setup runs theredocs.instructions.md,modules.instructions.md,tasks.instructions.md,prompts.instructions.md,review.instructions.md, and README/module READMEs accordinglyVerification
uv run --no-sync invoke fix && uv run --no-sync invoke test— 10/10 pylint, ruff clean, 19/19pytest passed (including the new drift and setup tests), actionlint/yamllint/check_agents clean.