Initialize files & dirs for Agentic AI development#469
Initialize files & dirs for Agentic AI development#469stejskalleos wants to merge 2 commits intotheforeman:masterfrom
Conversation
|
Great start, I've been looking at https://github.com/NVIDIA/OpenShell/blob/main/AGENTS.md (and the repo) as good examples of well written and structured assets. |
|
@ehelms applied changes as per your comments |
|
@ehelms I'm thinking about adding a Caveman skill, what do you think?
|
In my experience, most of my time is reading the final outputs of agents. Having to do mental gymnastics to understand the output does not seem worth it at this point. |
|
Is |
- AGENTS.md - .agents dir with agents, skills, rules - settings file for claude - links for Claude files
80852b6 to
8ebf1d1
Compare
|
Updated:
|
| 3. **Write idempotent tasks** -- all tasks must be safe to run multiple times. | ||
| 4. **Use handlers** -- notify handlers for service restarts rather than inline restarts. | ||
| 5. **Template with Jinja2** -- use `.j2` templates for configuration files, reference variables from the vars system. | ||
| 6. **Lint** -- run `cd src; ansible-lint` or `cd development; ansible-lint`. |
There was a problem hiding this comment.
Should this tell the agent to use the lint skill?
|
|
||
| Follow the instructions in the `docs/developer/playbooks-and-roles.md` document. | ||
|
|
||
| ## Workflow |
There was a problem hiding this comment.
2,3,4,5 are all guidelines on our design / style. I feel like we should extract those. Kind of like these two sections (https://github.com/theforeman/foremanctl/blob/master/DEVELOPMENT.md#service-configuration) where we are laying down the conventions for our project.
| @@ -0,0 +1,23 @@ | |||
| --- | |||
| name: podman-secrets | |||
There was a problem hiding this comment.
I still struggle with this being a rule. I am wondering if we should focus on just encoding the podman secrets context in it's current location and see how well the agents do. And then if they are struggling we come back and make a rule.
|
|
||
| ### Deployment Variables | ||
|
|
||
| Key deployment parameters: |
There was a problem hiding this comment.
I'd drop this section. I am not sure what makes any of these "key" to the agent or human since they are situational.
| - `images.yml` - Container image references | ||
| - `database.yml`, `foreman.yml` - Service-specific configuration | ||
|
|
||
| 2. **Podman secrets**: Configuration files and credentials are stored as Podman secrets following naming conventions: |
There was a problem hiding this comment.
I think we can point at the file that contains this information.
| Roles in `src/roles/` correspond to services and deployment stages: | ||
|
|
||
| - Service roles: `foreman`, `pulp`, `candlepin`, `postgresql`, `redis`, `httpd` | ||
| - Feature roles: `hammer`, `foreman_proxy` |
There was a problem hiding this comment.
This is debateable -- since foreman-proxy is a service.
| @@ -0,0 +1,21 @@ | |||
| --- | |||
There was a problem hiding this comment.
This is another one I'd vote for just being in our documentation and ensuring the other docs point to it where necessary.
|
I took this for a test drive implementing something. Here are my recommendations after that experience:
|
|
Follow up, I tried implementing a feature with this PR + turning those two agents into skills and had good results. I then tried to follow up with a "testing agent" which focused on running a deploy, running tests, addressing failures. Here is the first attempt at that agent I used: #481 |
Why are you introducing these changes? (Problem description, related links)
Follow up to #457, where I introduced quite a big change for an initial commit. This is a reduced version that should build the foundation for Agentic AI development.
What are the changes introduced in this pull request?
How to test this pull request
Use your AI tool and observe behavior and functionality.