hulaspark/hula
Overview
This skill provides targeted assistance for the HuLa project across frontend (Vue 3 + Vite + UnoCSS + Naive UI/Vant), backend (Tauri v2 + Rust + SeaORM/SQLite), full‑stack flows, and build/release tasks. After activation, it asks which scope to enable (frontend, backend, fullstack, or build-release) and confirms platform and target area before making changes. It follows repo conventions, templates, and checklists to ensure consistent edits and safe build/release steps.
How this skill works
I inspect repository conventions, reference guides, and available templates to produce consistent code changes. For frontend I use provided view and store templates; for backend I use Tauri command templates and SeaORM patterns; for full‑stack changes I coordinate both sides and update invokes/commands. For build and release work I follow checklists and run mapping scripts only when requested.
When to use it
- You mention 'hula' or 'HuLa' or request changes in this codebase.
- You need a new view/component/store that follows project conventions.
- You want to add or modify a Tauri command, database model, or backend flow.
- You need coordinated frontend ↔ backend changes (invokes, routes, state).
- You are preparing builds, cross‑platform packaging, or release checklists.
Best practices
- Confirm scope (frontend/backend/fullstack/build-release), platform (desktop/mobile), and target area before edits.
- Locate a similar code path and follow its naming, folder, and style patterns.
- Update related layers (routes, stores, commands, migrations) when adding features.
- Use the provided templates for views, stores, and Tauri commands to keep consistency.
- Run the mapping scripts to list views/stores or Tauri commands before large refactors.
Example use cases
- Create a new chat view for mobile following the mobile view template and register routes and Pinia store.
- Add a Tauri command to manage attachments, update frontend invoke calls, and add a migration.
- Implement a fullstack flow: UI button → frontend store → invoke command → Rust handler → DB update.
- Prepare a release by following the build/release checklist and verifying platform packaging.
- Refactor a component to use UnoCSS utility classes and update corresponding unit checks.
FAQ
I ask which scope to enable (frontend, backend, fullstack, or build-release), the platform (desktop or mobile), the target area (view/component/store/command), and any constraints.
Will you run tests or builds automatically?
I only propose or run checks/tests when you explicitly request it; otherwise I provide code edits and instructions.