Skip to main content

README.md

# Skua

> **Status: pre-release / under construction.** Not yet on Hex. The full
> research-backed plan lives in [PLAN.md](PLAN.md).

Form-first UI components for Phoenix LiveView (1.1+) on Phoenix 1.8+:
rich select, date picker, OTP input, dialogs, toasts and top-layer panels —
server-authoritative, viewport-aware, themeable from 12 CSS tokens, with
**zero third-party JavaScript** (one colocated-hooks import, ~7 KB min+gzip).

Installed and managed through `mix` tasks built on Igniter, including
`--strip-daisy` to replace Phoenix 1.8's bundled daisyUI on fresh apps.

## Install

Add the dep, then run the installer — it wires CSS/JS/imports, replaces the
default Phoenix home with a Skua starter page (theme toggle, component
showcase, `Phoenix + Skua` version line), and strips the default branding:

```elixir
# mix.exs — while pre-Hex, use a path or git dep
{:skua, path: "../skua"}
```

```bash
mix deps.get
mix skua.install   # idempotent; re-run any time
mix phx.server     # open /
```

The installer is path-dep aware (no `deps/skua` needed) and degrades to printed
manual steps if your app diverges from the default layout. Local-testing notes
in [guides/local-testing.md](guides/local-testing.md).

## Repository layout

- `PLAN.md` — the full project plan (architecture decisions, installer spec,
  strip-daisy design, release pipeline, roadmap).
- `assets/css/skua.css` — the token + component CSS layer (the stable artifact).
- `lib/` — components, colocated hooks, and mix tasks land here per the
  roadmap phases.
- `_component_defaults/` — reference prototypes the library is being built
  from (styled-layer HTML demo, LiveView hook/component prototypes, and the
  skua.sh brand system). Not shipped in the hex package.

## License

MIT — see [LICENSE.md](LICENSE.md).