Skip to content

add an AGENTS.md to the project#183

Merged
acarl005 merged 10 commits into
mainfrom
andy/add-agents-md-file
Feb 19, 2026
Merged

add an AGENTS.md to the project#183
acarl005 merged 10 commits into
mainfrom
andy/add-agents-md-file

Conversation

@acarl005
Copy link
Copy Markdown
Contributor

@acarl005 acarl005 commented Feb 13, 2026

The end goal is to set up this repo with oz to implement new completions specs and maintains existing ones autonomously.

Context: https://warpdev.slack.com/archives/C0A9ZAV8HM2/p1768933993596109

In order to do that, we need oz to one-shot the specs most of the time.

I first tried doing this locally with timedatectl as a PoC. The agent failed to one-shot it. One example of a failure mode is that it used Fig-specific stuff that we don't have, not realizing our Rust based generator functions. I added stuff to AGENTS.md and attempted that task again and again, iterating on the file until it one-shotted it. This is what I ended up with.

FYI CI was failing so I also fixed that. see the failures: https://github.com/warpdotdev/command-signatures/actions/runs/21985263695/job/63517749452

@acarl005 acarl005 requested a review from alokedesai February 13, 2026 11:31
Comment thread .github/workflows/CI.yml
steps:
- uses: actions/checkout@v3
- name: Run cargo fmt
uses: actions-rs/cargo@v1
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 action is deprecated, unmaintained for like 6 years
https://github.com/actions-rs/cargo

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

do we need this at all? The GH runners should have all of the rust toolchain already installed

Shell::Posix => "2>/dev/null",
Shell::Powershell => "2> $null",
Shell::CmdExe => "2> NUL"
Shell::CmdExe => "2> NUL",
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.

cargo fmt fixed this

@acarl005 acarl005 requested review from kevinyang372 and removed request for alokedesai February 18, 2026 15:20
Copy link
Copy Markdown
Contributor Author

acarl005 commented Feb 19, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Copy Markdown
Member

@alokedesai alokedesai left a comment

Choose a reason for hiding this comment

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

Left a bunch of non-blocking comments.

My main question / thought is that I think we need to be more intentional about what goes into a skill and what goes into the top level agents.MD.

The current impl is better than nothing but I still think we have room to get even better results by giving the LLM some basic info about the repo and then a set of skills that have more information that it can read when it actually needs to.

Comment thread .github/workflows/CI.yml
steps:
- uses: actions/checkout@v3
- name: Run cargo fmt
uses: actions-rs/cargo@v1
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

do we need this at all? The GH runners should have all of the rust toolchain already installed

Comment thread AGENTS.md Outdated
Comment on lines +12 to +24
## Build and Test Commands

```bash
# Build
cargo build

# Run tests
cargo test --verbose

# Lint (fmt + clippy)
cargo fmt -p warp-command-signatures -p warp-completion-metadata
cargo clippy -p warp-command-signatures -p warp-completion-metadata --all-targets --all-features -- -D warnings

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I would consider ommitting this or turning it into a skill.

The reason is:

  1. Building and testing is pretty obvious for the LLM in this repo, there's no reason it needs to get injected in every system prompt
  2. We probably don't want the LLM to eagerly run fmt and clippy

Comment thread AGENTS.md Outdated
cargo clippy -p warp-command-signatures -p warp-completion-metadata --all-targets --all-features -- -D warnings

# Autogenerate PowerShell cmdlet specs (requires pwsh installed)
cargo run --bin autogenerate_powershell
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This seems potentially errorprone, the LLM isn't going to understand what autogenerate powershell even means. Again, seems like a good use case for a skill instead of the top level agents.Md

Comment thread AGENTS.md Outdated

For autogenerated specs (currently PowerShell only), hand-written augmentations live in `json/overrides/`. Overrides are matched by option name or argument index and merged at generation time. Only `template` and `generatorName` fields are currently supported for overrides.

## Adding a New Command Spec
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Feels like a skill. I think the AGENTs.MD should be pretty high level and explain the semantics of what our completion system is and how it's inspired by Fig but a lot of the other things in this file (how to create a spec, examples, etc) can go in a skills.

The main advantage is the LLM can take advantage of progressive disclosure so it only reads this information in as needed

Comment thread rust-toolchain.toml
@@ -1,5 +1,5 @@
[toolchain]
channel = "1.82"
channel = "1.85"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we use 1.92 in warp-internal, why 1.85 here?

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.

There are new clippy lints in 1.92 which causes linting to fail. I updated to 1.85 b/c it's recent enough to fix the CI error but before these new lints. I do agree we should upgrade but I wanted to avoid scope-creeping this PR too much.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

sgtm, makes sense

@acarl005 acarl005 merged commit 121ce6a into main Feb 19, 2026
3 checks passed
@acarl005 acarl005 deleted the andy/add-agents-md-file branch February 19, 2026 16:55
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.

3 participants