From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH] agents: Add a skill for finding your way around QEMU
Date: Thu, 3 Sep 2026 09:08:22 +0100 [thread overview]
Message-ID: <apkq9lLdyqXPXWmD@redhat.com> (raw)
In-Reply-To: <20260903073656.540570-1-pbonzini@redhat.com>
On Thu, Sep 03, 2026 at 09:36:56AM +0200, Paolo Bonzini wrote:
> Some parts of this skill are based on
> https://lore.kernel.org/r/20260529101437.410181-4-alex.bennee@linaro.org/.
>
> Co-authored-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> .agents/skills/qemu-codebase/SKILL.md | 93 +++++++++++++++++++++++++++
> .claude/skills | 1 +
> .gemini/skills | 1 +
> 3 files changed, 95 insertions(+)
> create mode 100644 .agents/skills/qemu-codebase/SKILL.md
> create mode 120000 .claude/skills
> create mode 120000 .gemini/skills
>
> diff --git a/.agents/skills/qemu-codebase/SKILL.md b/.agents/skills/qemu-codebase/SKILL.md
> new file mode 100644
> index 00000000000..6769c6c5ea4
> +## Finding things
> +
> +`MAINTAINERS` is the authoritative map from file patterns to subsystems
> +and maintainers; use it to work out who owns code and which tree a
> +change goes through.
Does the tree actually matter to agents or contributors sending patches ?
I would tend to say "use it to work out which maintainers to CC when
sending patches". The receiving maintainer(s) will decide which tree
it will go through.
> +Every path below that starts with `pyvenv/` is relative to the build
> +directory: `configure` creates a Python venv there, and `pyvenv/bin/meson`
> +is the meson that must be used.
More generally I think we should point to the "run" script. eg
The "run" script in the root of the build dir should be used execute
a command with the Python venv activated, PATH expanded to include
any local built binaries first, and use of other project local
resources enabled.
> +`make` at the top level forwards to `ninja` in the configured build
> +directory, and any `build.ninja` target can be invoked that way.
> +
> +## Build & Test
> +- **Build**: `ninja -C build` (from build directory) or `make -jN`
The '-C build' arg is pointing to a build tree, so the comment
should say '(from source directory)', or it should have "ninja"
without the -C arg.
make could be from the source dir (if using a build dir
named 'build') or build dir, so that's ok.
> +## Code Style
> +- **Formatting**: 4-space indents, NO tabs, 80-char line limit (max 100).
> +- **C Braces**: Mandatory for all blocks (if/while/for). Open brace on same line (except functions).
> +- **C Includes**: `#include "qemu/osdep.h"` MUST be the first include in every `.c` file.
> +- **C Comments**: Use `/* ... */` only. No `//` comments.
> +- **Naming**: `snake_case` for variables and functions; `CamelCase` for types and enums.
> +- **Memory**: Use GLib (`g_malloc`, `g_free`, `g_autofree`) or QEMU (`qemu_memalign`) APIs. No `malloc`.
> +- **Errors**: Use `error_report()` or `error_setg()`. Avoid `printf` for errors.
> +- **Lints**: Run `./scripts/checkpatch.pl` on C patches. Use `make clippy` and `make rustfmt` for Rust.
"checkpatch" should be run on all commits, not only those with
C code changes.
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
next prev parent reply other threads:[~2026-09-03 8:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 7:36 [PATCH] agents: Add a skill for finding your way around QEMU Paolo Bonzini
2026-09-03 8:08 ` Daniel P. Berrangé [this message]
2026-09-03 8:10 ` Paolo Bonzini
2026-09-03 8:16 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=apkq9lLdyqXPXWmD@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.