@eonui/manifest
v0.1.1
Published
`@eonui/manifest` is the catalog and schema package for the EonUI platform. It packages generated component metadata, chart metadata, shared manifest types, and a generator that can rebuild the combined library manifest and markdown specs from source regi
Readme
@eonui/manifest
@eonui/manifest is the catalog and schema package for the EonUI platform. It packages generated component metadata, chart metadata, shared manifest types, and a generator that can rebuild the combined library manifest and markdown specs from source registries.
Workspace Note
This folder currently documents the published package surface. The implementation source for @eonui/manifest is not mirrored into revamp/eonui/packages/manifest yet, so this README is the local documentation home for the package.
Docs And Live Reference
Use this README for metadata and generation guidance. For the broader EonUI platform story and public-facing product context, refer to https://eonui.com.
Purpose
Use this package when you need:
- the structured component library catalog
- the structured chart library catalog
- shared manifest types
- generated docs data for tools, docs portals, or AI workflows
The current generated manifest in the published package includes:
73component entries700chart entries
What The Package Exposes Today
The current package exports:
- schema types from
schema componentLibrarychartLibrary
The published tarball also includes:
generated/library.manifest.jsongenerated/component-specs.mdgenerated/chart-specs.md- a
dist/generate.jsscript that rebuilds those generated outputs in a development context
Install
npm install @eonui/manifestWhy This Package Matters
@eonui/manifest is the metadata backbone of the Eon ecosystem. It is useful when you need a package-readable view of what EonUI offers without mounting the actual UI runtime first.
Common use cases include:
- building docs navigation
- powering search and filtering
- exposing component and chart inventories to AI workflows
- generating internal dashboards about coverage, maturity, or gaps
- creating product pickers, starter templates, or package health reports
Example 1: Read the component library
import { componentLibrary } from '@eonui/manifest';
console.log(componentLibrary.length);
console.log(componentLibrary.slice(0, 5).map((entry) => entry.tag));Use this when:
- building a docs sidebar
- powering component search
- showing inventory counts in internal tooling
Example 2: Read the chart library
import { chartLibrary } from '@eonui/manifest';
console.log(chartLibrary.length);
console.log(chartLibrary.slice(0, 8).map((entry) => entry.name));Use this when:
- building chart explorers
- validating chart-family coverage
- feeding AI tooling with supported chart names
Example 3: Type a combined manifest payload
import type { LibraryManifest } from '@eonui/manifest';
function summarize(manifest: LibraryManifest) {
return {
generatedAt: manifest.generatedAt,
components: manifest.components.length,
charts: manifest.charts.length
};
}Use this when:
- building APIs around the manifest
- validating generated payloads
- keeping docs tooling strongly typed
Example 4: Use manifest metadata to build a docs card
import { componentLibrary } from '@eonui/manifest';
const button = componentLibrary.find((entry) => entry.tag === 'eon-button');
console.log(button?.description);
console.log(button?.examples?.[0]?.code);
console.log(button?.compositionRules);Use this when:
- rendering rich component docs
- exposing examples and anti-patterns in tooling
- powering AI or editor hints from structured data
Example 5: Rebuild generated outputs in a package-development context
The published package includes a generator entry:
node ./dist/generate.jsUse this when:
- regenerating combined manifest artifacts
- producing markdown specs
- validating that source registries and generated outputs still match
Troubleshooting
- If manifest counts look stale, regenerate outputs before assuming the package inventory is wrong.
- If consumer tooling expects runtime behavior, remember this package describes assets and capabilities, not the live UI runtime itself.
- If docs pages break on missing fields, type the payload against the provided interfaces instead of assuming optional metadata is always present.
- If AI workflows over-promise what exists, use the manifest as the system of record and only expose supported components and charts.
Where This Package Fits
@eonui/manifest is a bridge package between:
@eonui/core- the charts family
- docs portals
- AI prompt systems
- future API-backed catalog services
If you need structured understanding of EonUI rather than just components or assets, this is one of the most important packages in the ecosystem.
Current Limitations
- the local workspace folder is documentation-only today
- generation assumes access to the underlying source registries in a development environment
- consumers still need their own UI or API layer to expose the manifest meaningfully
Future Prospects
Likely next steps include:
- versioned manifest changelogs
- search indexes derived from manifest content
- richer accessibility and theming metadata
- tighter integration with package release automation and AI workflows
