Files
PaperClipAI/ui
scotttongandClaude Opus 5 c2205a88b4 feat(connections): one connect screen per connector with a stated default
PAP-659 step 1 (C0 + bucket A) and step 2 (C1 + C2) of the approved plan.

- Delete the Access step. Identity and agent reach resolve to a default that
  is printed above the primary action and repeated on the completion screen,
  with the same controls one click away in an Advanced disclosure.
- A selected connector is a single screen, so its stepper is gone rather than
  showing one lonely dot.
- Always have a default connection method: the ranking in
  getRecommendedConnectionMethod is now used instead of discarded for
  multi-method apps, and the alternates plus the capability choice move into
  the same Advanced disclosure.
- The one primary action carries the external-handoff cue.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-28 20:58:37 -07:00
..

@paperclipai/ui

Published static assets for the Paperclip board UI.

What gets published

The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.

Storybook

Storybook config, stories, and fixtures live under ui/storybook/.

pnpm --filter @paperclipai/ui storybook
pnpm --filter @paperclipai/ui build-storybook

Typical use

Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.

Editor dependency identity

Keep the root and workspace overrides for @codemirror/state, @codemirror/view, and @lezer/common aligned. CodeMirror requires shared extension identity, while Lezer parsers and syntax highlighters require shared NodeProp IDs. Multiple Lezer copies can crash code-block highlighting with tags is not iterable. src/lib/codemirror-single-instance.test.ts checks the installed dependency graph and highlights sample code through the editor's real language dependencies. GitHub Actions owns regeneration of pnpm-lock.yaml.