Replace the hand-maintained validation list in `AGENTS.md` with package discovery

Open
#53 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
65/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
markdown, shell

Research direction

Read the Validation section in AGENTS.md and inspect scripts/check.sh, scripts/check-lint.sh, scripts/check-coverage.sh, scripts/check-examples.sh, and scripts/check-sandbox.sh to understand their current entry points. Replace the package-specific validation lines and update the CI-only wording; done means new packages are covered locally without AGENTS.md edits and local validation uses the same scripts as CI.

Written by the indexing model from the issue text.

Description

Problem

The ## Validation section in AGENTS.md lists one dpm damlc lint or dpm test line per package. The list has 36 lines today. Each new package or example needs new lines added by hand, and nothing fails if someone forgets.

If a package is missing from the list, an agent following AGENTS.md skips its lint and tests locally. CI still catches the problem, but only after push.

The discovery logic already exists:

  • scripts/check-lint.sh lints every package declared in multi-package.yaml.
  • scripts/check-coverage.sh runs tests and checks coverage for every package under packages/ and experiments/, paired with its test package.
  • scripts/check-examples.sh runs every -test package under examples/.

AGENTS.md does not use these scripts. It describes them as CI-only and says documentation shows native DPM commands instead.

Proposal

Replace the per-package lines in AGENTS.md with the discovery scripts:

dpm build --all
scripts/check.sh
scripts/check-lint.sh
scripts/check-coverage.sh
scripts/check-examples.sh
scripts/check-sandbox.sh

We could also combine the scripts into one entry point, for example scripts/validate.sh, and have CI call the same script.

Then update the AGENTS.md paragraph that calls these helpers CI-only. CONTRIBUTING.md can keep one native DPM example per command, so contributors still see the underlying DAML_PACKAGE=... dpm ... form.

Acceptance criteria

  • AGENTS.md contains no package-specific validation lines.
  • A new package added to multi-package.yaml, or a new example under examples/, gets linted and tested locally without any edit to AGENTS.md.
  • Local validation and CI run the same scripts.
Dominant language
Haskell
Stars
5
Forks
0
Avg merge
1d 36m
Merged PRs (30d)
11

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenZeppelin/canton-contracts

All issues in OpenZeppelin/canton-contracts

Similar issues

More Haskell issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.