Skip to content

Add AGENTS.md#4178

Open
Gedochao wants to merge 1 commit intoVirtusLab:mainfrom
Gedochao:dx/contributions-agents
Open

Add AGENTS.md#4178
Gedochao wants to merge 1 commit intoVirtusLab:mainfrom
Gedochao:dx/contributions-agents

Conversation

@Gedochao
Copy link
Contributor

@Gedochao Gedochao commented Mar 12, 2026

Some context for speeding up agents, encouraging certain behaviours and such.

Requires/includes:

Checklist

  • tested the solution locally and it works
  • ran the code formatter (scala-cli fmt .)
  • ran scalafix (./mill -i __.fix)
  • ran reference docs auto-generation (./mill -i 'generate-reference-doc[]'.run)

How much have your relied on LLM-based tools in this contribution?

extensively, this is made by agents for agents, purely vibe coded metaprompting ™️
used Cursor with Claude

How was the solution tested?

I use this as context for agents when working with this repo and it works reasonably well

Additional notes

A similar file in the Scala 3 repo (without the detailed one)
https://github.com/scala/scala3/blob/main/AGENTS.md

@Gedochao Gedochao requested review from tgodzik and zielinsky March 12, 2026 13:23
@bishabosha
Copy link
Contributor

where is AGENTS_DETAILED.md recommended?

@Gedochao
Copy link
Contributor Author

@bishabosha recommended?
As a best practice, tbh I haven't encountered this division, although both documents seem to be useful to me depending on what I do.
Open to suggestions, of course.

@Gedochao Gedochao force-pushed the dx/contributions-agents branch from 9fb74e2 to d1207ba Compare March 12, 2026 14:15
@bishabosha
Copy link
Contributor

my thought was that AGENTS.md is hardcoded to be used as context by those agents that support it, so it isnt useful to have a separate file that they arent looking for, perhaps im wrong.

@Gedochao Gedochao force-pushed the dx/contributions-agents branch from d1207ba to a29ee32 Compare March 13, 2026 08:56
@Gedochao Gedochao force-pushed the dx/contributions-agents branch from a29ee32 to 7c4f130 Compare March 13, 2026 10:16
@Gedochao Gedochao changed the title Add AGENTS.md and AGENTS_DETAILED.md Add AGENTS.md Mar 13, 2026
@Gedochao
Copy link
Contributor Author

Gedochao commented Mar 13, 2026

After some experiments and research, it seems it will still be handled better by many tools to just have a single file.
One can create summaries when needed on one's own, I suppose.
@bishabosha I suppose I yield.

@He-Pin
Copy link

He-Pin commented Mar 13, 2026

Let agents fix all the issues:)

@Gedochao
Copy link
Contributor Author

Let agents fix all the issues:)

If only it were that simple. 😅


Read these for broader context; do not duplicate their content in your PRs:

- **[DEV.md](DEV.md)** — Developer setup, how to run the CLI from sources, run tests, generate launchers, IDE import,
Copy link
Member

Choose a reason for hiding this comment

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

NIT: Could probably be a skill


- **[DEV.md](DEV.md)** — Developer setup, how to run the CLI from sources, run tests, generate launchers, IDE import,
GraalVM reflection config, and more.
- **[CONTRIBUTING.md](CONTRIBUTING.md)** — Fork-pull workflow, branch strategy (`main` for code, `stable` for
Copy link
Member

Choose a reason for hiding this comment

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

Does it not contain too much data for LLMs? If we create a skill in theory we could split the data to be loaded more lazily

```bash
./mill -i scala …args… # Run Scala CLI from source
./mill -i __.compile # Compile everything
./mill -i unitTests # All unit tests
Copy link
Member

Choose a reason for hiding this comment

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

Maybe add how to run a single test?

Unit tests live inside individual modules as `test` submodules. The test framework is **munit**.

```bash
./mill -i 'build-module[].test' # All build-module tests
Copy link
Member

Choose a reason for hiding this comment

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

I don't think we should repeat it, we already have some commands defined above. We should merge both

tests live in `modules/cli/src/test/scala/`. Only reach for integration tests when a unit test cannot cover the
scenario.

### Integration tests
Copy link
Member

Choose a reason for hiding this comment

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

Should the agents/md be that long? Are we doing too much context? Could we skip the additional stuff below?

I think there was a discusion that Agends.md being long was not helpful. I would limit it to how to run test and maybe what each module is. We can use more hierachical structure like skills for more context

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants