一键导入
create-component
Creates the full structure of a new Aurora component — index.tsx, styles.scss and stories — following the project's conventions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Creates the full structure of a new Aurora component — index.tsx, styles.scss and stories — following the project's conventions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
A commit message generator that uses gitmojis to make your commits more fun and expressive
Cria um branch a partir da main e abre um pull request com título de commit convencional, descrição estruturada e labels — incluindo as tags constitucionais da Consumidor Positivo: classificação de custo (CapEx/OpEx), risco, prioridade, impacto e escopo. Use ao abrir um PR neste repo. Mantém também as regras específicas de Aurora (release-please, prebuild, lint).
Detects hardcoded values in a component's SCSS that should be replaced with Aurora design tokens, and suggests the correct token for each one
Reads a component and lists accessibility issues based on WCAG 2.1 AA and web accessibility best practices
| name | create-component |
| description | Creates the full structure of a new Aurora component — index.tsx, styles.scss and stories — following the project's conventions |
Create a new React component for the Aurora library based on the information provided by the user.
Before creating any file, read lib/docs/Patterns.mdx to ensure all patterns are followed.
If the component name or its props have not been provided, ask for that information before proceeding.
Create the 3 files below in lib/components/<ComponentName>/.
index.tsxFollow the patterns from lib/docs/Patterns.mdx:
React
export defaultRoot and sub-components, export as an object { Root, SubComp } with the component name_TypeScript
type to type props — never interface<Name>PropsCSS
classNames from classnames to build conditional classes'./styles.scss'au- prefix following BEM:
au-nameau-name__elementau-name--modifierImports
@components, @core, @assetsBase structure:
import classNames from 'classnames'
import './styles.scss'
export type <Name>Props = {
// props
}
export const <Name> = ({ /* props */ }: <Name>Props) => {
const classes = classNames('au-<name>', {
[`au-<name>--<modifier>`]: !!prop,
})
return (
<div className={classes}>
{/* JSX */}
</div>
)
}
styles.scss.au-<name-in-kebab-case>&__element for children, &--modifier for variants.au-name {
&--modifier &__child { }
}
or, for larger blocks:
.au-name {
&--modifier {
.au-name__child { }
}
}
<Name>.stories.tsxRequired boilerplate — follow this pattern exactly:
import { Meta, StoryObj } from '@storybook/react'
import { <Name>, <Name>Props } from '.'
const meta: Meta<<Name>Props> = {
title: 'Components/<Name>',
component: <Name>,
tags: ['autodocs'],
parameters: {
backgrounds: {
default: 'default',
values: [{ name: 'default', value: '#f1f1f1' }],
},
},
}
export default meta
type Story = StoryObj<typeof <Name>>
const container = (args: <Name>Props) => {
return <<Name> {...args} />
}
Story generation:
status, each type, each size)SuccessSmall, ErrorWithAction, NeutralReadOnlyexport const <StoryName>: Story = {
render: (args) => container(args),
args: {
// only the props relevant to this story
},
}
lib/main.ts, under the // Components section, at the end of the other component exports:
export { <Name> } from './components/<Name>'