Skip to content

Commit 42f6659

Browse files
authored
Merge pull request #143 from lambda-curry/biome-v2-migration-clean
2 parents ee9891f + e52941b commit 42f6659

File tree

78 files changed

+513
-379
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+513
-379
lines changed

.agentos/agents/:researcher.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Research Agent — Usage Notes
2+
3+
---
4+
5+
## Purpose
6+
7+
Investigate bugs and implementation questions, providing evidence-backed recommendations that align with the constitution and tech stack.
8+
9+
---
10+
11+
## Invocation
12+
13+
- Default research depth: pragmatic (2–3 primary sources).
14+
- Request a deeper dive if needed.
15+
16+
---
17+
18+
## Tooling Options
19+
20+
**Primary Steps (Context7 MCP):**
21+
1. `resolve-library-id <library-name>`
22+
2. `get-library-docs <resolved-id> --topic <focus> --tokens 4000`
23+
- *Always* call `resolve-library-id` before `get-library-docs` unless you have an exact Context7 ID.
24+
25+
**Alternative Research Tools:**
26+
- General web search:
27+
- Perplexity or Exa (`exa_web_search`, `exa_web_view_page`) for authoritative docs, RFCs, READMEs.
28+
- Browser/search MCP:
29+
- `chrome_get_web_content` (snapshots)
30+
- `chrome_network_request` (API docs)
31+
- `search_tabs_content` (pivot within existing tabs)
32+
- If no tools are available:
33+
- Rely on local repository context and framework knowledge.
34+
- Cite local files and well-known framework behavior.
35+
36+
---
37+
38+
## Safety
39+
40+
- **Never** print secrets; use placeholders like `{{API_TOKEN}}` or `{{SECRET_NAME}}`.
41+
- Prefer read-only commands; ask for confirmation before performing risky actions.
42+
43+
---
44+
45+
## Role & Goal
46+
47+
You are the Research Agent for Lambda AgentOS.
48+
49+
**Goal:**
50+
Investigate bugs and technical implementation questions using available research tools (Context7 MCP, Perplexity/Exa, browser/search MCP), then synthesize findings into actionable guidance that aligns with the constitution and tech stack.
51+
52+
---
53+
54+
## Operating Principles
55+
56+
- **Constitution:** Honor simplicity, contract-first, typed data flow, spec traceability, and review gates.
57+
- **Evidence-driven:** Prefer authoritative docs; cite sources with versions/anchors; avoid speculation.
58+
- **Safety and privacy:** Never reveal secrets; always use `{{SECRET_NAME}}` placeholders.
59+
60+
---
61+
62+
## Task Workflow
63+
64+
### 1. Classify Scope
65+
66+
- Determine: Bug triage, Implementation design, or Unknown.
67+
- Extract key terms (libraries, APIs, error codes, file paths) and hypotheses.
68+
69+
### 2. Local Context Pass (Read Only)
70+
71+
- Read:
72+
- `AGENTS.md`
73+
- `.agentos/memory/constitution.md`
74+
- `.agentos/standards/tech-stack.md`
75+
- `README.md`
76+
- Any task-linked spec under `.agentos/specs/*` (if provided)
77+
- Identify likely involved repo components (e.g., RR7 routes/loaders/actions, `packages/ui`, `packages/utils`).
78+
79+
### 3. Plan Your Research
80+
81+
- List 3–6 concise bullets: what to confirm, where to look, expected outcomes.
82+
- Select tools based on availability and the question:
83+
- Context7 MCP (if accessible)
84+
- General web search (Perplexity/Exa)
85+
- Browser/search MCP tools
86+
- Otherwise, rely on local repository context and framework knowledge
87+
88+
### 4. Execute Research (Use Available Tools)
89+
90+
- **If a library/framework is in scope:**
91+
- Context7 MCP: `resolve-library-id``get-library-docs` (topic focus, tokens ≈ 4000)
92+
- General web search: Perplexity/Exa for official docs, RFCs, release notes, GitHub READMEs
93+
- **If unknown or ambiguous:**
94+
- Use browser/search MCP tools or general web search to locate authoritative docs and references
95+
- Collect 2–5 relevant sources; capture brief quotes/snippets and versions.
96+
97+
### 5. Synthesize and Recommend
98+
99+
- **Summary:** 3–5 sentences on what’s going on and what matters.
100+
- **Findings:** Bullet list with inline citations [#].
101+
- **Tradeoffs:** Options with pros/cons.
102+
- **Recommendation:** Single best path and rationale.
103+
- **Repo Next Steps:** Target files, tests, contracts to add, gate impacts (pre/post-flight).
104+
- **Risks & Mitigations.**
105+
106+
### 6. Output Format
107+
108+
1. Title
109+
2. Classification and Assumptions
110+
3. Research Plan
111+
4. Sources (with links and versions)
112+
5. Findings and Tradeoffs
113+
6. Recommendation
114+
7. Repo Next Steps (checklist)
115+
8. Risks & Open Questions
116+
117+
---
118+
119+
## Guidelines and Constraints
120+
121+
- Always call `resolve-library-id` before `get-library-docs` unless you have an exact Context7 library ID.
122+
- Prefer ≤ 3 primary sources; add secondary links sparingly.
123+
- Mark missing context with `[NEEDS CLARIFICATION: question]`.
124+
- Redact secrets or tokens; use placeholders like `{{API_TOKEN}}`.
125+
- If tools are unavailable, produce a best-effort plan and ask for authorization to proceed.

.cursor/rules/versioning-with-npm.mdc

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,3 @@ Guidelines:
6363
- Keep it under ~100 chars; list 2–3 highlights separated by semicolons
6464
- Focus on user-visible changes first; include critical fixes
6565
- Avoid noisy implementation detail; link to PR/issue in the PR body
66-
67-
## Coordination With Changesets
68-
- Use this npm CLI flow for quick, low-risk patches.
69-
- For multi-package changes, coordinated releases, or richer changelogs, prefer Changesets (`yarn changeset`) and follow the existing repo workflow.
70-
71-
72-
## Coordination With Changesets
73-
- Use this npm CLI flow for quick, low-risk patches.
74-
- For multi-package changes, coordinated releases, or richer changelogs, prefer Changesets (`yarn changeset`) and follow the existing repo workflow.

AGENTS.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
- `yarn build`: Build all packages/apps.
1313
- `yarn serve`: Serve built Storybook (`apps/docs`).
1414
- `yarn test`: Run workspace tests (Storybook test-runner in `apps/docs`).
15-
- `yarn format-and-lint` | `:fix`: Check/auto-fix with Biome.
15+
- `yarn lint` | `:fix`: Check/auto-fix with Biome.
1616
- Per workspace (examples):
1717
- `yarn workspace @lambdacurry/forms build`
1818
- `yarn workspace @lambdacurry/forms-docs dev`
@@ -34,7 +34,7 @@
3434
- Commits: short imperative subject, optional scope, concise body explaining rationale.
3535
- Example: `Fix: remove deprecated dropdown select`.
3636
- PRs: clear description, linked issues, screenshots or Storybook links, notes on testing.
37-
- Required checks: `yarn format-and-lint` passes; build succeeds; tests updated/added.
37+
- Required checks: `yarn lint` passes; build succeeds; tests updated/added.
3838
- Versioning: when changing published package(s), add a Changeset (`yarn changeset`) before merge.
3939

4040
## Security & Configuration
@@ -50,6 +50,9 @@
5050
- `.cursor/rules/monorepo-organization.mdc`: Imports/exports, package boundaries, Turbo/Vite/TS paths.
5151
- `.cursor/rules/versioning-with-npm.mdc`: npm CLI version bumps (patch-first), CI publishes on merge.
5252

53+
## AI Agent Workflows
54+
- `:researcher` - Investigate bugs/implementation questions and produce evidence-backed recommendations aligned with the constitution and tech stack.
55+
5356
When to review before starting work
5457
- Building/refactoring UI components: react-typescript-patterns + ui-component-patterns.
5558
- Form-aware components or validation: form-component-patterns.

apps/docs/src/examples/middleware-example.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { zodResolver } from '@hookform/resolvers/zod';
22
import { TextField } from '@lambdacurry/forms/remix-hook-form';
3+
import type { ActionFunctionArgs } from 'react-router';
34
// Example of using the new middleware feature in remix-hook-form v7.0.0
45
import { Form } from 'react-router';
5-
import type { ActionFunctionArgs } from 'react-router';
66
import { RemixFormProvider, useRemixForm } from 'remix-hook-form';
77
import { getValidatedFormData } from 'remix-hook-form/middleware';
88
import * as zod from 'zod';

apps/docs/src/lib/storybook/react-router-stub.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import type { Decorator } from '@storybook/react-vite';
22
import type { ComponentType } from 'react';
33
import {
44
type ActionFunction,
5+
createRoutesStub,
56
type LinksFunction,
67
type LoaderFunction,
78
type MetaFunction,
8-
createRoutesStub,
99
} from 'react-router';
1010

1111
export interface StubRouteObject {

apps/docs/src/remix-hook-form/calendar-with-month-year-select.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import type { Meta, StoryObj } from '@storybook/react-vite';
77
import { expect, userEvent, within } from '@storybook/test';
88
import * as React from 'react';
99
import { type ActionFunctionArgs, Form, useFetcher } from 'react-router';
10-
import { RemixFormProvider, createFormData, getValidatedFormData, useRemixForm } from 'remix-hook-form';
10+
import { createFormData, getValidatedFormData, RemixFormProvider, useRemixForm } from 'remix-hook-form';
1111
import { z } from 'zod';
1212
import { withReactRouterStubDecorator } from '../lib/storybook/react-router-stub';
1313

apps/docs/src/remix-hook-form/checkbox-custom.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { expect, userEvent, within } from '@storybook/test';
88
import type * as React from 'react';
99
import type { ActionFunctionArgs } from 'react-router';
1010
import { useFetcher } from 'react-router';
11-
import { RemixFormProvider, getValidatedFormData, useRemixForm } from 'remix-hook-form';
11+
import { getValidatedFormData, RemixFormProvider, useRemixForm } from 'remix-hook-form';
1212
import { z } from 'zod';
1313
import { withReactRouterStubDecorator } from '../lib/storybook/react-router-stub';
1414

apps/docs/src/remix-hook-form/checkbox-list.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Button } from '@lambdacurry/forms/ui/button';
55
import type { Meta, StoryObj } from '@storybook/react-vite';
66
import { expect, userEvent, type within } from '@storybook/test';
77
import { type ActionFunctionArgs, Form, useFetcher } from 'react-router';
8-
import { RemixFormProvider, createFormData, getValidatedFormData, useRemixForm } from 'remix-hook-form';
8+
import { createFormData, getValidatedFormData, RemixFormProvider, useRemixForm } from 'remix-hook-form';
99
import { z } from 'zod';
1010
import { withReactRouterStubDecorator } from '../lib/storybook/react-router-stub';
1111

apps/docs/src/remix-hook-form/checkbox.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Button } from '@lambdacurry/forms/ui/button';
44
import type { Meta, StoryObj } from '@storybook/react-vite';
55
import { expect, userEvent, within } from '@storybook/test';
66
import { type ActionFunctionArgs, useFetcher } from 'react-router';
7-
import { RemixFormProvider, getValidatedFormData, useRemixForm } from 'remix-hook-form';
7+
import { getValidatedFormData, RemixFormProvider, useRemixForm } from 'remix-hook-form';
88
import { z } from 'zod';
99
import { withReactRouterStubDecorator } from '../lib/storybook/react-router-stub';
1010

apps/docs/src/remix-hook-form/data-table/data-table-client-side.stories.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import { columnConfigs, columns } from './data-table-stories.components';
44
import {
55
DataTable,
66
DataTableFilter,
7-
type MockIssue,
8-
type OnChangeFn,
9-
type PaginationState,
10-
type SortingState,
117
getCoreRowModel,
128
getPaginationRowModel,
139
getSortedRowModel,
10+
type MockIssue,
1411
mockDatabase,
12+
type OnChangeFn,
13+
type PaginationState,
14+
type SortingState,
1515
useDataTableFilters,
1616
useFilterSync,
1717
useReactTable,

0 commit comments

Comments
 (0)