Skip to content

Conversation

@eluce2
Copy link
Collaborator

@eluce2 eluce2 commented Jan 15, 2026

Note

  • CLI template fix: Bundles missing shadcn components (mode-toggle, ui/button, ui/dropdown-menu, ui/sonner) and updates template config; hardens CLI tests (fresh project cleanup, build verification using latest published versions).
  • Better Auth updates: Aligns adapter types with upstream (DBAdapterDebugLogOption), exposes FileMaker config, switches to getSchema for migrations, normalizes field types; splits tests into fast unit (mocked fetch) and E2E; adds test:e2e and vitest config to exclude E2E by default.
  • fmdapi testing/mocks: Adds response capture script and mock fetch utilities; introduces unit tests with recorded responses; splits E2E tests and updates vitest config; adds Doppler-based test:e2e.
  • Docs DX: Adds PackageInstall component, refactors CliCommand (supports packageName), and updates docs to use these helpers.
  • CI/CD overhaul: New lint/typecheck/test/build stages, Doppler OIDC auth, and beads-sync branch ignore across workflows; adds repo-level ci and typecheck scripts.
  • Beads integration and repo meta: Adds .beads/ configs, merge driver for issues JSONL, agent/CLAUDE settings, CONTRIBUTING, Doppler config; dependency bumps and misc scripts/overrides updated.

Written by Cursor Bugbot for commit affdd65. This will update automatically on new commits. Configure here.

