Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
f01b323
Add region select components for US states and Canada provinces
codegen-sh[bot] Aug 16, 2025
4b4c5fb
Fix: Replace @remix-run/react dependency with mock fetcher in region-…
codegen-sh[bot] Aug 16, 2025
2277bb6
Add @remix-run/react and react-dom dependencies
codegen-sh[bot] Aug 16, 2025
93abf0c
Fix build errors:
codegen-sh[bot] Aug 16, 2025
9dcee12
Fix build errors:
codegen-sh[bot] Aug 16, 2025
16c07e8
Update Storybook stories to match repository patterns:
codegen-sh[bot] Aug 16, 2025
98c7b1c
Update region-select component to match 360training style:
codegen-sh[bot] Aug 16, 2025
7bf146e
Fix region-select styling issues:
codegen-sh[bot] Aug 16, 2025
145293c
Fix region-select component issues:
codegen-sh[bot] Aug 16, 2025
334f740
Fix region-select component issues:
codegen-sh[bot] Aug 16, 2025
0e84f22
Add back isEnterCandidate styling but only when search input has a value
codegen-sh[bot] Aug 16, 2025
1dab87e
Refactor region select into a general select component with US state …
codegen-sh[bot] Aug 18, 2025
60b1390
Fix: Remove reference to non-existent toggle component
codegen-sh[bot] Aug 18, 2025
520a2c7
Fix build errors in select components refactoring
codegen-sh[bot] Aug 18, 2025
9712c4f
Remove dropdown menu select component
codegen-sh[bot] Aug 18, 2025
42c0992
Fix: Remove references to deleted dropdown-menu-select and region-sel…
codegen-sh[bot] Aug 18, 2025
6b656e1
Update package.json to include Playwright for testing and streamline …
jaruesink Aug 18, 2025
55a2b27
Merge branch 'codegen-bot/refactor-select-components' of github.com:l…
jaruesink Aug 18, 2025
42046ee
Refactor Storybook stories for Select component by consolidating rout…
jaruesink Aug 19, 2025
113c696
Enhance Select component to support customizable UI components. Added…
jaruesink Aug 19, 2025
a228723
Update AGENTS.md to include new versioning guidelines and bump packag…
jaruesink Aug 19, 2025
6630cfc
Merge pull request #128 from lambda-curry/codegen-bot/refactor-select…
jaruesink Aug 19, 2025
e7cd617
Add wildcard exports to package.json for subpath imports
codegen-sh[bot] Aug 19, 2025
80addbf
Merge pull request #129 from lambda-curry/codegen-bot/add-wildcard-ex…
jaruesink Aug 19, 2025
4e2a6ae
Refactor Select component and related stories for improved accessibil…
jaruesink Aug 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions .cursor/rules/versioning-with-npm.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@

You are an expert release manager for a Yarn 4 monorepo who uses the npm CLI for quick version bumps and patch releases.

# Versioning With npm CLI

## Policy
- Prefer small, fast patch releases for incremental work.
- Treat new components and minor fixes as patch releases when they are additive and low-risk.
- Reserve minor/major only for notable feature waves or breaking changes.

Note: While the repo supports Changesets for broader release coordination, this rule documents the npm CLI flow for quick iterations.

## What Counts As “Small”
- Additive components (new UI or form wrappers) without breaking changes
- Bug fixes, perf tweaks, a11y refinements, copy/docs updates
- Internal refactors that don’t change public APIs

## Pre-flight
- Clean working tree: no uncommitted changes
- On a release-worthy branch (e.g., `main`)
- Build and tests pass: `yarn build && yarn test`

## Patch Bump (Single Workspace)
For the published package `@lambdacurry/forms`:

```bash
# Bump version with custom message
npm version patch -w @lambdacurry/forms -m "Add DateField component and fix TextField accessibility"

# The -m flag creates the git commit automatically with your message
# No need for separate git add/commit steps

## Post-version Steps
After running `npm version patch`, you'll need to:

1. **Return to top level**: `cd ../..` (if you're in the package directory)
2. **Update lockfile**: `yarn install` to update `yarn.lock` with the new version
3. **Commit lockfile**: `git add yarn.lock && git commit -m "Update yarn.lock for @lambdacurry/forms vX.Y.Z"`

This ensures the lockfile reflects the new package version and maintains consistency across the monorepo.
```

Guidelines:
- Keep the summary one line and human-readable.
- Examples: "Add DateField; fix TextField aria; smaller bundle".
- This updates `packages/components/package.json` and creates a normal commit without tags.

## Open PR and Merge
- Push your branch and open a PR.
- When the PR merges into `main`, GitHub CI publishes the package. No manual tagging or `npm publish` needed.

## Minor / Major (When Needed)
- Minor: larger feature sets or notable additions across multiple components
```bash
npm version minor -w @lambdacurry/forms -m "Add comprehensive form validation and new field types"
```
- Major: any breaking change (API removals/renames, behavior changes)
```bash
npm version major -w @lambdacurry/forms -m "Breaking: rename onSubmit to handleSubmit; remove deprecated props"
```

