Skip to content

[main] chore(agent-readiness): bootstrap basic AGENTS.md and minor repo updates - #417

Open
openshift-cherrypick-robot wants to merge 9 commits into
redhat-developer:mainfrom
openshift-cherrypick-robot:cherry-pick-255-to-main
Open

openshift-cherrypick-robot wants to merge 9 commits into
redhat-developer:mainfrom
openshift-cherrypick-robot:cherry-pick-255-to-main

Conversation

@openshift-cherrypick-robot

Copy link
Copy Markdown
Contributor

This is an automated cherry-pick of #255

/assign rm3l

johnmcollier and others added 9 commits November 9, 2026 16:58
Signed-off-by: John Collier <jcollier@redhat.com>
…argets

The committed Claude hook read CLAUDE_FILE_PATH, a variable Claude Code does
not export, so it silently did nothing on every edit. Drop it and make
`make lint` the single entry point instead, running dclint and shellcheck
from pinned container images so no Node.js, npx, or host linter is needed.

Align the Makefile with the documented lifecycle while there: `stop` and
`restart` now act on the rhdh service instead of tearing down the whole
project, `down` is the full teardown, `help` is the default goal, and
OVERLAYS takes short names (db, corporate-proxy, dynamic-plugins-root,
orchestrator) or any compose file path, with compose.yaml always named
explicitly so an overlay can never be run on its own.

AGENTS.md now documents the make targets, the overlays, and the tests/
validators that CI actually runs, since the previous lint-only guidance
left no way to verify a compose change.

Assisted-by: DeepSeek V4.1 Flash
Signed-off-by: Armel Soro <asoro@redhat.com>
Replace the maintainer TODOs with the conventions and architecture an agent
cannot infer from the code alone: the main/dev/release-x.y branching model
and the PR warning the branch-target workflow posts, the TechDocs nav
requirement, the rule that user configuration stays in git-ignored
*.local.yaml and *.override.yaml files, and the plugin configuration
precedence where the selected file replaces the default list rather than
merging into it.

Record how startup actually works as well: the two-stage
install-dynamic-plugins → rhdh handoff, the runtime app-config layering
order, the shared volumes and bind mounts, and the fact that tests/ holds
validators that need a running instance. Also note where the lightly
discovered pieces live (orchestrator/, intelligent-assistant/, and the
generated Lightspeed configs), and point at the plugin development and
operating guides from Pattern References.

Assisted-by: DeepSeek V4.1 Flash
Signed-off-by: Armel Soro <asoro@redhat.com>
The intro is now two sentences: what RHDH Local is for (running RHDH on
the machine with Docker or Podman Compose, a fast inner loop for catalog
entries, TechDocs, templates, app config, and dynamic plugin development),
and what it is not (a supported product, for production, or for teams).
An agent should not propose this setup for production.

Then add a Plugin Development section summarising the TechDocs workflow:
load an exported plugin from local-plugins or the dynamic-plugins-root
volume, iterate on a frontend plugin with plugin export --dev plus a
browser refresh, debug a backend plugin over port 9229, and start from a
clean state since exports persist in a volume. Commands use make targets
where one exists, so the section matches the rest of the file.

Assisted-by: DeepSeek V4.1 Flash
Signed-off-by: Armel Soro <asoro@redhat.com>
Stopping, starting, and linting were covered, but everything needed to
look at what is actually running meant dropping to raw compose commands.

Add `logs` (all services, or SERVICE=rhdh for one), `ps -a` so the
short-lived installer container is visible after it exits, `list-services`
to see what a set of overlays contributes, and `effective-compose` to
render the merged config. The latter interpolates .env, so its output can
contain secrets and must not be pasted into a PR.

Add `reset` for a full teardown: containers, volumes, and every pulled
image. Compose's --rmi all only covers service images, so the dclint and
shellcheck images used by `make lint` are removed explicitly, with a
leading `-` so a missing image does not fail a cleanup run.

Each target goes through $(COMPOSE), so TOOL and OVERLAYS apply
consistently; `logs` uses a SERVICE override because a bare argument would
be read as another make target.

Assisted-by: DeepSeek V4.1 Flash
Signed-off-by: Armel Soro <asoro@redhat.com>
Cover the inspection and teardown targets so an agent reaches for them
instead of raw compose commands, and note that `effective-compose` output
can contain secrets because it interpolates .env.

Replace the raw `podman compose -f ... config` example in Verification with
`make effective-compose OVERLAYS=db`, which is both shorter and guaranteed
to name compose.yaml explicitly.

Also require PR descriptions to follow .github/PULL_REQUEST_TEMPLATE.md.
The template matters for agents that open PRs with gh, which sends the
body verbatim and therefore skips the template the web UI would prefill.

Assisted-by: DeepSeek V4.1 Flash
Signed-off-by: Armel Soro <asoro@redhat.com>
Remove commands, filenames, and pattern references that an agent can
derive from `make help`, directory listings, and file contents. Keep
only judgment calls, gotchas, and constraints that would cause mistakes
without explicit documentation: branching strategy, config replacement
semantics, overlay consistency, CI path filtering, example files as
test inputs, and shell script conventions.

Assisted-by: Claude
The script names make the two-stage startup description actionable
rather than abstract, and are stable enough to be worth naming.

Assisted-by: Claude
… files

PostToolUse hook runs dclint on compose files and shellcheck on shell
scripts after every edit, matching what rhdh-cli does for prettier.

Assisted-by: Claude
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

@rm3l

rm3l commented Nov 9, 2026

Copy link
Copy Markdown
Member

/hold until 2.1.0 is released and main switches to 2.1, at which point the instructions here will be accurate.

@rm3l

rm3l commented Nov 9, 2026

Copy link
Copy Markdown
Member

/cc

@openshift-ci
openshift-ci Bot requested a review from rm3l November 9, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants