| ▲ | simonw 6 hours ago | ||||||||||||||||
Most of my projects are without an AGENTS.md/CLAUDE.md at the moment. I've found that if the project itself is in good shape - clear docs, comprehensive tests - you don't need to tell the coding agent much in order for it to be productive. I start a whole lot of my sessions with "Run tests with 'uv run pytest'" and once they've done that they get the idea that they should write tests in a style that fits the existing ones. | |||||||||||||||||
| ▲ | qingcharles 5 hours ago | parent | next [-] | ||||||||||||||||
That's wild. I couldn't live without my AGENTS to make sure it keeps to the coding styles I prefer. Especially needed on greenfield projects. A lot of my projects are built with platform versions from the last 12 months which had zero or very small amounts in the core training for the LLM, so they'll tend to avoid using the latest language options unless you prescribe them in AGENTS. | |||||||||||||||||
| |||||||||||||||||
| ▲ | asdfasgasdgasdg 6 hours ago | parent | prev | next [-] | ||||||||||||||||
Wouldn't the AGENTS.md containing the line, "When you make changes, they should be tested. Run tests with `uv run pytest`" basically have the same effect and save you some typing? I've never used AGENTS.md myself but I'd like to look into it because I find my agent rediscovering using a bunch of file reads very frequently in my current project. | |||||||||||||||||
| |||||||||||||||||
| ▲ | subhobroto 2 hours ago | parent | prev [-] | ||||||||||||||||
Simon, I really enjoy your live coding sessions. If you do another one, would you mind showing this part as well? It would be extremely educative. I haven't been able to do without an `.MD` - no agent (CC, Codex, OpenHands) was smart enough to figure out my layout unguided. So much so, a few weeks ago, I had Claude write the guideline below to document the way I like to lay out my tests and modules. I make extensive use of uv workspaces and don't ship tests to production deployments: ``` - uv Workspace Architecture (`uv` v0.11.8+, `packages/` members):
- *Future-phase features: stub, NEVER implement.* When a feature is explicitly
scoped to a later phase (e.g., "Phase 4"), write a one-line stub that raises
`NotImplementedError` plus a docstring describing the Phase 4 contract. A full
implementation spends tokens on untested code that may never ship in its current
form. Exception: if the full implementation is ≤ 5 trivial lines and directly
validates the current phase's math, implement it outright.``` Similarly, I find it annoying that every agent uses f-strings inside logging calls. Since I added this, that hasn't been a problem: ``` - NEVER use f-strings or .format() inside logging calls. This forces the string to be interpolated immediately, even if the log level (like DEBUG) is currently disabled. You should NEVER do this and if you notice this in existing code, FLAG IT immediately! By passing the string and the variables separately, you allow the logging library to perform lazy interpolation only when the message is actually being written to the logs. It also increases the caridinality for Structured Logging rendering observability useless!
``` | |||||||||||||||||