@gadgets/ui is the shared runtime React UI layer for the Workshop and gatekeeper management apps. Kumo owns low-level controls and semantic tokens; this package owns reusable Gadgets interaction patterns and composed components. - Add a component here when at least two independent frontends need the same feature-independent behavior or when consistency across those frontends is an explicit product requirement. - Keep product data fetching, routing, RPC, permissions, and domain workflows in the consuming app. - Check Kumo before adding a…
This package is the Workshop single-page application. It uses React, TanStack Router, Tailwind, and Kumo. Follow the repository-wide guidance in ../../AGENTS.md in addition to this file. Organize new code by product ownership first and implementation type second. The existing tree predates this convention. Apply it to new code and to code being substantially reworked; do not migrate unrelated files opportunistically. Feature directories own product behavior. A feature may contain components, hooks, tests, and utilities that belong to that behavior. Start…
This is a CodeQL extractor that maps a language's parse tree onto a shared AST using the yeast desugaring engine. Swift, the only language so far, is parsed by Apple's swift-syntax rather than by tree-sitter. - The raw parse tree's shape is described by extractor/swiftnodetypes.yml, which is generated from swift-syntax by swift-syntax-rs/schemagen. Do not edit it by hand; regenerate it with scripts/regenerate-node-types.sh after changing the pinned swift-syntax version, then review the diff alongside the mapping in extractor/src/languages/swift/swift.rs. - To run…