You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adopt Phosphor Icons as the canonical production icon dependency, migrate built-in component glyphs to Phosphor, add semantic and full-library icon entry points, and preserve circular spinner geometry.
A restrained, accessible component library and design language for React product interfaces.
4
6
5
7
baseui.sh is maintained as an independent open-source repository. Product applications consume it as a normal package rather than copying dashboard-specific CSS or importing source from another monorepo.
Changesets drive package versions and changelogs. Publishing is handled by the release workflow using npm trusted publishing or an `NPM_TOKEN` repository secret. See [RELEASING.md](RELEASING.md).
92
+
Changesets drive versions and changelogs. The first package version is published interactively, then GitHub Actions publishes future versions through npm trusted publishing with OIDC and provenance. See [RELEASING.md](RELEASING.md) and [docs/publishing.md](docs/publishing.md).
baseui.sh uses Changesets, npm trusted publishing, and npm provenance.
4
+
5
+
## Package identity
6
+
7
+
The published package is `@wundercorp/baseui`. Publishing under this name requires control of the npm organization and scope named `baseui.sh`.
8
+
9
+
If that npm organization is unavailable, rename the package before the first publication. The recommended fallback is `@wundercorp/baseui`.
10
+
11
+
## One-time bootstrap
12
+
13
+
Trusted publishing is configured from an existing npm package, so the first version must be published interactively.
14
+
15
+
1. Create or claim the `baseui.sh` organization on npm.
16
+
2. Enable two-factor authentication on the publishing account.
17
+
3. Log in and confirm the active account.
18
+
4. Validate and inspect the package.
19
+
5. Publish version `0.1.0` publicly.
20
+
21
+
```bash
22
+
npm login
23
+
npm whoami
24
+
npm run release:dry-run
25
+
cd packages/react
26
+
npm publish --access public --provenance=false
27
+
```
28
+
29
+
The local bootstrap publish disables provenance because npm provenance is generated from supported CI environments. Subsequent automated releases use trusted publishing and include provenance automatically.
30
+
31
+
## Configure trusted publishing
32
+
33
+
After the first publication, open the package settings on npm and add a GitHub Actions trusted publisher with these values:
34
+
35
+
```text
36
+
GitHub organization or user: wundercorp
37
+
Repository: baseui
38
+
Workflow filename: release.yml
39
+
Allowed action: npm publish
40
+
Environment: leave empty
41
+
```
42
+
43
+
The workflow is `.github/workflows/release.yml`. It uses a GitHub-hosted runner, OIDC permissions, Node 24, and npm 11.5.1 or newer. No `NPM_TOKEN` secret is required after trusted publishing is configured.
44
+
45
+
After verifying one automated release, configure the npm package to require two-factor authentication and disallow traditional publishing tokens.
4
46
5
47
## Pull requests
6
48
7
-
Run `npm run changeset` for any user-visible change to `@baseui.sh/react`. Select patch, minor, or major based on semantic versioning.
49
+
Run the following command for every user-visible package change:
8
50
9
-
## Version pull request
51
+
```bash
52
+
npm run changeset
53
+
```
10
54
11
-
The release workflow opens or updates a version pull request. Merging it updates package versions and changelogs.
55
+
Choose patch, minor, or major according to semantic versioning and commit the generated Changeset file with the pull request.
12
56
13
-
## Publish
57
+
## Version pull request
14
58
15
-
On the next run, the release workflow builds, validates, and publishes the package with public access and provenance.
59
+
The release workflow opens or updates a Changesets version pull request on `main`. Merging that pull request updates versions and changelogs.
16
60
17
-
Repository configuration must provide either npm trusted publishing for the GitHub workflow or an `NPM_TOKEN` secret with publish access to the `@baseui.sh` scope.
61
+
On the next workflow run, Changesets publishes the new package version to npm.
18
62
19
-
## Manual dry run
63
+
## Local release checks
20
64
21
65
```bash
22
66
npm ci
23
-
npm run ci
24
-
npm pack --workspace @baseui.sh/react
25
-
npm publish --workspace @baseui.sh/react --dry-run --access public
67
+
npm run release:dry-run
68
+
npm run verify:consumer
69
+
```
70
+
71
+
Inspect the package that npm would publish:
72
+
73
+
```bash
74
+
npm run release:inspect
75
+
```
76
+
77
+
## Consumer verification
78
+
79
+
After publishing, verify the public registry from a clean directory:
<ComponentExampletitle="Tags and removable filters">
@@ -671,7 +671,7 @@ function PatternsSection() {
671
671
<ComponentExampletitle="Accordion and collapsible documentation patterns"fullWidth>
672
672
<divid="installation"/>
673
673
<Stackgap="lg">
674
-
<Accordion><AccordionItemtitle="Installation"description="Add the package and global stylesheet."open><CodeBlock>{`npm install @baseui.sh/react\n\nimport "@baseui.sh/react/styles.css";`}</CodeBlock></AccordionItem><AccordionItemtitle="Theming"description="Set light, dark, or system mode at the provider boundary."><CodeBlock>{`<BaseUIProvider theme="dark">\n <Application />\n</BaseUIProvider>`}</CodeBlock></AccordionItem><AccordionItemtitle="Design invariants"description="Rules that should not be overridden in product code."><Listdivided><ListItemtitle="Radius"description="4 px across controls, surfaces, and floating layers; circular indicators use the circle token."/><ListItemtitle="Accent"description="Reserved for primary actions, focus, and active navigation."/><ListItemtitle="Monospace"description="Used for code, identifiers, measurements, and technical values only."/></List></AccordionItem></Accordion>
674
+
<Accordion><AccordionItemtitle="Installation"description="Add the package and global stylesheet."open><CodeBlock>{`npm install @wundercorp/baseui\n\nimport "@wundercorp/baseui/styles.css";`}</CodeBlock></AccordionItem><AccordionItemtitle="Theming"description="Set light, dark, or system mode at the provider boundary."><CodeBlock>{`<BaseUIProvider theme="dark">\n <Application />\n</BaseUIProvider>`}</CodeBlock></AccordionItem><AccordionItemtitle="Design invariants"description="Rules that should not be overridden in product code."><Listdivided><ListItemtitle="Radius"description="4 px across controls, surfaces, and floating layers; circular indicators use the circle token."/><ListItemtitle="Accent"description="Reserved for primary actions, focus, and active navigation."/><ListItemtitle="Monospace"description="Used for code, identifiers, measurements, and technical values only."/></List></AccordionItem></Accordion>
675
675
<Collapsibletitle="Compact disclosure alias"><Textsize="sm">Collapsible provides a concise disclosure API while retaining native details semantics.</Text></Collapsible>
Copy file name to clipboardExpand all lines: docs/naming.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Naming and project identity
2
2
3
-
baseui.sh is the project and design-language name. The npm package is `@baseui.sh/react`.
3
+
baseui.sh is the project and design-language name. The npm package is `@wundercorp/baseui`.
4
4
5
5
There are existing open-source projects named Base UI and Base Web, including packages using `@base-ui/react` and `baseui`. baseui.sh must remain visually and verbally distinct and must not imply affiliation, compatibility, endorsement, or shared maintainership.
0 commit comments