eluce2 and others added 21 commits January 10, 2026 13:57
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> **Fix auth detection in generated clients**
> 
> - Update `typegen.ts` to derive auth mode from config and runtime, defaulting to `OttoAdapter` when `OTTO_API_KEY` is set and no username is specified; centralize env var name selection with fallbacks
> - Add/adjust tests in `typegen.test.ts`: verify default `OTTO_API_KEY` path uses `OttoAdapter`, ensure env is restored via `afterEach`
> - Add changeset for `@proofkit/typegen` patch release
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 84e986d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Introduces stricter quality gates and centralizes environment management while refining type handling across packages.
> 
> - **CI/CD**: Split `continuous-release` into `lint`, `typecheck`, `test` (incl. 1Password + `@proofkit/fmodata` E2E), and `build`; `release.yml` adds manual trigger, TURBO env, and a `quality` job gating publish
> - **Secrets/ENV**: New root `op.env`; removes per-package `op.env` and updates scripts to reference `../../op.env`
> - **Tooling**: Adds `typecheck` scripts across packages and a Turbo `typecheck` task; bumps `turbo` and `pnpm`; small lint script tweaks
> - **CLI/Deploy**: Safer handling of `envFile` (defaults to `.env`); fixes category typing; improves provider wrapping types
> - **Typegen/Generators**: Normalizes data source config (default `type: "fmdapi"`), narrows types to `FmdapiDataSourceConfig`, and filters ops by type
> - **Registry**: Replaces `shadcn` type imports with local lightweight schemas; updates `registry` package scripts
> - **Auth installer**: Ensures added config includes `type: "fmdapi"` and explicit `envNames: undefined`
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e0cc7d3. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Migrates secrets management from 1Password/.env to Doppler and wires up GitHub OIDC in CI.
> 
> - CI workflows (`continuous-release.yml`, `release.yml`): install Doppler CLI, obtain OIDC token, authenticate, and run unit/E2E tests without 1Password; add required permissions; update fmodata E2E command
> - Repo/dev tooling: add `doppler.yaml`; add `CONTRIBUTING.md` with Doppler setup; root `test` uses `turbo run test`; `turbo.json` refines `test` inputs/dependsOn and adds `test:watch`
> - Packages: switch test scripts to `doppler run` in `better-auth`, `cli`, `fmdapi`, `fmodata`, `typegen`; remove dotenv-based setup files and `op.env`; minor test/config tweaks (extended timeout, schema validation)
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e9af475. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> **Fix CLI scaffold to include required UI components**
> - Remove runtime `shadcn` install from `init.ts`; ship `mode-toggle`, `ui/button`, `ui/dropdown-menu`, and `ui/sonner` in `nextjs-shadcn` template
> - Update template deps (`@radix-ui/react-slot`, `radix-ui`, `sonner`) and trim `registryTemplates`
> - Strengthen CLI test: clean stale test project, verify data source config, and ensure project builds
> 
> **Integrate Beads issue tracking**
> - Add `.beads/` config, README, metadata, and initial `issues.jsonl`; add agent/editor rules (`AGENTS.md`, `.cursor/rules/beads.mdc`), and update `.gitignore`/`.gitattributes` (custom merge for `.beads/issues.jsonl`)
> - CI: ignore `beads-sync` branch in workflow triggers
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 25d4407. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Fixes CI failure where scaffolded projects reference unpublished
@proofkit/* versions. Test now replaces versions with "latest"
before running pnpm install.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add job-level conditions to prevent CI from running on beads-sync

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Added new dependencies: glob, @modelcontextprotocol/sdk, preact, qs, vite, and body-parser with specified versions. Updated existing dependencies to ensure compatibility.
…d type safety

- Changed `AdapterDebugLogs` to `DBAdapterDebugLogOption` in `FileMakerAdapterConfig`.
- Updated `betterAuthSchema` type in `planMigration` to use a more accurate schema definition.
- Enhanced CLI to utilize `getSchema` instead of `getAuthTables` for better compatibility.
- Added new entries to `.gitignore` for machine-specific sync files.
Co-authored-by: eric.luce <[email protected]>
Co-authored-by: Claude Opus 4.5 <[email protected]>
Co-authored-by: Cursor Agent <[email protected]>
…decar, including triage commands and graph analysis features. Update package.json to add a CI script for linting, type checking, and testing. Remove obsolete ralph-afk.sh script and modify ralph-once.sh to streamline task execution and quality checks.
- Add packageName prop to CliCommand for auto-versioning
- Create PackageInstall component for install commands
- Convert all hardcoded @beta references to use constant

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Remove fmodata E2E step and Doppler auth from continuous-release.yml.
Add root-level test:e2e script and turbo task for local E2E runs.

Co-Authored-By: Claude Opus 4.5 <[email protected]>

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Streamlines CI and enables local E2E runs.
> 
> - Removes Doppler OIDC auth and `@proofkit/fmodata` E2E step from `continuous-release.yml`; CI now runs lint, typecheck, unit tests, and build only
> - Adds root-level `test:e2e` script and a non-cached `test:e2e` turbo task for local E2E execution
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e1d1214. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
- Create capture script for recording live API responses
- Add mock-fetch utility for mocking global fetch in tests
- Reorganize tests: move E2E tests to tests/e2e/
- Create mock-based unit tests that don't require live FM server
- Update vitest config to exclude E2E tests by default
- Add test:e2e and capture scripts to package.json

Co-Authored-By: Claude Opus 4.5 <[email protected]>

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Builds a robust test setup that decouples unit tests from a live FileMaker server and isolates E2E tests.
> 
> - **Mock infra**: Add `tests/utils/mock-fetch.ts`, `tests/fixtures/responses.ts` (captured FM responses), and `tests/utils/mock-server-url.ts`; refactor unit tests to stub global `fetch` and use `mockResponses`
> - **Capture script**: New `scripts/capture-responses.ts` to hit a live server, sanitize URLs, and regenerate `tests/fixtures/responses.ts`
> - **Test reorg**: Move live tests to `tests/e2e/**` and add new E2E specs; convert existing `client-methods.test.ts` to pure unit tests using mocks
> - **Config/scripts**: Update `package.json` with `test:e2e` and `capture` commands and simplify `test`; adjust `vitest.config.ts` to exclude `tests/e2e/**` by default
> - Minor test cleanups: consistent imports (`../src/index`), afterEach `vi.unstubAllGlobals()`, and small assertion/name fixes
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit beec7bf. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
test(better-auth): add mock infrastructure for unit tests

- Move E2E tests (adapter.test.ts, migrate.test.ts) to tests/e2e/
- Create mock fetch utilities and OData response fixtures
- Add unit tests for adapter operations using mocked responses
- Update vitest.config.ts to exclude E2E tests
- Add test:e2e script for running E2E tests separately

Co-Authored-By: Claude Opus 4.5 <[email protected]>

test(typegen): add mock infrastructure for unit tests (#103)

## Summary
- Create layout metadata fixtures (`tests/fixtures/layout-metadata.ts`)
- Add mock fetch utility for mocking FM Data API calls (`tests/utils/mock-fetch.ts`)
- Move E2E tests requiring live FM server to `tests/e2e/`
- Create unit tests that use mocked metadata (11 tests)
- Update `vitest.config.ts` to exclude e2e tests by default
- Add `test:e2e` script for running E2E tests with doppler

## Test plan
- [x] `pnpm --filter @proofkit/typegen lint` passes
- [x] `pnpm --filter @proofkit/typegen typecheck` passes
- [x] `pnpm --filter @proofkit/typegen test` passes (11 unit tests)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Establishes isolated unit testing with mocks and separates E2E runs across the repo.
> 
> - **Better Auth**: Add mock OData responses and `mock-fetch` utils; create comprehensive adapter unit tests; move adapter/migrate E2E to `tests/e2e`; add `test:e2e` script; update `vitest.config.ts` to exclude E2E; small refactor in `migrate.ts` for safer type normalization and explicit FM type mapping
> - **Typegen**: Add layout metadata fixtures and mock fetch utils; create unit tests using mocked metadata; move live E2E to `tests/e2e`; add `test:e2e` script; update `vitest.config.ts` to exclude E2E
> - **Fmodata**: Relocate E2E tests to `tests/e2e`; update `test:e2e` to run folder
> - **CLI**: Simplify `test` script to `vitest run`; update vitest config to exclude E2E-like test
> - **Repo scripts**: Tweak `scripts/ralph-once.sh` workflow command
> 
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 67a2fec. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

test(fmodata): move E2E tests to tests/e2e folder

Move e2e.test.ts and schema-manager.test.ts to tests/e2e/ so they're excluded from default test runs. Update test:e2e script to run entire e2e folder.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@vercel
Copy link

vercel bot commented Jan 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
proofkit-docs Ready Ready Preview Jan 15, 2026 6:30pm

Review with Vercel Agent

@eluce2 eluce2 closed this Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants