Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
bbe7720
feat(ipa): Add <Workflow> review checklist component
andmatei Jun 10, 2026
b09297a
feat(ipa): Restyle <Workflow> to the approved checklist design
andmatei Jun 10, 2026
ac0f851
fix(ipa): Polish <Workflow> header spacing, drop reference-only marke…
andmatei Jun 10, 2026
d1b878c
refactor(ipa): Number workflow steps via CSS counter like <Guideline>
andmatei Jun 10, 2026
0e6be12
feat(ipa): Guard <Workflow.Step> against use outside <Workflow>
andmatei Jun 10, 2026
e1564bb
refactor(ipa): Replace children introspection with context registration
andmatei Jun 10, 2026
5985326
style(ipa): Mute the workflow checkbox and progress-track styling
andmatei Jun 10, 2026
24e276a
style(ipa): Use standard native checkboxes for workflow steps
andmatei Jun 10, 2026
b271d5a
refactor(ipa): Drop the progress chip, track, and step registration
andmatei Jun 11, 2026
7b97446
fix: Declare react and react-dom as direct dependencies
andmatei Jun 11, 2026
f80cffd
refactor(ipa): Make <Workflow> a stateless text-first reading list
andmatei Jun 11, 2026
0321886
refactor(ipa): Restore circle step numbers via shared <NumberCircle>
andmatei Jun 11, 2026
ad4c2bb
style(ipa): Strip edge paragraph margins inside workflow steps
andmatei Jun 11, 2026
56c3f02
refactor(ipa): Move NumberCircle into its own folder under shared
andmatei Jun 11, 2026
f407cb6
refactor(ipa): Move StateBadge into its own folder under shared
andmatei Jun 11, 2026
b56b3b4
refactor(ipa): Extract title icon to ui/icons, mute its color
andmatei Jun 11, 2026
92713f0
style(ipa): Strip comments from Workflow.module.css
andmatei Jun 11, 2026
f32e862
refactor(ipa): Defer the unlintable-requires-workflow check to the va…
andmatei Jun 11, 2026
969fc54
refactor(ipa): Let NumberCircle own its counter digit
andmatei Jun 11, 2026
ed83047
docs(ipa): Collapse workflow fixtures to one guideline example
andmatei Jun 11, 2026
c5e3ddb
fix(ipa): Apply review findings
andmatei Jun 11, 2026
99ad950
fix: Regenerate package-lock.json for the react dependency change
andmatei Jun 11, 2026
f99b74c
style(ipa): Remove narrating comments
andmatei Jun 11, 2026
ba0b750
feat(ipa): Hide workflows on the rendered site via config flag
andmatei Jun 11, 2026
0089513
docs(ipa): Note the showWorkflows flag on the fixtures page
andmatei Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ import { themes } from "prism-react-renderer";
import parseFrontMatter from "./src/plugins/parsePrincipleFrontMatter";

const config: Config = {
customFields: {
// Workflows are primarily agent-executed evaluation steps; hide them
// from the rendered site. Flip to true to show them again.
showWorkflows: false,
},

title: "IPA - Improvement Proposal for APIs",
url: "https://mongodb.github.io", // Your website URL
baseUrl: "/ipa/",
Expand Down
59 changes: 58 additions & 1 deletion ipa/dev/component-fixtures.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ description:
production builds."
---

import { Guidelines, Guideline, Example } from "@site/src/components/ipa";
import {
Guidelines,
Guideline,
Example,
Workflow,
} from "@site/src/components/ipa";

# Component fixtures

Expand Down Expand Up @@ -113,3 +118,55 @@ name: list-resources
```

</Example.Incorrect>

## `<Workflow>`

`<Workflow>` renders the manual evaluation steps of a guideline as a numbered
reading list inside a collapsible accordion. It is intentionally stateless —
interactivity can be layered on later if reviewers ask for it.

:::note The site currently sets `showWorkflows: false` in
`docusaurus.config.ts`, so the fixtures below render nothing. Flip the flag to
`true` to preview them. :::

### Inside a guideline

The primary use: a guideline documents the steps a reviewer or agent follows to
evaluate the rule. The component renders the same regardless of the guideline's
metadata.

<Guideline
id="IPA-9999-must-use-american-english"
state="adopt"
effort="check"
given="spec"
>
API producers must use American English for all user-facing text in the API
specification.

<Workflow>
<Workflow.Step>
Scan every user-facing string in the specification (descriptions,
summaries, enum values, field names).
</Workflow.Step>
<Workflow.Step>
For each string, check for common British English spellings (e.g.,
"cancelled", "colour", "authorise", "behaviour", "organisation").
</Workflow.Step>
<Workflow.Step>
Consult Merriam-Webster's dictionary for the preferred American English
form.
</Workflow.Step>
<Workflow.Step>
Flag any non-American spelling as a violation.
</Workflow.Step>
</Workflow>
</Guideline>

### Standalone with a custom title

<Workflow title="Implementation steps">
<Workflow.Step>Add the field to the OpenAPI schema.</Workflow.Step>
<Workflow.Step>Regenerate the SDK clients.</Workflow.Step>
<Workflow.Step>Update the changelog entry.</Workflow.Step>
</Workflow>
30 changes: 15 additions & 15 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@
"@docusaurus/theme-search-algolia": "^3.8.1",
"@easyops-cn/docusaurus-search-local": "^0.51.1",
"clsx": "^2.1.1",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"zod": "^4.3.6"
}
}
Loading