@devflow-tools/benchmark 0.16.27 → 0.16.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/repeated-trials.d.ts +1 -0
  2. package/dist/repeated-trials.d.ts.map +1 -1
  3. package/dist/repeated-trials.js +1 -0
  4. package/dist/repeated-trials.js.map +1 -1
  5. package/dist/retrieval-quality-corpus.d.ts +23 -0
  6. package/dist/retrieval-quality-corpus.d.ts.map +1 -1
  7. package/dist/retrieval-quality-corpus.js +72 -9
  8. package/dist/retrieval-quality-corpus.js.map +1 -1
  9. package/dist/retrieval-quality.d.ts +47 -0
  10. package/dist/retrieval-quality.d.ts.map +1 -1
  11. package/dist/retrieval-quality.js +146 -2
  12. package/dist/retrieval-quality.js.map +1 -1
  13. package/fixtures/projects/react-video/.devflow/.force-init +1 -1
  14. package/fixtures/projects/react-video/.devflow/knowledge/knowledge.db +0 -0
  15. package/fixtures/projects/react-video/.devflow/memory/memories.db +0 -0
  16. package/fixtures/projects/rsbuild-react-quality/.codegraph/.gitignore +5 -0
  17. package/fixtures/projects/rsbuild-react-quality/.devflow/.force-init +1 -0
  18. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/angular/manifest.json +13 -0
  19. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/knowledge.db +0 -0
  20. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/nest/manifest.json +13 -0
  21. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/nextjs/manifest.json +13 -0
  22. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/node/manifest.json +13 -0
  23. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/prisma/manifest.json +13 -0
  24. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/react/chunk-001.json +8 -0
  25. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/react/manifest.json +13 -0
  26. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/tailwind/manifest.json +13 -0
  27. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/typescript/manifest.json +13 -0
  28. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/vitest/manifest.json +13 -0
  29. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/vue/manifest.json +13 -0
  30. package/fixtures/projects/rsbuild-react-quality/.devflow/memory/memories.db +0 -0
  31. package/fixtures/projects/rsbuild-react-quality/.devflow/symbols-vec.db +0 -0
  32. package/fixtures/projects/rsbuild-react-quality/components.json +7 -0
  33. package/fixtures/projects/rsbuild-react-quality/package.json +17 -0
  34. package/fixtures/projects/rsbuild-react-quality/src/components/Login.tsx +14 -0
  35. package/fixtures/retrieval-quality-corpus.json +57 -2
  36. package/fixtures/retrieval-quality-devflow.json +5 -3
  37. package/fixtures/retrieval-quality-react-video.json +63 -1
  38. package/fixtures/retrieval-quality-rsbuild-react.json +93 -0
  39. package/fixtures/retrieval-quality.json +5 -2
  40. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import { existsSync, readFileSync } from 'node:fs';
