Skip to content

Add AI agent guidelines (AGENTS.md)#146

Draft
pavliuko wants to merge 1 commit into
mainfrom
feat/setup-agent-instructions
Draft

Add AI agent guidelines (AGENTS.md)#146
pavliuko wants to merge 1 commit into
mainfrom
feat/setup-agent-instructions

Conversation

@pavliuko
Copy link
Copy Markdown
Contributor

Establish a single source of truth for AI-assisted development guidelines. AGENTS.md serves as the shared config for all AI coding tools (Claude Code, Cursor, Copilot), with CLAUDE.md symlinked to it.

Summary

  • Add AGENTS.md with project overview, agent protocol, git rules, build/test commands, architecture, and code style guidelines
  • Symlink CLAUDE.mdAGENTS.md so Claude Code picks it up automatically
  • Add developing-code-explain skill

@pavliuko pavliuko requested a review from a team as a code owner March 10, 2026 07:07
@pavliuko pavliuko marked this pull request as draft March 10, 2026 12:39
Comment thread CLAUDE.md
@@ -0,0 +1 @@
AGENTS.md No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this setup, CLAUDE.md is a symlink to AGENTS.md. This makes the configuration agent-agnostic, allowing it to work with different popular LLM providers. This is done cause Claude Code doesn't respect AGENTS.md.

Copy link
Copy Markdown

@wyattisimo wyattisimo Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was today years old when I learned that github displays symlinks as regular files with the target path as the file content.

The convention I've seen is to use reference directives in the markdown.

For Claude, we would just create CLAUDE.md as a regular file with the following content:

@AGENTS.md

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this will work too.

2. **Walk through the code**: Explain step-by-step what happens
3. **Highlight a gotcha**: What's a common mistake or misconception?

Keep explanations conversational. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is exclusive to Claude. Is this what we want?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the very first SKILL, created just for the demo. Claude was chosen as one of the most popular vendors.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like we should come up with a more agnostic scheme for defining these types of things (unless we're 100% in on Claude).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind you, this is a draft PR. This work was not requested. This can serve as the foundation of what we build on top of that. This PR is not meant to be approved/merged immediately. There are more considerations to take care of before we move forward, but hey kudos @pavliuko for starting the fire

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in fact we also need a language-agnostic scheme as a first layer, enhanced in a second layer with a language-bound scheme

Copy link
Copy Markdown
Contributor Author

@pavliuko pavliuko Mar 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great question to discuss. Do we want to be vendor-agnostic or not?

This approach has a major disadvantage. It requires a lot of time and effort to support compatibility with different vendors. From my experience, instruments evolve very quickly and continuously and it makes difficult to keep up your setup updated.

On the other hand, it gives the opportunity to adopt new instruments. Vendors keep adding and updating them all the time. It also allows us to switch between llms to compare them and choose the best one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants