Code Safety

NoFlake never modifies your application source code. Here's exactly what it reads, what it writes, and what it never touches.

The golden rule

Read-only on your code. Write-only to tests. Every file NoFlake writes goes into tests/e2e/ (generated Playwright test files) or .noflake/ (internal state). Your src/, app/, pages/, components/, lib/, and all other application directories are never modified.

What NoFlake reads (your code)

The scanner analyzes your project to understand what to test. It reads:

  • Framework detectionpackage.json dependencies to identify Next.js, React, Vue, Svelte, Angular, and 9 other frameworks
  • Routes — Page components, API routes, dynamic segments (framework-specific file conventions)
  • Database schemas — Prisma, Drizzle, TypeORM, Mongoose, Supabase, Knex, and raw SQL migrations
  • Auth configuration — NextAuth, Clerk, Supabase Auth, Lucia, Firebase
  • Forms & validation — Form components and validation patterns

All scanning is read-only. No source files are modified during scanning.

What NoFlake writes (test files only)

LocationContentsCreated by
tests/e2e/*.spec.tsGenerated Playwright test fileswrite, update, run --fix
.noflake/manifest.jsonTest metadata and hasheswrite, update
.noflake/test-plan.mdAI-generated test planwrite
.noflake/coverage-map.mdRoute coverage trackingwrite
.noflake/run-history.mdPass/fail history per runrun
.noflake/report.mdLatest run reportrun
.noflake/visual/baselines/Visual regression screenshotswrite --visual, update --visual

Per-command safety breakdown

CommandModifies app code?Writes test files?
noflake init❌ NoCreates config & directories only
noflake write❌ No✅ Yes — generates new test files
noflake update❌ No✅ Yes — patches existing test files
noflake run❌ NoReports only
noflake run --fix❌ No✅ Yes — fixes failing test files

No lock-in

Generated tests are standard Playwright .spec.ts files. You can read, edit, and run them without NoFlake installed. The .noflake/ directory is purely informational — delete it anytime and your tests still work independently.

Summary: NoFlake is a test writer, not a code modifier. It generates and maintains Playwright tests alongside your code. Your application source is always safe.