1
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, resolve } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { createEngines, getProjectContextResult } from '@devflow-tools/context-engine';
@@ -8,10 +8,15 @@ export async function runRetrievalQualityBenchmark(options) {
8
8
  const projectRoot = resolve(options.projectRoot);
9
9
  const fixturePath = resolve(options.fixturePath ?? defaultFixturePath());
10
10
  const fixture = loadFixture(fixturePath);
11
+ if (fixture.setup?.resetProjectState) {
12
+ rmSync(resolve(projectRoot, '.devflow', 'memory'), { recursive: true, force: true });
13
+ rmSync(resolve(projectRoot, '.devflow', 'knowledge'), { recursive: true, force: true });
14
+ }
11
15
  const engines = await createEngines(projectRoot, { warmSymbolVectors: false });
12
16
  const envelopes = [];
13
17
  const diagnostics = [];
14
18
  try {
19
+ const sameSessionMemoryReadyMs = await prepareFixture(engines, fixture, projectRoot);
15
20
  for (const testCase of fixture.queries) {
16
21
  const result = await getProjectContextResult(engines.context, {
17
22
  query: testCase.query,
@@ -22,6 +27,7 @@ export async function runRetrievalQualityBenchmark(options) {
22
27
  requestId: `quality:${testCase.id}:${Date.now()}`,
23
28
  host: 'benchmark',
24
29
  command: 'retrieval-quality',
30
+ activeSkill: testCase.activeSkill,
25
31
  projectRoot,
26
32
  }, 0);
27
33
  if (!result.taskEnvelope)
@@ -51,6 +57,8 @@ export async function runRetrievalQualityBenchmark(options) {
51
57
  const fileCases = envelopes.filter(item => (item.fixture.relevantCode?.length ?? 0) > 0);
52
58
  const symbolCases = envelopes.filter(item => (item.fixture.relevantSymbols?.length ?? 0) > 0);
53
59
  const memoryCases = envelopes.filter(item => (item.fixture.relevantMemoryIds?.length ?? 0) > 0 || (item.fixture.relevantMemoryTerms?.length ?? 0) > 0);
60
+ const policyMemoryCases = memoryCases.filter(item => (item.fixture.expectedPolicyFacets?.length ?? 0) > 0);
61
+ const generalMemoryCases = memoryCases.filter(item => (item.fixture.expectedPolicyFacets?.length ?? 0) === 0);
54
62
  const emptyMemoryCases = envelopes.filter(item => item.fixture.expectedEmptyMemory === true);
55
63
  const knowledgeCases = envelopes.filter(item => (item.fixture.relevantKnowledgeIds?.length ?? 0) > 0 || (item.fixture.relevantKnowledgeSources?.length ?? 0) > 0);
56
64
  const versionCases = envelopes.filter(item => Object.keys(item.fixture.expectedVersions ?? {}).length > 0);
@@ -62,18 +70,34 @@ export async function runRetrievalQualityBenchmark(options) {
62
70
  codeFilePrecisionAt5: average(fileCases.map(item => filePrecision(item.envelope, item.fixture, 5))),
63
71
  symbolNdcgAt5: average(symbolCases.map(item => symbolNdcg(item.envelope, item.fixture, 5))),
64
72
  falseCrossFileEdgeRate: acceptedCrossFile.length > 0 ? falseAccepted.length / acceptedCrossFile.length : 0,
73
+ memoryRecallAt5: average(generalMemoryCases.map(item => memoryRecall(item.envelope, item.fixture, 5))),
74
+ policyMemoryRecallAt5: average(policyMemoryCases.map(item => memoryRecall(item.envelope, item.fixture, 5))),
65
75
  memoryPrecisionAt5: average(memoryCases.map(item => memoryPrecision(item.envelope, item.fixture, 5))),
66
76
  expectedEmptyMemoryAccuracy: average(emptyMemoryCases.map(item => item.envelope.memory.entries.length === 0 ? 1 : 0)),
67
77
  knowledgeNdcgAt5: average(knowledgeCases.map(item => knowledgeNdcg(item.envelope, item.fixture, 5))),
78
+ knowledgePrecisionAt3: average(knowledgeCases.map(item => knowledgePrecision(item.envelope, item.fixture, 3))),
68
79
  knowledgeVectorCoverage: knowledgeHealth.vectorCoverage,
69
80
  knowledgeChunkP95: knowledgeHealth.chunkTokens.p95,
70
81
  knowledgeVersionMatch: average(versionCases.map(item => knowledgeVersionMatch(item.envelope, item.fixture))),
82
+ knowledgeInjectionViolations: envelopes.reduce((total, item) => total + knowledgeInjectionViolations(item.envelope, item.fixture), 0),
83
+ staleSelectedFiles: envelopes.reduce((total, item) => total + item.envelope.code.files.filter(file => file.freshness?.current !== true).length, 0),
71
84
  lifecycleFalseClosed: runtimeTruth.lifecycleFalseClosed,
72
85
  workflowFalseSuccess: runtimeTruth.workflowFalseSuccess,
73
86
  averageContextTokens: average(envelopes.map(item => item.envelope.request.tokenBudget > 0
74
87
  ? Math.min(item.envelope.request.tokenBudget, selectedEnvelopeTokenEstimate(item.envelope))
75
88
  : 0)),
76
89
  maxRetrievalCycle: Math.max(1, ...envelopes.map(item => item.envelope.retrieval?.cycle ?? 1)),
90
+ policyActionAccuracy: average(envelopes
91
+ .filter(item => item.fixture.expectedDomainAction)
92
+ .map(item => canonicalPolicyMatches(item.envelope, item.fixture) ? 1 : 0)),
93
+ ledgerCompleteness: average(envelopes.map(item => ledgerCompleteness(projectRoot, item.envelope))),
94
+ sameSessionMemoryReadyMs,
95
+ };
96
+ const samples = {
97
+ memoryPositive: generalMemoryCases.length,
98
+ policyMemoryPositive: policyMemoryCases.length,
99
+ knowledgePositive: knowledgeCases.length,
100
+ policyAction: envelopes.filter(item => item.fixture.expectedDomainAction).length,
77
101
  };
78
102
  const thresholds = fixture.thresholds;
79
103
  const gates = {
@@ -81,15 +105,23 @@ export async function runRetrievalQualityBenchmark(options) {
81
105
  codeFilePrecisionAt5: metrics.codeFilePrecisionAt5 >= thresholds.codeFilePrecisionAt5,
82
106
  symbolNdcgAt5: metrics.symbolNdcgAt5 >= thresholds.symbolNdcgAt5,
83
107
  falseCrossFileEdgeRate: metrics.falseCrossFileEdgeRate < thresholds.falseCrossFileEdgeRate,
108
+ memoryRecallAt5: metrics.memoryRecallAt5 >= (thresholds.memoryRecallAt5 ?? 0.90),
109
+ policyMemoryRecallAt5: metrics.policyMemoryRecallAt5 >= (thresholds.policyMemoryRecallAt5 ?? 1),
84
110
  memoryPrecisionAt5: metrics.memoryPrecisionAt5 >= thresholds.memoryPrecisionAt5,
85
111
  expectedEmptyMemoryAccuracy: metrics.expectedEmptyMemoryAccuracy >= thresholds.expectedEmptyMemoryAccuracy,
86
112
  knowledgeNdcgAt5: metrics.knowledgeNdcgAt5 >= thresholds.knowledgeNdcgAt5,
113
+ knowledgePrecisionAt3: metrics.knowledgePrecisionAt3 >= thresholds.knowledgePrecisionAt3,
87
114
  knowledgeVectorCoverage: metrics.knowledgeVectorCoverage >= thresholds.knowledgeVectorCoverage,
88
115
  knowledgeChunkP95: metrics.knowledgeChunkP95 <= thresholds.knowledgeChunkP95,
89
116
  knowledgeVersionMatch: metrics.knowledgeVersionMatch >= thresholds.knowledgeVersionMatch,
117
+ knowledgeInjectionViolations: metrics.knowledgeInjectionViolations <= (thresholds.maxKnowledgeInjectionViolations ?? 0),
118
+ staleSelectedFiles: metrics.staleSelectedFiles <= (thresholds.maxStaleSelectedFiles ?? 0),
90
119
  lifecycleFalseClosed: Number.isFinite(metrics.lifecycleFalseClosed) && metrics.lifecycleFalseClosed === 0,
91
120
  workflowFalseSuccess: Number.isFinite(metrics.workflowFalseSuccess) && metrics.workflowFalseSuccess === 0,
92
121
  maxRetrievalCycle: metrics.maxRetrievalCycle <= (thresholds.maxRetrievalCycle ?? 3),
122
+ policyActionAccuracy: metrics.policyActionAccuracy >= (thresholds.minPolicyActionAccuracy ?? 1),
123
+ ledgerCompleteness: metrics.ledgerCompleteness >= (thresholds.minLedgerCompleteness ?? 1),
124
+ sameSessionMemoryReady: metrics.sameSessionMemoryReadyMs <= (thresholds.maxSameSessionMemoryReadyMs ?? 5_000),
93
125
  };
94
126
  const report = {
95
127
  schemaVersion: 'devflow.retrieval-quality-report.v1',
@@ -98,6 +130,7 @@ export async function runRetrievalQualityBenchmark(options) {
98
130
  createdAt: Date.now(),
99
131
  status: Object.values(gates).every(Boolean) ? 'passed' : 'failed',
100
132
  metrics,
133
+ samples,
101
134
  thresholds,
102
135
  gates,
103
136
  cases: envelopes.map(item => ({
@@ -111,7 +144,12 @@ export async function runRetrievalQualityBenchmark(options) {
111
144
  ? { memoryPrecisionAt5: memoryPrecision(item.envelope, item.fixture, 5) } : {}),
112
145
  ...(item.fixture.expectedEmptyMemory ? { expectedEmptyMemoryCorrect: item.envelope.memory.entries.length === 0 } : {}),
113
146
  ...((item.fixture.relevantKnowledgeIds?.length ?? 0) + (item.fixture.relevantKnowledgeSources?.length ?? 0) > 0
114
- ? { knowledgeNdcgAt5: knowledgeNdcg(item.envelope, item.fixture, 5) } : {}),
147
+ ? {
148
+ knowledgeNdcgAt5: knowledgeNdcg(item.envelope, item.fixture, 5),
149
+ knowledgePrecisionAt3: knowledgePrecision(item.envelope, item.fixture, 3),
150
+ } : {}),
151
+ knowledgeInjectionViolations: knowledgeInjectionViolations(item.envelope, item.fixture),
152
+ staleSelectedFiles: item.envelope.code.files.filter(file => file.freshness?.current !== true).length,
115
153
  tokenCount: selectedEnvelopeTokenEstimate(item.envelope),
116
154
  retrievalCycle: item.envelope.retrieval?.cycle ?? 1,
117
155
  })),
@@ -131,6 +169,40 @@ export async function runRetrievalQualityBenchmark(options) {
131
169
  engines.data.close?.();
132
170
  }
133
171
  }
172
+ async function prepareFixture(engines, fixture, projectRoot) {
173
+ const startedAt = Date.now();
174
+ for (const [index, content] of (fixture.setup?.explicitMemories ?? []).entries()) {
175
+ const saved = await engines.memory.saveExplicitMemoryIntent(content, `quality:setup:${index}`);
176
+ await engines.memory.enrichExplicitMemoryObservation(saved.id);
177
+ }
178
+ const memoryReadyMs = Date.now() - startedAt;
179
+ for (const source of fixture.setup?.knowledgeSources ?? []) {
180
+ await engines.knowledge.registerSource({
181
+ name: source.name,
182
+ pluginName: source.pluginName ?? 'benchmark-fixture',
183
+ urls: [],
184
+ version: source.version,
185
+ });
186
+ const sourceDir = resolve(projectRoot, '.devflow', 'knowledge', source.name);
187
+ mkdirSync(sourceDir, { recursive: true });
188
+ for (const [index, chunk] of source.chunks.entries()) {
189
+ writeFileSync(resolve(sourceDir, `chunk-${String(index + 1).padStart(3, '0')}.json`), JSON.stringify({
190
+ id: `chunk-${String(index + 1).padStart(3, '0')}`,
191
+ title: chunk.title,
192
+ section: chunk.title,
193
+ content: chunk.content,
194
+ sourceUrl: chunk.sourceUrl ?? `devflow://benchmark/${source.name}`,
195
+ fetchedAt: Date.now(),
196
+ }, null, 2));
197
+ }
198
+ const reingested = engines.knowledge.reingestLocalSources(source.name);
199
+ if (reingested.some(result => result.errors.length > 0 || result.chunks === 0)) {
200
+ throw new Error(`Failed to prepare benchmark knowledge source ${source.name}`);
201
+ }
202
+ await engines.knowledge.backfillVectors({ source: source.name });
203
+ }
204
+ return memoryReadyMs;
205
+ }
134
206
  function readRuntimeEfficiencyMetrics(projectRoot, diagnostics) {
135
207
  const empty = {
136
208
  fullPluginCount: null,
@@ -294,6 +366,19 @@ function memoryPrecision(envelope, fixture, k) {
294
366
  || terms.some(term => normalizeText(`${entry.title} ${entry.applicability.join(' ')}`).includes(term)));
295
367
  return relevant.length / selected.length;
296
368
  }
369
+ function memoryRecall(envelope, fixture, k) {
370
+ const ids = new Set(fixture.relevantMemoryIds ?? []);
371
+ const terms = (fixture.relevantMemoryTerms ?? []).map(normalizeText);
372
+ const selected = envelope.memory.entries.slice(0, k);
373
+ const selectedIds = new Set(selected.map(entry => entry.id));
374
+ const selectedText = selected.map(entry => normalizeText(`${entry.title} ${entry.applicability.join(' ')}`));
375
+ const expected = ids.size + terms.length;
376
+ if (expected === 0)
377
+ return 1;
378
+ const recalledIds = [...ids].filter(id => selectedIds.has(id)).length;
379
+ const recalledTerms = terms.filter(term => selectedText.some(text => text.includes(term))).length;
380
+ return (recalledIds + recalledTerms) / expected;
381
+ }
297
382
  function knowledgeNdcg(envelope, fixture, k) {
298
383
  const ids = new Set(fixture.relevantKnowledgeIds ?? []);
299
384
  const sources = new Set((fixture.relevantKnowledgeSources ?? []).map(normalizeText));
@@ -304,6 +389,25 @@ function knowledgeNdcg(envelope, fixture, k) {
304
389
  const idealRelevant = sources.size > 0 ? k : Math.min(k, ids.size);
305
390
  return ndcg(relevance, idealRelevant);
306
391
  }
392
+ function knowledgePrecision(envelope, fixture, k) {
393
+ const ids = new Set(fixture.relevantKnowledgeIds ?? []);
394
+ const sources = new Set((fixture.relevantKnowledgeSources ?? []).map(normalizeText));
395
+ const selected = envelope.knowledge.entries.slice(0, k);
396
+ if (selected.length === 0)
397
+ return ids.size + sources.size === 0 ? 1 : 0;
398
+ return selected.filter(entry => ids.has(entry.id) || sources.has(normalizeText(entry.source))).length / selected.length;
399
+ }
400
+ function knowledgeInjectionViolations(envelope, fixture) {
401
+ const forbiddenSources = new Set((fixture.forbiddenKnowledgeSources ?? []).map(normalizeText));
402
+ const forbiddenKinds = new Set(fixture.forbiddenKnowledgeKinds ?? []);
403
+ return envelope.knowledge.entries.filter(entry => {
404
+ if (fixture.expectedEmptyKnowledge)
405
+ return true;
406
+ if (forbiddenSources.has(normalizeText(entry.source)))
407
+ return true;
408
+ return entry.applicability.some(value => value.startsWith('kind:') && forbiddenKinds.has(value.slice('kind:'.length)));
409
+ }).length;
410
+ }
307
411
  function knowledgeVersionMatch(envelope, fixture) {
308
412
  const expected = fixture.expectedVersions ?? {};
309
413
  const applicable = envelope.knowledge.entries.filter(entry => expected[entry.source] !== undefined);
@@ -311,6 +415,46 @@ function knowledgeVersionMatch(envelope, fixture) {
311
415
  return 0;
312
416
  return applicable.filter(entry => major(entry.version) === major(expected[entry.source])).length / applicable.length;
313
417
  }
418
+ function canonicalPolicyMatches(envelope, fixture) {
419
+ if (fixture.expectedDomainAction && envelope.canonicalNextAction?.tool !== fixture.expectedDomainAction)
420
+ return false;
421
+ const facets = new Set(envelope.canonicalNextAction?.binding.requiredPolicyFacets ?? []);
422
+ if ((fixture.expectedPolicyFacets ?? []).some(facet => !facets.has(facet)))
423
+ return false;
424
+ const verification = new Set(envelope.canonicalNextAction?.verificationPlan.map(step => step.kind) ?? []);
425
+ return (fixture.expectedVerificationKinds ?? []).every(kind => verification.has(kind));
426
+ }
427
+ function ledgerCompleteness(projectRoot, envelope) {
428
+ const database = openGlobalDevFlowDatabase();
429
+ try {
430
+ const events = database.listRetrievalLedgerEvents({
431
+ projectRoot,
432
+ sessionId: envelope.request.sessionId,
433
+ executionId: envelope.request.executionId,
434
+ requestId: envelope.request.requestId,
435
+ });
436
+ const expected = [
437
+ ...envelope.code.files.map(file => `code\0${file.path}`),
438
+ ...envelope.memory.entries.map(entry => `memory\0${entry.id}`),
439
+ ...envelope.knowledge.entries.map(entry => `knowledge\0${entry.id}`),
440
+ ...(envelope.canonicalNextAction ? [`action\0${envelope.canonicalNextAction.tool}`] : []),
441
+ ];
442
+ if (expected.length === 0)
443
+ return 1;
444
+ const stages = new Map();
445
+ for (const event of events) {
446
+ const key = `${event.sourceType}\0${event.sourceId}`;
447
+ const value = stages.get(key) ?? new Set();
448
+ value.add(event.stage);
449
+ stages.set(key, value);
450
+ }
451
+ return expected.filter(key => ['eligible', 'candidate', 'selected', 'exposed']
452
+ .every(stage => stages.get(key)?.has(stage))).length / expected.length;
453
+ }
454
+ finally {
455
+ database.close();
456
+ }
457
+ }
314
458
  function edgeMatches(expected, source, target, kind) {
315
459
  const forward = normalizePath(expected.sourceFile) === source && normalizePath(expected.targetFile) === target;
316
460
  const reverse = normalizePath(expected.sourceFile) === target && normalizePath(expected.targetFile) === source;
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-quality.js","sourceRoot":"","sources":["../src/retrieval-quality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval-quality.js","sourceRoot":"","sources":["../src/retrieval-quality.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- 1785244431282
1
+ 1785317703787
@@ -0,0 +1,5 @@
1
+ # CodeGraph data files — local to each machine, not for committing.
2
+ # Ignore everything in .codegraph/ except this file itself, so transient
3
+ # files (the database, daemon.pid, sockets, logs) never show up in git.
4
+ *
5
+ !.gitignore
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://angular.dev/api"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "18",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:angular:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://docs.nestjs.com/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "10",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:nest:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://nextjs.org/docs"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "14",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:nextjs:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://nodejs.org/docs/latest/api/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "22",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:node:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://www.prisma.io/docs/orm"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "5",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:prisma:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": "chunk-001",
3
+ "title": "React component rendering",
4
+ "section": "React component rendering",
5
+ "content": "# React component rendering\n\nReact components should keep render work focused. Profile component commits before changing update frequency. A Login component should use controlled form state and accessible labels.",
6
+ "sourceUrl": "https://react.dev/reference/react",
7
+ "fetchedAt": 1785317704932
8
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://react.dev/reference/react"
4
+ ],
5
+ "fetchedAt": 1785317704932,
6
+ "chunkCount": 1,
7
+ "pluginName": "builtin",
8
+ "version": "18",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:react:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://tailwindcss.com/docs"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "^3.4.0",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:tailwind:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://www.typescriptlang.org/docs/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "^5.5.0",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:typescript:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://vitest.dev/api/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "2",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:vitest:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://vuejs.org/api/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "3",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:vue:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "tailwind": {
5
+ "css": "src/index.css"
6
+ }
7
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "rsbuild-react-quality",
3
+ "private": true,
4
+ "scripts": {
5
+ "typecheck": "tsc --noEmit",
6
+ "build": "rsbuild build"
7
+ },
8
+ "dependencies": {
9
+ "@rsbuild/core": "^1.0.0",
10
+ "react": "^18.3.0",
11
+ "tailwindcss": "^3.4.0"
12
+ },
13
+ "devDependencies": {
14
+ "prettier": "^3.0.0",
15
+ "typescript": "^5.5.0"
16
+ }
17
+ }
@@ -0,0 +1,14 @@
1
+ import { useState } from 'react';
2
+
3
+ export function Login() {
4
+ const [email, setEmail] = useState('');
5
+ return (
6
+ <form className="grid gap-4" aria-label="Login">
7
+ <label>
8
+ Email
9
+ <input value={email} onChange={(event) => setEmail(event.target.value)} />
10
+ </label>
11
+ <button type="submit">Sign in</button>
12
+ </form>
13
+ );
14
+ }