Skip to content

Add AGENTS.md for AI coding agent guidance#357

Open
ye0man wants to merge 1 commit intocashubtc:mainfrom
ye0man:add-agents-md
Open

Add AGENTS.md for AI coding agent guidance#357
ye0man wants to merge 1 commit intocashubtc:mainfrom
ye0man:add-agents-md

Conversation

@ye0man
Copy link
Copy Markdown
Collaborator

@ye0man ye0man commented Mar 31, 2026

No description provided.

@github-project-automation github-project-automation bot moved this to Backlog in nuts Mar 31, 2026
@ye0man ye0man linked an issue Mar 31, 2026 that may be closed by this pull request
- **Horizontal rule**: `---` separating the header block from the body.
- **RFC 2119 language**: Use `MUST`, `MUST NOT`, `SHOULD`, `SHOULD NOT`, `MAY`, and `CAN` (capitalized) per RFC 2119 when specifying protocol requirements.
- **API endpoints**: All REST endpoints use the `/v1/` prefix. Show the HTTP method and URL in a ` ```http ` code block, followed by request/response bodies in ` ```json ` blocks.
- **Type annotations in JSON**: Use angle-bracket placeholders for types: `<str>`, `<int>`, `<bool>`, `<Array[Type]>`, `<optional>`.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There are also other types used in the existing documents. Here's the list

  • Primitives: <str>, <int>, <bool>, <hex_str>, <bigint>
  • Nullable: <type|null> (e.g. <str|null>, <int|null>, <Object|null>)
  • Enums: <str_enum[NAME]> (e.g. <str_enum[STATE]>, <str_enum[UNIT]>)
  • Arrays: <Array[Type]> (e.g. <Array[Proof]>, <Array[BlindSignature]>)
  • Named objects: <Proof>, <BlindedMessage>, <BlindSignature>, etc.
  • Domain-specific: <keyset_id_hex_str>, <public_key_str>, <amount_int>
  • Optional marker: <optional> (marks a field as optional)

I think just saying "Use angle brackets to annotate type in the JSON document instead of an actual value" is fine. You don't need to specify possible types here. Since it seems like types are loosely deifned/used in the existing documents.

- **Filename**: Zero-padded two-digit number matching the NUT number (e.g. `30.md` for NUT-30).
- **Title**: `# NUT-NN: Title` as the first line.
- **Status badge**: `` `mandatory` `` or `` `optional` `` on its own line after the title.
- **Dependencies** (if any): `` `depends on: NUT-NN` `` and/or `` `uses: NUT-NN` `` on separate lines.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There is also used in: NUT-NN notation which is widely used (04, 05, 07, 09, 10, 21). Don't we need this?

joemphilips added a commit to joemphilips/nuts that referenced this pull request Apr 3, 2026
- Trim CTF.md from 706 to 533 lines, CTF-split-merge.md from 525 to 218 lines

- Move supplementary material (Q&A, rationale, witness comparison, complete example) to suppl/

- Align with PR cashubtc#357 conventions: http code blocks, curl examples, Alice/Bob framing

- Keep normative content intact; no behavioral changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Add AGENTS.md (AI/agent workflow guidance for this repo)

2 participants