This file is for humans π§
When creating AGENTS.md, these are the things that surfaced as necessary improvements. A workaround is documented in AGENTS.md, but we should really fix the root cause.
- Add idiomatic Ruby/RSpec example pair(s) to .cursor/rules/testing.mdc. Try to cover a bit of everything (e.g. mock, nested examples, naming context/it blocks).
- Move .cursor/rules/ to skills? It seems like more of a standard.
- Can we just have good human-facing docs (similar to what we have in
docs/), instead of 99% of the AI instructions we have today? We'll likely need to have some AI glue left, but why not just have readable plain language docs for everyone? - Possibly the whole
Gotchassection in AGENTS.md. - Improve native dev onboarding: refine
rake native_dev:setupor document a direct bear setup? - Create separate, specialized, and detailed personas for useful repository tasks, to avoid adding too much information to AGENTS.md.
Existing personas were left as-is in
.cursor/rules/, but we should revise them, now that a global AGENTS.md exists. Some persona ideas:code-typingβ specialist on non-trivial typying issues. Can create "accurate" types, solve complicated patterns we've identified prior, and populate 3rd-party gems invendor/rbs.setupβ helps new dev on dd-trace-rb onboarding.ci-failureβ tells you why your commit is failing on GitHub or Gitlab (e.g using remote APIs).code-reviewerβ ensures reviewer agents gather the right resources.gem-filesβ helps with updates to Appraisals,Matrixfile,Rakefile, and dependency matrices.instrumentation- knows how to create/maintain contrib integrations (possibly seperate personas per-product).native-extensions- helps with native extensions changes (libdatadogvs "other ext's" are likely separate personas). Helps with MacOS compilation/testing too.new-ruby-versionβ stewards MRI/JRuby/TruffleRuby version bumps.- TODO: QUESTION TO REVIEWERS:
release- not sure what this one would do exactly - TODO: QUESTION TO REVIEWERS:
security-auditor- not sure what this one would do exactly
- Let's try to use the official
@api publicYARD tag, instead of our custom@public_apitag: https://rubydoc.info/gems/yard/0.9.38/file/docs/Tags.md#api