chore: add basic instructions for AI agents#135
chore: add basic instructions for AI agents#135tonyandrewmeyer merged 4 commits intocanonical:mainfrom
Conversation
dwilding
left a comment
There was a problem hiding this comment.
A lot of this is go-specific, which I'm not really familiar, but I had a couple of comments related to tools. Sounds good to try this out and see what we learn!
|
|
||
| ## Project Overview | ||
|
|
||
| `concierge` is a Go utility for provisioning charm development and testing machines. It installs "craft" tools (charmcraft, snapcraft, rockcraft), configures providers (LXD, MicroK8s, K8s, Google Cloud), and bootstraps Juju controllers onto those providers. |
There was a problem hiding this comment.
Do you think it would be helpful to provide direct links to the docs for some of these tools? Especially spread. I don't yet have a good feel for how necessary that is in practice, though.
There was a problem hiding this comment.
I don't think we need to provide links for the craft tools, providers, or Juju, since Concierge development is just about installing those rather than using them (docs for snap, apt, etc would presumably be more useful).
In my experience, agents struggle a lot with spread (e.g. getting these same tests to run in my concierge-py transpile, and getting charm integration tests to use spread in my beszel-k8s charm). However, I am not aware of any docs that really help with this - so I think we have to wait until we make some, later this cycle.
Adds: * A Claude settings file that turns on accept edits by default (best when working in a repository, since you can always use the git history to revert), allows access to GitHub and the Canonical documentation (Juju, the crafts, etc), allows running `go test` and `go build`, allows viewing GitHub issues via `gh`, and allows grepping and `git add`ing. If running sandboxed, bash commands are allowed, other than `git`, and the sandbox has access to the snapd socket. * Instructions specific to Copilot review. These are mostly auto-generated; I'd like to see how well they work and then unify across other Charm Tech repositories and customise them more. However, if there are specific changes you'd like to see please suggest in review. * A general `AGENTS.md`. Again, this is mostly auto-generated for the same reason as above, and again please suggest changes if you particularly want them now.
Adds:
go testandgo build, allows viewing GitHub issues viagh, and allows grepping andgit adding. If running sandboxed, bash commands are allowed, other thangit, and the sandbox has access to the snapd socket.AGENTS.md. Again, this is mostly auto-generated for the same reason as above, and again please suggest changes if you particularly want them now.