Skip to content

docs: add Custom Requests overview + Manifest DSL reference - #9

Open
khorolets wants to merge 3 commits into
NEAR-DevHub:mainfrom
khorolets:feat/custom-requests-docs
Open

docs: add Custom Requests overview + Manifest DSL reference#9
khorolets wants to merge 3 commits into
NEAR-DevHub:mainfrom
khorolets:feat/custom-requests-docs

Conversation

@khorolets

@khorolets khorolets commented Jun 28, 2026

Copy link
Copy Markdown

The complementary documentation for the feature from this PR on Trezu NEAR-DevHub/trezu#993

New "Custom Requests" nav group with two Mintlify pages:

  • overview: the engine, enabling it (Settings -> Developer, Governance-gated), the author -> fill -> approve flow, Static vs Member input, authoring modes, and the AI-assistant skill.
  • manifest-dsl: full DSL reference (binding, fields + types + validation, args and placeholders, a complete example, what a filled template produces).

Adapted from the trezu repo's CUSTOM_PROPOSAL_TEMPLATES.md into the site's operator voice. Both pages link the upstream trezu-custom-proposal-template skill.

New "Custom Requests" nav group with two Mintlify pages:
- overview: the engine, enabling it (Settings -> Developer, Governance-gated),
  the author -> fill -> approve flow, Static vs Member input, authoring modes,
  and the AI-assistant skill.
- manifest-dsl: full DSL reference (binding, fields + types + validation, args
  and placeholders, a complete example, what a filled template produces).

Adapted from the trezu repo's CUSTOM_PROPOSAL_TEMPLATES.md into the site's
operator voice. Both pages link the upstream trezu-custom-proposal-template skill.
frol pushed a commit to NEAR-DevHub/trezu that referenced this pull request Jun 29, 2026
)

Hello Trezu team! Love the project, great job!

## Motivation

My colleague reached me out with the case that is solvable by DAO and I
was sure it's a perfect match for Trezu. However, I've figured that
Trezu is focused on the payments use-cases and doesn't support the
creation of other `FunctionCall` proposals. That was a missing piece to
be a perfect fit for us.

That's why I brought you **Custom Proposal Templates** [engine]. 

The improvement that covers advanced use-cases and doesn't affect those
who don't care. With this feature enabled any Trezu user can create a
form to submit a proposal they need, fully customizable for their use
case with close to no limits.

## How it works

The sad part, it requires some Domain Specific Language (DSL) to
describe the form that will be rendered using the Trezu shared
components (natively). As the base for the language I've chosen the
familiar JSON and tried to keep the DSL as simple as possible.

The documentation for the feature and DSL is ready for review in the
corresponding repository
NEAR-DevHub/trezu-docs#9

To avoid poking around with the JSON directly this PR introduces a
visual constructor for the custom proposal requests. To cover everyone
this PR also contains a distributable skill for the LLM agents so any
user can install the skill to whatever they use (claude-code, claude
chat, codex, etc.) and ask the LLM to generate the form they need and
just paste it.

### Notes on backend

Since the feature is built to be native for Trezu, it needs to store
data and it does it in the Trezu DB. All the CRUD API, all the tests are
in place.

### Notes on frontend

As agreed with the Trezu team the feature is opt-in, a new Developer
category is introduced in the Settings (ref:
#974). All the requirements
and recommendations of UI/UX designer have been followed and
double-checked.

Unit and playwright e2e tests created.

## Demo

I am attaching a recording of the end-to-end demo of the feature. Small
note: the designer pointed that all the buttons labels must start each
word from the capital letter and the demo was captured before this
change. The titles are correct in the PR


https://github.com/user-attachments/assets/83ce7024-016d-4ca1-b6a8-4ea477910d37

## Notes for reviewers:
* I've noticed you squash commits so I brought everything in a single
one. The story behind is that I had 20 commits and a rebase with
upstream would require resolving the same conflicts over and over to be
ended in a squashed commit, so that's why it's a single one.
* The commit touches some repo meta like `CLAUDE.md`, `docs/`,
`skills/`. Just letting you know so it's not a surprise (I've already
mentioned about the skill for DSL)

P.S.: I've decided to avoid poisoning readers of the PR description with
the ai-written one, so it might be not that well-covered. Please let me
know if you have any areas you need me to elaborate.
Comment thread custom-requests/overview.mdx Outdated

Custom Requests ship disabled. A member with the **[Governance](/governance/members-and-roles#governance) role** enables it from **`Settings`** -> **`Developer`**.

{/* screenshot: Settings -> Developer, the Custom Requests toggle */}

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.

todo?

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 page is excruciatingly boring and I cannot imagine any human reading it. Can you condense it?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Didn't know people have fun reading docs :) I've tried to capture the tone and style of other docs you've accepted. Added screenshots. I hope it's more fun and less boring to you now.

@khorolets
khorolets requested a review from frol June 30, 2026 06:48
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.

2 participants