Prompt file imported from astercast/Caster-101-real- (
.github/prompts/scaffold.prompt.md). Copyright stays with the author.
Scaffold a new file for the awizard-gui project. Follow these rules:
-
Components →
src/components/ComponentName.tsx- Default export, typed props interface, functional component
- Include a
// TODO:block for unfinished parts - Use Tailwind CSS 4 classes, Discord dark palette CSS variables
-
Hooks →
src/hooks/useHookName.ts- Named export with
useprefix - TypeScript return type annotation
- Named export with
-
Store slices →
src/store/sliceName.ts- Use Zustand
create<T>()pattern - Export the hook (e.g.,
useSliceName)
- Use Zustand
-
Lib utilities →
src/lib/fileName.ts- Pure functions, typed inputs/outputs
- No React imports
Every file must have a header comment:
// ─────────────────────────────────────────────────────────────────
// FileName — brief purpose description
// ─────────────────────────────────────────────────────────────────