## Summary Message Tips
- Keep it under ~100 chars; list 2–3 highlights separated by semicolons
- Focus on user-visible changes first; include critical fixes
- Avoid noisy implementation detail; link to PR/issue in the PR body

## Coordination With Changesets
- Use this npm CLI flow for quick, low-risk patches.
- For multi-package changes, coordinated releases, or richer changelogs, prefer Changesets (`yarn changeset`) and follow the existing repo workflow.


## Coordination With Changesets
- Use this npm CLI flow for quick, low-risk patches.
- For multi-package changes, coordinated releases, or richer changelogs, prefer Changesets (`yarn changeset`) and follow the existing repo workflow.
65 changes: 65 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Repository Guidelines

## Project Structure & Module Organization
- `apps/docs`: Storybook docs, examples, and UI tests.
- `packages/components`: Source for `@lambdacurry/forms` (`src/**`, built to `dist/`).
- `types/`: Shared ambient types.
- `.changeset/`: Versioning and release metadata.
- Root configs: `biome.json`, `turbo.json`, `tsconfig.json`, `package.json` (Yarn workspaces).

## Build, Test, and Development Commands
- `yarn dev`: Run all workspace dev tasks via Turbo.
- `yarn build`: Build all packages/apps.
- `yarn serve`: Serve built Storybook (`apps/docs`).
- `yarn test`: Run workspace tests (Storybook test-runner in `apps/docs`).
- `yarn format-and-lint` | `:fix`: Check/auto-fix with Biome.
- Per workspace (examples):
- `yarn workspace @lambdacurry/forms build`
- `yarn workspace @lambdacurry/forms-docs dev`

## Coding Style & Naming Conventions
- Indentation: 2 spaces; max line width 120; single quotes (Biome enforced).
- TypeScript + React (ES modules). Keep components pure and typed.
- Filenames: kebab-case (e.g., `text-field.tsx`, `data-table-filter/**`).
- Components/Types: PascalCase; hooks: camelCase with `use*` prefix.
- Imports: organized automatically (Biome). Prefer local `index.ts` barrels when useful.

## Testing Guidelines
- Framework: Storybook Test Runner (Playwright under the hood) in `apps/docs`.
- Naming: co-locate tests as `*.test.tsx` near stories/components.
- Run: `yarn test` (CI-like) or `yarn workspace @lambdacurry/forms-docs test:local`.
- Cover critical interactions (forms, validation, a11y, filter behavior). Add stories to exercise states.

## Commit & Pull Request Guidelines
- Commits: short imperative subject, optional scope, concise body explaining rationale.
- Example: `Fix: remove deprecated dropdown select`.
- PRs: clear description, linked issues, screenshots or Storybook links, notes on testing.
- Required checks: `yarn format-and-lint` passes; build succeeds; tests updated/added.
- Versioning: when changing published package(s), add a Changeset (`yarn changeset`) before merge.

## Security & Configuration
- Node `22.9.0` (`.nvmrc`) and Yarn 4 (`packageManager`).
- Do not commit secrets. Keep large artifacts out of VCS (`dist`, `node_modules`).
- PR previews for Storybook are published via GitHub Pages; verify links in PR comments.

## Cursor Rules Review
- `.cursor/rules/react-typescript-patterns.mdc` (Always): React 19 + TS conventions, refs, props/types, naming.
- `.cursor/rules/ui-component-patterns.mdc` (Always): Radix + Tailwind 4 + CVA patterns, a11y, performance.
- `.cursor/rules/form-component-patterns.mdc`: Remix Hook Form + Zod wrappers, errors, server actions.
- `.cursor/rules/storybook-testing.mdc`: Storybook play tests, router stub decorator, local/CI flows.
- `.cursor/rules/monorepo-organization.mdc`: Imports/exports, package boundaries, Turbo/Vite/TS paths.
- `.cursor/rules/versioning-with-npm.mdc`: npm CLI version bumps (patch-first), CI publishes on merge.

When to review before starting work
- Building/refactoring UI components: react-typescript-patterns + ui-component-patterns.
- Form-aware components or validation: form-component-patterns.
- Writing/updating stories or interaction tests: storybook-testing.
- Moving files, changing exports/imports, adding deps/build entries: monorepo-organization.
- Complex UI (data table, Radix primitives, variants): ui-component-patterns for a11y/perf.

Quick checklist
- Files/names: kebab-case files; PascalCase components; named exports only.
- Types: explicit props interfaces; React 19 ref patterns; organize imports (Biome).
- Forms: Zod schemas, proper messages, `fetcher.Form`, show `FormMessage` errors.
- Tests: per-story decorators, semantic queries, three-phase play tests; run `yarn test`.
- Monorepo: no cross-package relative imports; verify `exports`, TS `paths`, Turbo outputs.
140 changes: 0 additions & 140 deletions apps/docs/src/remix-hook-form/dropdown-menu-select.stories.tsx

This file was deleted.

Loading