# SHServ Vue Client Specification

This directory contains the technical specification for a new SHServ web client.

The current `webclient/` implementation is the reference implementation. The new
client should preserve its functional behavior while moving to Vue and the
`gnexus-ui-kit` design system.

## Documents

- `overview.md` - goals, boundaries, architecture direction.
- `current-client-map.md` - current routes, screens, modules, and UI behavior.
- `api-contract.md` - API endpoints used by the client and expected response handling.
- `screens.md` - target screen-by-screen functional specification.
- `state-and-components.md` - current global helpers mapped to Vue stores/components.
- `scaffold.md` - recommended Vue/Vite project scaffold and first milestone.
- `coding-conventions.md` - code organization, state, API, and UI rules.
- `ui-kit-integration.md` - planned `gnexus-ui-kit` adapter strategy.
- `migration-plan.md` - phased plan for building the new client in parallel.

## Working Rules

- Keep the current `webclient/` operational until the new client covers the main flows.
- Treat backend API behavior as a contract; document gaps before changing endpoints.
- New UI code should be JavaScript, not TypeScript.
- New UI code should not depend on old global objects such as `Helper`, `Screens`,
  `DataProvider`, `Toasts`, or `Modals`.
- Generated build artifacts for the new client should stay inside the new client
  directory.
