archy/.claude/rules/frontend.md

17 lines
607 B
Markdown
Raw Normal View History

---
globs:
- "**/neode-ui/**"
- "**/*.vue"
---
# Frontend Rules (Archipelago)
- Always use `<script setup lang="ts">` in Vue components
- Global CSS classes go in `style.css`, never inline Tailwind utilities
- Use `.glass-button` for ALL buttons — `.gradient-button` is BANNED
- Use Pinia stores for shared state, never provide/inject for cross-component data
- Every async view needs: loading state, empty state, and error state
- Trim all text inputs before submission
- Disable submit buttons during async operations
- Use `errorMessage` ref pattern for user-visible errors, not just console.log