Skip to content

wyattowalsh/profile-bits

v0.1.0MIT

Author profile-bits bits, palettes, integrations, widgets, and plugin packs.

author

Routes profile-bits authoring across exactly six skills. Theme or Chip bit → author-bit; yaml theme or named palette → author-palette; data source → author-integration; card → author-widget; pack → author-plugin. Ideate ranks the next bit, palette, integration, widget, or pack and stops. Use for classify, ideate, next, brainstorm, or ambiguous theme/badge requests. This router never mutates. NOT for Action runtime, CLI engine, MCP, Marketplace flatten, or implementing just render / pnpm render / runMain.

author-bit

Completes or authors profile-bits shared UI bits such as Theme, Chip, Frame, Stack, Row, Text, Muted, Stat, Bar, Avatar, and Divider under packages/bits. Use for a named bit or an OpenSpec-approved 12th bit. NOT for yaml theme, named palettes, plugin packs, widgets, MCP, or Shields.io README badges.

author-integration

Generates a profile-bits data-source integration (client, auth, scopes, inputs, mocked HTTP) into packages/integrations/src/{id}/. Completing an existing FIRST_PARTY_INTEGRATION_IDS id is allowed when dest is empty or new; if dest client.ts exists, stop. A new id needs OpenSpec first. Use when adding a WakaTime-class API, GitHub client, REST/GraphQL, auth, scopes, or cache keys. NOT for shared bits (author-bit), yaml themes or named palettes (author-palette), widgets (author-widget), packs (author-plugin), a second pack for an existing plugin id, silent catalog append, live GitHub, REST /languages, flattened plugin_*_*_* inputs, unauthenticated GitHub, MCP / mcp.json, or dest paths that use ../.

author-palette

Completes or authors profile-bits named palettes, yaml theme values, flavor families, swatches, and seven-token theme maps under packages/themes. Use for palette and yaml theme work. NOT for the shared Theme bit, cards, packs, MCP, or plugin-owned hex.

author-plugin

Scaffolds a profile-bits plugin pack registry (named idPlugin with widgets, derived integration union, pack-level bitsUsed, defaults, and docsPath) into packages/plugins/src/{id}/. Completing an id already in FIRST_PARTY_PLUGIN_IDS is allowed; a new id needs OpenSpec first. Use when adding a pack registry, plugin.ts, docsPath, or pack defaults. NOT for a shared bit (author-bit), yaml themes or named palettes (author-palette), a card on an existing pack (author-widget), a new data source (author-integration), a second pack for an existing id, silent FIRST_PARTY_* append, flattened plugin_*_*_* Action inputs, MCP / mcp.json, or dest paths that use ../.

author-widget

Generates a profile-bits widget on an existing pack: option schema, fetch that consumes a cached integration payload (no HTTP), optional source (prefer omit; name widget.tsx|.md|.mdx|.html), bits-based Takumi-safe template, formats allow-list, md.presets/md.families for md/mdx, examples, and pack-level bitsUsed unioned into the pack Plugin. Use when adding a card, languages yaml option, CSS animation gif/apng, widget.mdx without source, Tailwind tw/className stylesheets, or swapping md.families.code. NOT for authoring a shared bit (author-bit), yaml themes or named palettes (author-palette), new data sources (author-integration), new packs (author-plugin), Action runtime, renderer internals, MCP, Marketplace, flattened plugin_*_*_* inputs, or a second pack for an id already in types.ts.