gsd-trae 1.0.0 → 1.0.2
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.
- package/CHANGELOG.md +40 -0
- package/README.md +7 -76
- package/assets/screenshot.png +0 -0
- package/package.json +12 -3
- package/.claude/settings.local.json +0 -8
- package/.gitmodules +0 -6
- package/.trae/project_rules.md +0 -56
- package/.trae/rules/project_rules.md +0 -56
- package/.vscode/code-counter/code-counter.db +0 -0
- package/.vscode/settings.json +0 -5
- package/refs/gsd/.github/CODEOWNERS +0 -2
- package/refs/gsd/.github/FUNDING.yml +0 -1
- package/refs/gsd/.github/ISSUE_TEMPLATE/bug_report.yml +0 -59
- package/refs/gsd/.github/ISSUE_TEMPLATE/feature_request.yml +0 -37
- package/refs/gsd/.github/pull_request_template.md +0 -24
- package/refs/gsd/.github/workflows/auto-label-issues.yml +0 -21
- package/refs/gsd/CHANGELOG.md +0 -1520
- package/refs/gsd/LICENSE +0 -21
- package/refs/gsd/README.md +0 -704
- package/refs/gsd/SECURITY.md +0 -33
- package/refs/gsd/agents/gsd-codebase-mapper.md +0 -764
- package/refs/gsd/agents/gsd-debugger.md +0 -1246
- package/refs/gsd/agents/gsd-executor.md +0 -469
- package/refs/gsd/agents/gsd-integration-checker.md +0 -443
- package/refs/gsd/agents/gsd-phase-researcher.md +0 -546
- package/refs/gsd/agents/gsd-plan-checker.md +0 -690
- package/refs/gsd/agents/gsd-planner.md +0 -1275
- package/refs/gsd/agents/gsd-project-researcher.md +0 -621
- package/refs/gsd/agents/gsd-research-synthesizer.md +0 -239
- package/refs/gsd/agents/gsd-roadmapper.md +0 -642
- package/refs/gsd/agents/gsd-verifier.md +0 -573
- package/refs/gsd/assets/gsd-logo-2000-transparent.png +0 -0
- package/refs/gsd/assets/gsd-logo-2000-transparent.svg +0 -17
- package/refs/gsd/assets/gsd-logo-2000.png +0 -0
- package/refs/gsd/assets/gsd-logo-2000.svg +0 -21
- package/refs/gsd/assets/terminal.svg +0 -68
- package/refs/gsd/bin/install.js +0 -2090
- package/refs/gsd/commands/gsd/add-phase.md +0 -43
- package/refs/gsd/commands/gsd/add-tests.md +0 -41
- package/refs/gsd/commands/gsd/add-todo.md +0 -47
- package/refs/gsd/commands/gsd/audit-milestone.md +0 -36
- package/refs/gsd/commands/gsd/check-todos.md +0 -45
- package/refs/gsd/commands/gsd/cleanup.md +0 -18
- package/refs/gsd/commands/gsd/complete-milestone.md +0 -136
- package/refs/gsd/commands/gsd/debug.md +0 -167
- package/refs/gsd/commands/gsd/discuss-phase.md +0 -83
- package/refs/gsd/commands/gsd/execute-phase.md +0 -41
- package/refs/gsd/commands/gsd/health.md +0 -22
- package/refs/gsd/commands/gsd/help.md +0 -22
- package/refs/gsd/commands/gsd/insert-phase.md +0 -32
- package/refs/gsd/commands/gsd/join-discord.md +0 -18
- package/refs/gsd/commands/gsd/list-phase-assumptions.md +0 -46
- package/refs/gsd/commands/gsd/map-codebase.md +0 -71
- package/refs/gsd/commands/gsd/new-milestone.md +0 -44
- package/refs/gsd/commands/gsd/new-project.md +0 -42
- package/refs/gsd/commands/gsd/new-project.md.bak +0 -1041
- package/refs/gsd/commands/gsd/pause-work.md +0 -38
- package/refs/gsd/commands/gsd/plan-milestone-gaps.md +0 -34
- package/refs/gsd/commands/gsd/plan-phase.md +0 -45
- package/refs/gsd/commands/gsd/progress.md +0 -24
- package/refs/gsd/commands/gsd/quick.md +0 -41
- package/refs/gsd/commands/gsd/reapply-patches.md +0 -110
- package/refs/gsd/commands/gsd/remove-phase.md +0 -31
- package/refs/gsd/commands/gsd/research-phase.md +0 -189
- package/refs/gsd/commands/gsd/resume-work.md +0 -40
- package/refs/gsd/commands/gsd/set-profile.md +0 -34
- package/refs/gsd/commands/gsd/settings.md +0 -36
- package/refs/gsd/commands/gsd/update.md +0 -37
- package/refs/gsd/commands/gsd/verify-work.md +0 -38
- package/refs/gsd/docs/USER-GUIDE.md +0 -471
- package/refs/gsd/docs/context-monitor.md +0 -96
- package/refs/gsd/get-shit-done/bin/gsd-tools.cjs +0 -585
- package/refs/gsd/get-shit-done/bin/lib/commands.cjs +0 -553
- package/refs/gsd/get-shit-done/bin/lib/config.cjs +0 -162
- package/refs/gsd/get-shit-done/bin/lib/core.cjs +0 -411
- package/refs/gsd/get-shit-done/bin/lib/frontmatter.cjs +0 -299
- package/refs/gsd/get-shit-done/bin/lib/init.cjs +0 -710
- package/refs/gsd/get-shit-done/bin/lib/milestone.cjs +0 -215
- package/refs/gsd/get-shit-done/bin/lib/phase.cjs +0 -870
- package/refs/gsd/get-shit-done/bin/lib/roadmap.cjs +0 -298
- package/refs/gsd/get-shit-done/bin/lib/state.cjs +0 -521
- package/refs/gsd/get-shit-done/bin/lib/template.cjs +0 -222
- package/refs/gsd/get-shit-done/bin/lib/verify.cjs +0 -772
- package/refs/gsd/get-shit-done/references/checkpoints.md +0 -776
- package/refs/gsd/get-shit-done/references/continuation-format.md +0 -249
- package/refs/gsd/get-shit-done/references/decimal-phase-calculation.md +0 -65
- package/refs/gsd/get-shit-done/references/git-integration.md +0 -248
- package/refs/gsd/get-shit-done/references/git-planning-commit.md +0 -38
- package/refs/gsd/get-shit-done/references/model-profile-resolution.md +0 -34
- package/refs/gsd/get-shit-done/references/model-profiles.md +0 -92
- package/refs/gsd/get-shit-done/references/phase-argument-parsing.md +0 -61
- package/refs/gsd/get-shit-done/references/planning-config.md +0 -196
- package/refs/gsd/get-shit-done/references/questioning.md +0 -145
- package/refs/gsd/get-shit-done/references/tdd.md +0 -263
- package/refs/gsd/get-shit-done/references/ui-brand.md +0 -160
- package/refs/gsd/get-shit-done/references/verification-patterns.md +0 -612
- package/refs/gsd/get-shit-done/templates/DEBUG.md +0 -164
- package/refs/gsd/get-shit-done/templates/UAT.md +0 -247
- package/refs/gsd/get-shit-done/templates/VALIDATION.md +0 -76
- package/refs/gsd/get-shit-done/templates/codebase/architecture.md +0 -255
- package/refs/gsd/get-shit-done/templates/codebase/concerns.md +0 -310
- package/refs/gsd/get-shit-done/templates/codebase/conventions.md +0 -307
- package/refs/gsd/get-shit-done/templates/codebase/integrations.md +0 -280
- package/refs/gsd/get-shit-done/templates/codebase/stack.md +0 -186
- package/refs/gsd/get-shit-done/templates/codebase/structure.md +0 -285
- package/refs/gsd/get-shit-done/templates/codebase/testing.md +0 -480
- package/refs/gsd/get-shit-done/templates/config.json +0 -37
- package/refs/gsd/get-shit-done/templates/context.md +0 -283
- package/refs/gsd/get-shit-done/templates/continue-here.md +0 -78
- package/refs/gsd/get-shit-done/templates/debug-subagent-prompt.md +0 -91
- package/refs/gsd/get-shit-done/templates/discovery.md +0 -146
- package/refs/gsd/get-shit-done/templates/milestone-archive.md +0 -123
- package/refs/gsd/get-shit-done/templates/milestone.md +0 -115
- package/refs/gsd/get-shit-done/templates/phase-prompt.md +0 -569
- package/refs/gsd/get-shit-done/templates/planner-subagent-prompt.md +0 -117
- package/refs/gsd/get-shit-done/templates/project.md +0 -184
- package/refs/gsd/get-shit-done/templates/requirements.md +0 -231
- package/refs/gsd/get-shit-done/templates/research-project/ARCHITECTURE.md +0 -204
- package/refs/gsd/get-shit-done/templates/research-project/FEATURES.md +0 -147
- package/refs/gsd/get-shit-done/templates/research-project/PITFALLS.md +0 -200
- package/refs/gsd/get-shit-done/templates/research-project/STACK.md +0 -120
- package/refs/gsd/get-shit-done/templates/research-project/SUMMARY.md +0 -170
- package/refs/gsd/get-shit-done/templates/research.md +0 -552
- package/refs/gsd/get-shit-done/templates/retrospective.md +0 -54
- package/refs/gsd/get-shit-done/templates/roadmap.md +0 -202
- package/refs/gsd/get-shit-done/templates/state.md +0 -176
- package/refs/gsd/get-shit-done/templates/summary-complex.md +0 -59
- package/refs/gsd/get-shit-done/templates/summary-minimal.md +0 -41
- package/refs/gsd/get-shit-done/templates/summary-standard.md +0 -48
- package/refs/gsd/get-shit-done/templates/summary.md +0 -248
- package/refs/gsd/get-shit-done/templates/user-setup.md +0 -311
- package/refs/gsd/get-shit-done/templates/verification-report.md +0 -322
- package/refs/gsd/get-shit-done/workflows/add-phase.md +0 -111
- package/refs/gsd/get-shit-done/workflows/add-tests.md +0 -350
- package/refs/gsd/get-shit-done/workflows/add-todo.md +0 -157
- package/refs/gsd/get-shit-done/workflows/audit-milestone.md +0 -297
- package/refs/gsd/get-shit-done/workflows/check-todos.md +0 -176
- package/refs/gsd/get-shit-done/workflows/cleanup.md +0 -152
- package/refs/gsd/get-shit-done/workflows/complete-milestone.md +0 -763
- package/refs/gsd/get-shit-done/workflows/diagnose-issues.md +0 -219
- package/refs/gsd/get-shit-done/workflows/discovery-phase.md +0 -289
- package/refs/gsd/get-shit-done/workflows/discuss-phase.md +0 -542
- package/refs/gsd/get-shit-done/workflows/execute-phase.md +0 -449
- package/refs/gsd/get-shit-done/workflows/execute-plan.md +0 -448
- package/refs/gsd/get-shit-done/workflows/health.md +0 -156
- package/refs/gsd/get-shit-done/workflows/help.md +0 -489
- package/refs/gsd/get-shit-done/workflows/insert-phase.md +0 -129
- package/refs/gsd/get-shit-done/workflows/list-phase-assumptions.md +0 -178
- package/refs/gsd/get-shit-done/workflows/map-codebase.md +0 -315
- package/refs/gsd/get-shit-done/workflows/new-milestone.md +0 -382
- package/refs/gsd/get-shit-done/workflows/new-project.md +0 -1116
- package/refs/gsd/get-shit-done/workflows/pause-work.md +0 -122
- package/refs/gsd/get-shit-done/workflows/plan-milestone-gaps.md +0 -274
- package/refs/gsd/get-shit-done/workflows/plan-phase.md +0 -569
- package/refs/gsd/get-shit-done/workflows/progress.md +0 -381
- package/refs/gsd/get-shit-done/workflows/quick.md +0 -453
- package/refs/gsd/get-shit-done/workflows/remove-phase.md +0 -154
- package/refs/gsd/get-shit-done/workflows/research-phase.md +0 -73
- package/refs/gsd/get-shit-done/workflows/resume-project.md +0 -306
- package/refs/gsd/get-shit-done/workflows/set-profile.md +0 -80
- package/refs/gsd/get-shit-done/workflows/settings.md +0 -213
- package/refs/gsd/get-shit-done/workflows/transition.md +0 -544
- package/refs/gsd/get-shit-done/workflows/update.md +0 -219
- package/refs/gsd/get-shit-done/workflows/verify-phase.md +0 -242
- package/refs/gsd/get-shit-done/workflows/verify-work.md +0 -569
- package/refs/gsd/hooks/gsd-check-update.js +0 -62
- package/refs/gsd/hooks/gsd-context-monitor.js +0 -122
- package/refs/gsd/hooks/gsd-statusline.js +0 -108
- package/refs/gsd/package.json +0 -50
- package/refs/gsd/scripts/build-hooks.js +0 -43
- package/refs/gsd/tests/commands.test.cjs +0 -661
- package/refs/gsd/tests/helpers.cjs +0 -40
- package/refs/gsd/tests/init.test.cjs +0 -205
- package/refs/gsd/tests/milestone.test.cjs +0 -98
- package/refs/gsd/tests/phase.test.cjs +0 -1241
- package/refs/gsd/tests/roadmap.test.cjs +0 -265
- package/refs/gsd/tests/state.test.cjs +0 -302
- package/refs/gsd/tests/verify.test.cjs +0 -80
- package/refs/vbenchmark/.agent/agents/codebase-explorer.md +0 -224
- package/refs/vbenchmark/.agent/agents/debugger.md +0 -180
- package/refs/vbenchmark/.agent/agents/documenter.md +0 -166
- package/refs/vbenchmark/.agent/agents/implementer.md +0 -70
- package/refs/vbenchmark/.agent/agents/orchestrator.md +0 -212
- package/refs/vbenchmark/.agent/agents/researcher.md +0 -80
- package/refs/vbenchmark/.agent/agents/reviewer.md +0 -184
- package/refs/vbenchmark/.agent/agents/tester.md +0 -170
- package/refs/vbenchmark/.agent/commands/commit.md +0 -29
- package/refs/vbenchmark/.agent/commands/debug.md +0 -59
- package/refs/vbenchmark/.agent/commands/document.md +0 -52
- package/refs/vbenchmark/.agent/commands/gather-context.md +0 -58
- package/refs/vbenchmark/.agent/commands/init.md +0 -56
- package/refs/vbenchmark/.agent/commands/preset-help.md +0 -50
- package/refs/vbenchmark/.agent/commands/refactor.md +0 -71
- package/refs/vbenchmark/.agent/commands/research.md +0 -37
- package/refs/vbenchmark/.agent/commands/review.md +0 -38
- package/refs/vbenchmark/.agent/commands/test.md +0 -61
- package/refs/vbenchmark/.agent/rules/01-code-quality.md +0 -33
- package/refs/vbenchmark/.agent/rules/02-typescript-go.md +0 -46
- package/refs/vbenchmark/.agent/rules/03-security-git.md +0 -34
- package/refs/vbenchmark/.agent/rules/04-architecture.md +0 -40
- package/refs/vbenchmark/.agent/sync.js +0 -536
- package/refs/vbenchmark/.agent/workflows/commit.md +0 -29
- package/refs/vbenchmark/.agent/workflows/debug.md +0 -59
- package/refs/vbenchmark/.agent/workflows/document.md +0 -52
- package/refs/vbenchmark/.agent/workflows/gather-context.md +0 -58
- package/refs/vbenchmark/.agent/workflows/init.md +0 -56
- package/refs/vbenchmark/.agent/workflows/preset-help.md +0 -50
- package/refs/vbenchmark/.agent/workflows/refactor.md +0 -71
- package/refs/vbenchmark/.agent/workflows/research.md +0 -37
- package/refs/vbenchmark/.agent/workflows/review.md +0 -38
- package/refs/vbenchmark/.agent/workflows/test.md +0 -61
- package/refs/vbenchmark/.claude/commands/agentic-dev/apply.md +0 -222
- package/refs/vbenchmark/.claude/commands/agentic-dev/done.md +0 -166
- package/refs/vbenchmark/.claude/commands/agentic-dev/proposal.md +0 -220
- package/refs/vbenchmark/.claude/commands/openspec/apply.md +0 -23
- package/refs/vbenchmark/.claude/commands/openspec/archive.md +0 -27
- package/refs/vbenchmark/.claude/commands/openspec/proposal.md +0 -28
- package/refs/vbenchmark/.clinerules/01-rules.md +0 -73
- package/refs/vbenchmark/.clinerules/02-agents.md +0 -34
- package/refs/vbenchmark/.cursor/commands/commit.md +0 -29
- package/refs/vbenchmark/.cursor/commands/debug.md +0 -59
- package/refs/vbenchmark/.cursor/commands/document.md +0 -52
- package/refs/vbenchmark/.cursor/commands/gather-context.md +0 -58
- package/refs/vbenchmark/.cursor/commands/init.md +0 -56
- package/refs/vbenchmark/.cursor/commands/preset-help.md +0 -50
- package/refs/vbenchmark/.cursor/commands/refactor.md +0 -71
- package/refs/vbenchmark/.cursor/commands/research.md +0 -37
- package/refs/vbenchmark/.cursor/commands/review.md +0 -38
- package/refs/vbenchmark/.cursor/commands/test.md +0 -61
- package/refs/vbenchmark/.cursor/rules/agents.mdc +0 -1357
- package/refs/vbenchmark/.factory/droids/codebase-explorer.md +0 -224
- package/refs/vbenchmark/.factory/droids/debugger.md +0 -180
- package/refs/vbenchmark/.factory/droids/documenter.md +0 -166
- package/refs/vbenchmark/.factory/droids/implementer.md +0 -70
- package/refs/vbenchmark/.factory/droids/orchestrator.md +0 -212
- package/refs/vbenchmark/.factory/droids/researcher.md +0 -80
- package/refs/vbenchmark/.factory/droids/reviewer.md +0 -184
- package/refs/vbenchmark/.factory/droids/tester.md +0 -170
- package/refs/vbenchmark/.gemini/workflows/commit.md +0 -29
- package/refs/vbenchmark/.gemini/workflows/debug.md +0 -59
- package/refs/vbenchmark/.gemini/workflows/document.md +0 -52
- package/refs/vbenchmark/.gemini/workflows/gather-context.md +0 -58
- package/refs/vbenchmark/.gemini/workflows/init.md +0 -56
- package/refs/vbenchmark/.gemini/workflows/preset-help.md +0 -50
- package/refs/vbenchmark/.gemini/workflows/refactor.md +0 -71
- package/refs/vbenchmark/.gemini/workflows/research.md +0 -37
- package/refs/vbenchmark/.gemini/workflows/review.md +0 -38
- package/refs/vbenchmark/.gemini/workflows/test.md +0 -61
- package/refs/vbenchmark/.github/CODEOWNERS +0 -20
- package/refs/vbenchmark/.github/FUNDING.yml +0 -4
- package/refs/vbenchmark/.github/ISSUE_TEMPLATE/bug-report.yml +0 -76
- package/refs/vbenchmark/.github/ISSUE_TEMPLATE/new-task.yml +0 -106
- package/refs/vbenchmark/.github/PULL_REQUEST_TEMPLATE.md +0 -38
- package/refs/vbenchmark/.github/copilot-instructions.md +0 -73
- package/refs/vbenchmark/.github/workflows/ci.yaml +0 -33
- package/refs/vbenchmark/.github/workflows/vercel-auto-pr.yml +0 -478
- package/refs/vbenchmark/.github/workflows/vercel-deploy.yaml +0 -487
- package/refs/vbenchmark/.github/workflows/vercel-pr-command.yaml +0 -337
- package/refs/vbenchmark/.github/workflows/vercel-project-init.yaml +0 -208
- package/refs/vbenchmark/.opencode/agent/codebase-explorer.md +0 -224
- package/refs/vbenchmark/.opencode/agent/debugger.md +0 -180
- package/refs/vbenchmark/.opencode/agent/documenter.md +0 -166
- package/refs/vbenchmark/.opencode/agent/implementer.md +0 -70
- package/refs/vbenchmark/.opencode/agent/orchestrator.md +0 -212
- package/refs/vbenchmark/.opencode/agent/researcher.md +0 -80
- package/refs/vbenchmark/.opencode/agent/reviewer.md +0 -184
- package/refs/vbenchmark/.opencode/agent/tester.md +0 -170
- package/refs/vbenchmark/.opencode/command/commit.md +0 -29
- package/refs/vbenchmark/.opencode/command/debug.md +0 -59
- package/refs/vbenchmark/.opencode/command/document.md +0 -52
- package/refs/vbenchmark/.opencode/command/gather-context.md +0 -58
- package/refs/vbenchmark/.opencode/command/init.md +0 -56
- package/refs/vbenchmark/.opencode/command/preset-help.md +0 -50
- package/refs/vbenchmark/.opencode/command/refactor.md +0 -71
- package/refs/vbenchmark/.opencode/command/research.md +0 -37
- package/refs/vbenchmark/.opencode/command/review.md +0 -38
- package/refs/vbenchmark/.opencode/command/test.md +0 -61
- package/refs/vbenchmark/.trae/project_rules.md +0 -73
- package/refs/vbenchmark/.windsurf/rules/rules.md +0 -85
- package/refs/vbenchmark/AGENTS.md +0 -73
- package/refs/vbenchmark/CONTRIBUTING.md +0 -332
- package/refs/vbenchmark/Caddyfile +0 -3
- package/refs/vbenchmark/LICENSE +0 -47
- package/refs/vbenchmark/README.md +0 -354
- package/refs/vbenchmark/docker-compose.prod.yaml +0 -35
- package/refs/vbenchmark/docker-compose.yaml +0 -53
- package/refs/vbenchmark/docs/TASK_EXPANSION_PLAN.md +0 -211
- package/refs/vbenchmark/docs/THESIS.md +0 -441
- package/refs/vbenchmark/docs/categories/code-evolution.md +0 -138
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/design.md +0 -111
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/proposal.md +0 -15
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/evaluation/spec.md +0 -105
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/leaderboard/spec.md +0 -68
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/task-definition/spec.md +0 -45
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/task-runner/spec.md +0 -49
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/tasks.md +0 -413
- package/refs/vbenchmark/package.json +0 -51
- package/refs/vbenchmark/packages/cli/eslint.config.js +0 -16
- package/refs/vbenchmark/packages/cli/package.json +0 -35
- package/refs/vbenchmark/packages/cli/src/agents/index.ts +0 -655
- package/refs/vbenchmark/packages/cli/src/commands/eval.ts +0 -197
- package/refs/vbenchmark/packages/cli/src/commands/list.ts +0 -63
- package/refs/vbenchmark/packages/cli/src/commands/run.ts +0 -147
- package/refs/vbenchmark/packages/cli/src/evaluator.ts +0 -125
- package/refs/vbenchmark/packages/cli/src/index.ts +0 -21
- package/refs/vbenchmark/packages/cli/src/lib/task-variation.ts +0 -153
- package/refs/vbenchmark/packages/cli/src/loader.ts +0 -258
- package/refs/vbenchmark/packages/cli/src/reporter.ts +0 -222
- package/refs/vbenchmark/packages/cli/src/runtime/docker.ts +0 -385
- package/refs/vbenchmark/packages/cli/tsconfig.json +0 -8
- package/refs/vbenchmark/packages/dashboard/Dockerfile +0 -42
- package/refs/vbenchmark/packages/dashboard/index.html +0 -21
- package/refs/vbenchmark/packages/dashboard/package.json +0 -29
- package/refs/vbenchmark/packages/dashboard/postcss.config.js +0 -6
- package/refs/vbenchmark/packages/dashboard/public/favicon.svg +0 -24
- package/refs/vbenchmark/packages/dashboard/public/logo.png +0 -0
- package/refs/vbenchmark/packages/dashboard/public/logo.svg +0 -39
- package/refs/vbenchmark/packages/dashboard/src/App.tsx +0 -1468
- package/refs/vbenchmark/packages/dashboard/src/data/category-performance.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/data/leaderboard.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/data/task-results.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/data/tasks.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/index.css +0 -3
- package/refs/vbenchmark/packages/dashboard/src/main.tsx +0 -13
- package/refs/vbenchmark/packages/dashboard/src/vite-env.d.ts +0 -9
- package/refs/vbenchmark/packages/dashboard/tailwind.config.js +0 -11
- package/refs/vbenchmark/packages/dashboard/tsconfig.json +0 -21
- package/refs/vbenchmark/packages/dashboard/tsconfig.node.json +0 -11
- package/refs/vbenchmark/packages/dashboard/vercel.json +0 -6
- package/refs/vbenchmark/packages/dashboard/vite.config.ts +0 -28
- package/refs/vbenchmark/packages/evaluator/eslint.config.js +0 -16
- package/refs/vbenchmark/packages/evaluator/package.json +0 -24
- package/refs/vbenchmark/packages/evaluator/src/index.ts +0 -15
- package/refs/vbenchmark/packages/evaluator/src/runners/functional.ts +0 -88
- package/refs/vbenchmark/packages/evaluator/src/runners/quality.ts +0 -140
- package/refs/vbenchmark/packages/evaluator/src/runners/security.ts +0 -94
- package/refs/vbenchmark/packages/evaluator/src/runners/visual.ts +0 -108
- package/refs/vbenchmark/packages/evaluator/src/types.d.ts +0 -19
- package/refs/vbenchmark/packages/evaluator/tsconfig.json +0 -8
- package/refs/vbenchmark/packages/leaderboard/Dockerfile +0 -38
- package/refs/vbenchmark/packages/leaderboard/drizzle.config.ts +0 -10
- package/refs/vbenchmark/packages/leaderboard/eslint.config.js +0 -16
- package/refs/vbenchmark/packages/leaderboard/fly.toml +0 -29
- package/refs/vbenchmark/packages/leaderboard/package.json +0 -36
- package/refs/vbenchmark/packages/leaderboard/src/app.ts +0 -29
- package/refs/vbenchmark/packages/leaderboard/src/components/BrowserPreview.tsx +0 -190
- package/refs/vbenchmark/packages/leaderboard/src/components/ComparisonView.tsx +0 -205
- package/refs/vbenchmark/packages/leaderboard/src/components/LeaderboardTable.tsx +0 -150
- package/refs/vbenchmark/packages/leaderboard/src/components/LiveRunCard.tsx +0 -133
- package/refs/vbenchmark/packages/leaderboard/src/components/SubmissionForm.tsx +0 -406
- package/refs/vbenchmark/packages/leaderboard/src/components/SubmitForm.tsx +0 -293
- package/refs/vbenchmark/packages/leaderboard/src/components/TerminalStream.tsx +0 -111
- package/refs/vbenchmark/packages/leaderboard/src/config/pricing.ts +0 -206
- package/refs/vbenchmark/packages/leaderboard/src/db/index.ts +0 -31
- package/refs/vbenchmark/packages/leaderboard/src/db/schema.ts +0 -125
- package/refs/vbenchmark/packages/leaderboard/src/index.ts +0 -13
- package/refs/vbenchmark/packages/leaderboard/src/lib/websocket.ts +0 -124
- package/refs/vbenchmark/packages/leaderboard/src/routes/leaderboard.ts +0 -698
- package/refs/vbenchmark/packages/leaderboard/src/routes/live.ts +0 -175
- package/refs/vbenchmark/packages/leaderboard/src/routes/submissions.ts +0 -183
- package/refs/vbenchmark/packages/leaderboard/src/routes/tasks.ts +0 -215
- package/refs/vbenchmark/packages/leaderboard/tests/api.test.ts +0 -228
- package/refs/vbenchmark/packages/leaderboard/tsconfig.json +0 -9
- package/refs/vbenchmark/scripts/deploy.sh +0 -70
- package/refs/vbenchmark/tasks/ai-integration/advanced/context-management/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/context-management/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/evaluation-framework/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/evaluation-framework/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/guardrails-safety/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/guardrails-safety/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/memory-system/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/memory-system/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/model-routing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/model-routing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/multi-agent-system/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/multi-agent-system/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/prompt-optimization/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/prompt-optimization/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/reasoning-chain/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/reasoning-chain/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/streaming-pipeline/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/streaming-pipeline/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/tool-use-orchestration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/tool-use-orchestration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/agents/code-review-agent/PROMPT.md +0 -64
- package/refs/vbenchmark/tasks/ai-integration/agents/code-review-agent/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/agents/research-agent/PROMPT.md +0 -61
- package/refs/vbenchmark/tasks/ai-integration/agents/research-agent/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/agents/web-scraper-agent/PROMPT.md +0 -57
- package/refs/vbenchmark/tasks/ai-integration/agents/web-scraper-agent/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/embeddings/duplicate-detection/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/embeddings/duplicate-detection/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/embeddings/recommendation-engine/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/embeddings/recommendation-engine/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/embeddings/semantic-search/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/embeddings/semantic-search/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/fine-tuning/classification-model/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/fine-tuning/classification-model/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/function-calling/api-orchestrator/PROMPT.md +0 -60
- package/refs/vbenchmark/tasks/ai-integration/function-calling/api-orchestrator/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/function-calling/calendar-assistant/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/function-calling/calendar-assistant/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/function-calling/database-query/PROMPT.md +0 -62
- package/refs/vbenchmark/tasks/ai-integration/function-calling/database-query/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/multimodal/chart-interpreter/PROMPT.md +0 -60
- package/refs/vbenchmark/tasks/ai-integration/multimodal/chart-interpreter/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/multimodal/image-captioning/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/ai-integration/multimodal/image-captioning/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/code-assistant/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/code-assistant/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/doc-search/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/doc-search/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/PROMPT.md +0 -76
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/docker-compose.yaml +0 -30
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/task.yaml +0 -30
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/tests/functional/qa.test.py +0 -146
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/support-bot/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/support-bot/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/structured-output/contract-analyzer/PROMPT.md +0 -67
- package/refs/vbenchmark/tasks/ai-integration/structured-output/contract-analyzer/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/structured-output/invoice-parser/PROMPT.md +0 -61
- package/refs/vbenchmark/tasks/ai-integration/structured-output/invoice-parser/task.yaml +0 -27
- package/refs/vbenchmark/tasks/ai-integration/structured-output/receipt-scanner/PROMPT.md +0 -65
- package/refs/vbenchmark/tasks/ai-integration/structured-output/receipt-scanner/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/structured-output/resume-parser/PROMPT.md +0 -70
- package/refs/vbenchmark/tasks/ai-integration/structured-output/resume-parser/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-analytics/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-analytics/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-gateway/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-gateway/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-mocking/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-mocking/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/contract-testing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/contract-testing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/graphql-federation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/graphql-federation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/grpc-gateway/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/grpc-gateway/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/rate-limiter/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/rate-limiter/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/request-validator/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/request-validator/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/sdk-generator/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/sdk-generator/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/webhook-processor/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/webhook-processor/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/analytics/mixpanel-events/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/analytics/mixpanel-events/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/analytics/segment-tracking/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/analytics/segment-tracking/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/oauth2-github/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/oauth2-github/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/okta-integration/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/okta-integration/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/saml-sso/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/saml-sso/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/communication/discord-webhook/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/api-integrations/communication/discord-webhook/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/communication/slack-bot/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/communication/slack-bot/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/communication/twilio-sms/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/communication/twilio-sms/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/email/transactional/PROMPT.md +0 -82
- package/refs/vbenchmark/tasks/api-integrations/email/transactional/task.yaml +0 -27
- package/refs/vbenchmark/tasks/api-integrations/maps/google-maps-geocoding/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/maps/google-maps-geocoding/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/maps/mapbox-directions/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/maps/mapbox-directions/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/payment/crypto-payments/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/api-integrations/payment/crypto-payments/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/payment/paypal-integration/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/payment/paypal-integration/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/social/twitter-api/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/social/twitter-api/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/storage/cloudinary-upload/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/api-integrations/storage/cloudinary-upload/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/storage/gcs-streaming/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/api-integrations/storage/gcs-streaming/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/storage/s3-presigned-urls/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/storage/s3-presigned-urls/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/stripe/checkout-session/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/stripe/checkout-session/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/PROMPT.md +0 -60
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/docker-compose.yaml +0 -38
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/task.yaml +0 -31
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/tests/webhook.test.ts +0 -193
- package/refs/vbenchmark/tasks/api-integrations/stripe/subscription-portal/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/stripe/subscription-portal/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/advanced/api-deprecation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/api-deprecation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/ast-refactoring/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/ast-refactoring/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/concurrency-fix/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/concurrency-fix/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/database-schema-migration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/database-schema-migration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/dead-code-elimination/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/dead-code-elimination/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/dependency-upgrade/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/dependency-upgrade/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/memory-optimization/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/memory-optimization/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/monorepo-extraction/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/monorepo-extraction/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/performance-profiling/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/performance-profiling/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/type-migration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/type-migration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/callback-to-async/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/callback-to-async/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/base-code/src/app.ts +0 -22
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/task.yaml +0 -37
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/tests/api.test.ts +0 -70
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/flask-to-fastapi/PROMPT.md +0 -46
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/flask-to-fastapi/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/java-to-kotlin/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/java-to-kotlin/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/jquery-to-react/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/jquery-to-react/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/rest-to-grpc/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/rest-to-grpc/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/performance/async-refactor/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/performance/async-refactor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/performance/memory-leak-fix/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/performance/memory-leak-fix/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/performance/query-optimization/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/code-evolution/performance/query-optimization/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/class-to-hooks/PROMPT.md +0 -96
- package/refs/vbenchmark/tasks/code-evolution/refactoring/class-to-hooks/task.yaml +0 -27
- package/refs/vbenchmark/tasks/code-evolution/refactoring/dependency-injection/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/refactoring/dependency-injection/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/error-handling/PROMPT.md +0 -48
- package/refs/vbenchmark/tasks/code-evolution/refactoring/error-handling/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/monolith-to-modules/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/code-evolution/refactoring/monolith-to-modules/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/orm-migration/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/refactoring/orm-migration/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/security/secrets-rotation/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/code-evolution/security/secrets-rotation/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/security/sql-injection-fix/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/code-evolution/security/sql-injection-fix/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/security/xss-prevention/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/security/xss-prevention/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/testing/add-unit-tests/PROMPT.md +0 -48
- package/refs/vbenchmark/tasks/code-evolution/testing/add-unit-tests/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/testing/e2e-playwright/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/code-evolution/testing/e2e-playwright/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/testing/pytest-fixtures/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/testing/pytest-fixtures/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/accessibility/keyboard-shortcuts/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/accessibility/keyboard-shortcuts/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/accessibility/screen-reader-nav/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/accessibility/screen-reader-nav/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/advanced/canvas-editor/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/canvas-editor/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/micro-frontend/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/micro-frontend/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/offline-first/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/offline-first/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/realtime-collab/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/realtime-collab/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/service-worker/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/service-worker/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/state-machine/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/state-machine/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/virtual-list/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/virtual-list/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/wasm-integration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/wasm-integration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/web-worker/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/web-worker/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/webgl-visualization/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/webgl-visualization/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/animation/page-transitions/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/animation/page-transitions/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/data-grid/PROMPT.md +0 -59
- package/refs/vbenchmark/tasks/frontend/components/data-grid/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/date-range-picker/PROMPT.md +0 -57
- package/refs/vbenchmark/tasks/frontend/components/date-range-picker/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/file-uploader/PROMPT.md +0 -55
- package/refs/vbenchmark/tasks/frontend/components/file-uploader/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/form-builder/PROMPT.md +0 -96
- package/refs/vbenchmark/tasks/frontend/components/form-builder/task.yaml +0 -28
- package/refs/vbenchmark/tasks/frontend/components/rich-text-editor/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/frontend/components/rich-text-editor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/figma-to-code/dashboard-layout/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/frontend/figma-to-code/dashboard-layout/task.yaml +0 -25
- package/refs/vbenchmark/tasks/frontend/figma-to-code/landing-page/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/frontend/figma-to-code/landing-page/task.yaml +0 -25
- package/refs/vbenchmark/tasks/frontend/figma-to-code/mobile-app-screen/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/frontend/figma-to-code/mobile-app-screen/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/PROMPT.md +0 -93
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/docker-compose.yaml +0 -23
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/task.yaml +0 -30
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/tests/visual/diff.test.ts +0 -107
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/tests/visual/interaction.test.ts +0 -88
- package/refs/vbenchmark/tasks/frontend/performance/image-lazy-load/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/frontend/performance/image-lazy-load/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/performance/infinite-scroll/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/performance/infinite-scroll/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/state-management/collaborative-editor/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/state-management/collaborative-editor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/state-management/shopping-cart/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/frontend/state-management/shopping-cart/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/visualization/chart-dashboard/PROMPT.md +0 -83
- package/refs/vbenchmark/tasks/frontend/visualization/chart-dashboard/task.yaml +0 -28
- package/refs/vbenchmark/tasks/frontend/visualization/gantt-chart/PROMPT.md +0 -57
- package/refs/vbenchmark/tasks/frontend/visualization/gantt-chart/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/visualization/map-dashboard/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/visualization/map-dashboard/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/visualization/realtime-charts/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/frontend/visualization/realtime-charts/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/advanced/blue-green-deploy/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/blue-green-deploy/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/canary-release/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/canary-release/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/change-data-capture/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/change-data-capture/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/config-management/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/config-management/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/data-pipeline/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/data-pipeline/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/distributed-tracing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/distributed-tracing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/log-aggregation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/log-aggregation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/schema-registry/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/schema-registry/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/secret-rotation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/secret-rotation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/stream-processing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/stream-processing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/api-sync/rest-to-graphql/PROMPT.md +0 -66
- package/refs/vbenchmark/tasks/glue-code/api-sync/rest-to-graphql/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/caching/redis-cache/PROMPT.md +0 -82
- package/refs/vbenchmark/tasks/glue-code/caching/redis-cache/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/data-transform/avro-schema-evolution/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/glue-code/data-transform/avro-schema-evolution/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/data-transform/csv-normalizer/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/glue-code/data-transform/csv-normalizer/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/PROMPT.md +0 -67
- package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/task.yaml +0 -28
- package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/tests/transform.test.py +0 -137
- package/refs/vbenchmark/tasks/glue-code/data-transform/json-to-xml/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/glue-code/data-transform/json-to-xml/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/data-transform/protobuf-converter/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/glue-code/data-transform/protobuf-converter/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/etl/cdc-pipeline/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/glue-code/etl/cdc-pipeline/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/etl/database-sync/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/glue-code/etl/database-sync/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/etl/s3-to-warehouse/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/etl/s3-to-warehouse/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/file-processing/image-resizer/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/glue-code/file-processing/image-resizer/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/file-processing/pdf-merger/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/file-processing/pdf-merger/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/file-processing/video-transcoder/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/file-processing/video-transcoder/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/migration/data-backfill/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/migration/data-backfill/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/migration/database-versioning/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/migration/database-versioning/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/queue/kafka-producer/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/glue-code/queue/kafka-producer/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/queue/rabbitmq-consumer/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/queue/rabbitmq-consumer/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/queue/sqs-batch-processor/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/glue-code/queue/sqs-batch-processor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/scheduler/cron-job-manager/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/glue-code/scheduler/cron-job-manager/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/scheduler/delayed-tasks/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/glue-code/scheduler/delayed-tasks/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/advanced/api-versioning/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/api-versioning/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/circuit-breaker/PROMPT.md +0 -13
- package/refs/vbenchmark/tasks/saas-core/advanced/circuit-breaker/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/compliance-gdpr/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/compliance-gdpr/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/cqrs-pattern/PROMPT.md +0 -13
- package/refs/vbenchmark/tasks/saas-core/advanced/cqrs-pattern/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/data-encryption/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/data-encryption/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/distributed-locking/PROMPT.md +0 -46
- package/refs/vbenchmark/tasks/saas-core/advanced/distributed-locking/task.yaml +0 -24
- package/refs/vbenchmark/tasks/saas-core/advanced/event-sourcing/PROMPT.md +0 -23
- package/refs/vbenchmark/tasks/saas-core/advanced/event-sourcing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/feature-flags-ab/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/feature-flags-ab/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/saga-orchestration/PROMPT.md +0 -13
- package/refs/vbenchmark/tasks/saas-core/advanced/saga-orchestration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/webhook-delivery/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/webhook-delivery/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/audit/activity-logging/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/audit/activity-logging/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/jwt-refresh-tokens/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/auth/jwt-refresh-tokens/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/magic-link-email/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/saas-core/auth/magic-link-email/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/mfa-totp/PROMPT.md +0 -79
- package/refs/vbenchmark/tasks/saas-core/auth/mfa-totp/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/rbac-permissions/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/auth/rbac-permissions/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/session-management/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/saas-core/auth/session-management/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/docker-compose.yaml +0 -47
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/task.yaml +0 -32
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/tests/auth.test.ts +0 -59
- package/refs/vbenchmark/tasks/saas-core/billing/invoice-generation/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/saas-core/billing/invoice-generation/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/billing/stripe-subscriptions/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/billing/stripe-subscriptions/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/billing/usage-metering/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/saas-core/billing/usage-metering/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/crud/dashboard-table/PROMPT.md +0 -48
- package/refs/vbenchmark/tasks/saas-core/crud/dashboard-table/task.yaml +0 -28
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/org-isolation/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/org-isolation/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/subdomain-routing/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/subdomain-routing/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/notifications/email-queue/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/saas-core/notifications/email-queue/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/notifications/in-app-alerts/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/notifications/in-app-alerts/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/notifications/push-notifications/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/notifications/push-notifications/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/realtime/websocket-chat/PROMPT.md +0 -80
- package/refs/vbenchmark/tasks/saas-core/realtime/websocket-chat/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/search/full-text-search/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/search/full-text-search/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/security/rate-limiter/PROMPT.md +0 -99
- package/refs/vbenchmark/tasks/saas-core/security/rate-limiter/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/settings/user-preferences/PROMPT.md +0 -78
- package/refs/vbenchmark/tasks/saas-core/settings/user-preferences/task.yaml +0 -27
- package/refs/vbenchmark/templates/fastapi-postgres/docker-compose.yaml +0 -36
- package/refs/vbenchmark/templates/fastapi-postgres/pyproject.toml +0 -34
- package/refs/vbenchmark/templates/fastapi-postgres/src/__init__.py +0 -0
- package/refs/vbenchmark/templates/fastapi-postgres/src/config.py +0 -12
- package/refs/vbenchmark/templates/fastapi-postgres/src/database.py +0 -15
- package/refs/vbenchmark/templates/fastapi-postgres/src/main.py +0 -51
- package/refs/vbenchmark/templates/fastapi-postgres/src/models.py +0 -12
- package/refs/vbenchmark/templates/fastapi-postgres/src/schemas.py +0 -20
- package/refs/vbenchmark/templates/go-fiber/docker-compose.yaml +0 -34
- package/refs/vbenchmark/templates/go-fiber/go.mod +0 -33
- package/refs/vbenchmark/templates/go-fiber/go.sum +0 -68
- package/refs/vbenchmark/templates/go-fiber/main.go +0 -98
- package/refs/vbenchmark/templates/nextjs-supabase/.env.example +0 -3
- package/refs/vbenchmark/templates/nextjs-supabase/docker-compose.yaml +0 -68
- package/refs/vbenchmark/templates/nextjs-supabase/src/app/globals.css +0 -13
- package/refs/vbenchmark/templates/nextjs-supabase/src/app/layout.tsx +0 -19
- package/refs/vbenchmark/templates/nextjs-supabase/src/app/page.tsx +0 -38
- package/refs/vbenchmark/templates/nextjs-supabase/src/lib/supabase/client.ts +0 -8
- package/refs/vbenchmark/templates/nextjs-supabase/src/lib/supabase/server.ts +0 -32
- package/refs/vbenchmark/templates/rust-axum/Cargo.lock +0 -2371
- package/refs/vbenchmark/templates/rust-axum/Cargo.toml +0 -16
- package/refs/vbenchmark/templates/rust-axum/docker-compose.yaml +0 -34
- package/refs/vbenchmark/templates/rust-axum/migrations/20240101000000_init.sql +0 -20
- package/refs/vbenchmark/templates/rust-axum/src/main.rs +0 -121
- package/refs/vbenchmark/tsconfig.base.json +0 -18
- package/refs/vbenchmark/turbo.json +0 -23
- package/refs/vbenchmark/vercel.json +0 -10
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Usage-Based Metering System
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: billing
|
|
4
|
-
description: Implement API usage tracking and metered billing with Go
|
|
5
|
-
difficulty: hard
|
|
6
|
-
stack: go
|
|
7
|
-
timeout: 900
|
|
8
|
-
tokenLimit: 200000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/metering_test.go
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- go
|
|
18
|
-
- metering
|
|
19
|
-
- billing
|
|
20
|
-
- api
|
|
21
|
-
- usage-tracking
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.25
|
|
26
|
-
cost: 0.1
|
|
27
|
-
speed: 0.15
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Data Table Dashboard
|
|
2
|
-
|
|
3
|
-
Build a full-featured data table component with the following requirements:
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
1. **Sortable columns** - Click column header to sort ascending/descending
|
|
8
|
-
2. **Search/filter** - Global search and per-column filters
|
|
9
|
-
3. **Pagination** - Show 10/25/50/100 items per page with navigation
|
|
10
|
-
4. **Bulk actions** - Select multiple rows, delete/export selected
|
|
11
|
-
5. **Responsive** - Works on mobile with horizontal scroll
|
|
12
|
-
|
|
13
|
-
## Data Schema
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
interface User {
|
|
17
|
-
id: string;
|
|
18
|
-
name: string;
|
|
19
|
-
email: string;
|
|
20
|
-
role: 'admin' | 'user' | 'guest';
|
|
21
|
-
status: 'active' | 'inactive' | 'pending';
|
|
22
|
-
createdAt: string;
|
|
23
|
-
lastLogin: string;
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## API Endpoints
|
|
28
|
-
|
|
29
|
-
- `GET /api/users?page=1&limit=10&sort=name&order=asc&search=john`
|
|
30
|
-
- `DELETE /api/users` with body `{ ids: string[] }`
|
|
31
|
-
- `GET /api/users/export?ids=1,2,3` returns CSV
|
|
32
|
-
|
|
33
|
-
## Requirements
|
|
34
|
-
|
|
35
|
-
1. Use React with TypeScript
|
|
36
|
-
2. Use Tailwind CSS for styling
|
|
37
|
-
3. Handle loading states and errors
|
|
38
|
-
4. Debounce search input (300ms)
|
|
39
|
-
5. Persist page size preference in localStorage
|
|
40
|
-
|
|
41
|
-
## Acceptance Criteria
|
|
42
|
-
|
|
43
|
-
- [ ] Table displays data from API
|
|
44
|
-
- [ ] All columns are sortable
|
|
45
|
-
- [ ] Search filters results in real-time
|
|
46
|
-
- [ ] Pagination works correctly
|
|
47
|
-
- [ ] Can select and delete multiple rows
|
|
48
|
-
- [ ] Mobile responsive
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: Data Table Dashboard
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: crud
|
|
4
|
-
description: Build a sortable, filterable data table with pagination, search, and bulk actions
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: nextjs
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/table.test.ts
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- crud
|
|
18
|
-
- datatable
|
|
19
|
-
- pagination
|
|
20
|
-
- filtering
|
|
21
|
-
- sorting
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.4
|
|
25
|
-
visual: 0.2
|
|
26
|
-
quality: 0.2
|
|
27
|
-
cost: 0.1
|
|
28
|
-
speed: 0.1
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: Multi-Tenant Organization Isolation
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Implement database-per-tenant isolation with dynamic connection routing for a multi-tenant SaaS application.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Tenant Database Management**
|
|
9
|
-
- Create new database per organization on signup
|
|
10
|
-
- Run migrations automatically on new tenant DBs
|
|
11
|
-
- Connection pooling per tenant
|
|
12
|
-
- Lazy connection initialization
|
|
13
|
-
|
|
14
|
-
2. **Request Routing**
|
|
15
|
-
- Extract tenant from JWT or subdomain
|
|
16
|
-
- Route to correct tenant database
|
|
17
|
-
- Middleware to inject tenant context
|
|
18
|
-
- Prevent cross-tenant data access
|
|
19
|
-
|
|
20
|
-
3. **Tenant Lifecycle**
|
|
21
|
-
- `POST /tenants` - Provision new tenant
|
|
22
|
-
- `DELETE /tenants/{id}` - Deprovision (soft delete + archive)
|
|
23
|
-
- `POST /tenants/{id}/export` - Export all tenant data
|
|
24
|
-
- `POST /tenants/{id}/migrate` - Run pending migrations
|
|
25
|
-
|
|
26
|
-
4. **Connection Management**
|
|
27
|
-
- Connection pool per tenant
|
|
28
|
-
- Idle connection timeout
|
|
29
|
-
- Max connections per tenant limit
|
|
30
|
-
- Health check per tenant DB
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- TypeScript/Node.js
|
|
34
|
-
- Express or Fastify
|
|
35
|
-
- PostgreSQL (one DB per tenant)
|
|
36
|
-
- Prisma with dynamic datasource
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `src/middleware/tenant.ts` - Tenant resolution
|
|
40
|
-
- `src/services/tenant-manager.ts` - Tenant provisioning
|
|
41
|
-
- `src/db/connection-pool.ts` - Dynamic connections
|
|
42
|
-
- `src/db/migrations.ts` - Migration runner
|
|
43
|
-
- `src/routes/tenants.ts` - Admin endpoints
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] New tenant DB created on signup
|
|
47
|
-
- [ ] Requests route to correct tenant DB
|
|
48
|
-
- [ ] Cross-tenant access is impossible
|
|
49
|
-
- [ ] Connection pools are properly managed
|
|
50
|
-
- [ ] Migrations run on all tenant DBs
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Multi-Tenant Organization Isolation
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: multi-tenant
|
|
4
|
-
description: Implement database-per-tenant isolation with dynamic connection routing
|
|
5
|
-
difficulty: hard
|
|
6
|
-
stack: nodejs
|
|
7
|
-
timeout: 900
|
|
8
|
-
tokenLimit: 200000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/isolation.test.ts
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- typescript
|
|
18
|
-
- multi-tenancy
|
|
19
|
-
- database
|
|
20
|
-
- isolation
|
|
21
|
-
- saas
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.25
|
|
26
|
-
cost: 0.1
|
|
27
|
-
speed: 0.15
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: Subdomain-Based Tenant Routing
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Implement subdomain-based tenant routing that maps subdomains to tenant contexts in a Go application.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Subdomain Parsing**
|
|
9
|
-
- Extract tenant slug from subdomain (acme.app.com → acme)
|
|
10
|
-
- Support custom domains (acme.com → acme tenant)
|
|
11
|
-
- Handle apex domain (app.com → public/landing)
|
|
12
|
-
- Validate tenant exists and is active
|
|
13
|
-
|
|
14
|
-
2. **Custom Domain Mapping**
|
|
15
|
-
- Store custom domain → tenant mappings
|
|
16
|
-
- SSL certificate management hints
|
|
17
|
-
- Domain verification (DNS TXT record)
|
|
18
|
-
- `POST /tenants/{id}/domains` - Add custom domain
|
|
19
|
-
- `DELETE /tenants/{id}/domains/{domain}` - Remove domain
|
|
20
|
-
|
|
21
|
-
3. **Middleware**
|
|
22
|
-
- Inject tenant context into request
|
|
23
|
-
- 404 for unknown subdomains
|
|
24
|
-
- Redirect inactive tenants to suspended page
|
|
25
|
-
- Cache tenant lookups
|
|
26
|
-
|
|
27
|
-
4. **URL Generation**
|
|
28
|
-
- Generate tenant-specific URLs
|
|
29
|
-
- Support both subdomain and custom domain
|
|
30
|
-
- Email links point to correct tenant URL
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Go 1.21+
|
|
34
|
-
- Chi or Gin router
|
|
35
|
-
- PostgreSQL
|
|
36
|
-
- Redis for caching
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `internal/middleware/tenant.go` - Tenant middleware
|
|
40
|
-
- `internal/services/domain.go` - Domain management
|
|
41
|
-
- `internal/services/tenant.go` - Tenant service
|
|
42
|
-
- `internal/handlers/domains.go` - Domain endpoints
|
|
43
|
-
- `internal/cache/tenant.go` - Tenant cache
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] Subdomain correctly maps to tenant
|
|
47
|
-
- [ ] Custom domains work with verification
|
|
48
|
-
- [ ] Unknown subdomains return 404
|
|
49
|
-
- [ ] Tenant context available in handlers
|
|
50
|
-
- [ ] Domain lookups are cached
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Subdomain-Based Tenant Routing
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: multi-tenant
|
|
4
|
-
description: Implement subdomain routing for multi-tenant applications in Go
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: go
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/routing_test.go
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- go
|
|
18
|
-
- multi-tenancy
|
|
19
|
-
- routing
|
|
20
|
-
- subdomains
|
|
21
|
-
- middleware
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Task: Async Email Notification Queue
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build an asynchronous email notification system using Celery that handles templated emails with retry logic and delivery tracking.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Email Templates**
|
|
9
|
-
- Welcome email
|
|
10
|
-
- Password reset
|
|
11
|
-
- Invoice notification
|
|
12
|
-
- Weekly digest
|
|
13
|
-
- Store templates in database or filesystem
|
|
14
|
-
|
|
15
|
-
2. **Queue Processing**
|
|
16
|
-
- Async task execution with Celery
|
|
17
|
-
- Priority queues (transactional > marketing)
|
|
18
|
-
- Retry with exponential backoff
|
|
19
|
-
- Dead letter queue for failed emails
|
|
20
|
-
|
|
21
|
-
3. **Delivery Tracking**
|
|
22
|
-
- Log all email sends
|
|
23
|
-
- Track delivery status via webhooks
|
|
24
|
-
- Handle bounces and complaints
|
|
25
|
-
- Unsubscribe management
|
|
26
|
-
|
|
27
|
-
4. **API Endpoints**
|
|
28
|
-
- `POST /notifications/email` - Queue email
|
|
29
|
-
- `GET /notifications/email/{id}` - Get delivery status
|
|
30
|
-
- `POST /notifications/email/batch` - Queue batch emails
|
|
31
|
-
- `GET /notifications/logs` - Email logs
|
|
32
|
-
|
|
33
|
-
## Technical Stack
|
|
34
|
-
- Python 3.11+
|
|
35
|
-
- FastAPI
|
|
36
|
-
- Celery with Redis broker
|
|
37
|
-
- Resend or SendGrid
|
|
38
|
-
- PostgreSQL
|
|
39
|
-
|
|
40
|
-
## Files to Create
|
|
41
|
-
- `app/tasks/email.py` - Celery email tasks
|
|
42
|
-
- `app/services/email_sender.py` - Email sending logic
|
|
43
|
-
- `app/services/template_renderer.py` - Template rendering
|
|
44
|
-
- `app/routers/notifications.py` - API endpoints
|
|
45
|
-
- `app/models/email_log.py` - Email log model
|
|
46
|
-
- `app/templates/emails/` - Email templates
|
|
47
|
-
|
|
48
|
-
## Success Criteria
|
|
49
|
-
- [ ] Emails queued and sent asynchronously
|
|
50
|
-
- [ ] Failed emails retry with backoff
|
|
51
|
-
- [ ] Delivery status tracked
|
|
52
|
-
- [ ] Batch sending works efficiently
|
|
53
|
-
- [ ] Unsubscribe links work
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Async Email Notification Queue
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: notifications
|
|
4
|
-
description: Implement async email notification system with queue processing in Python
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: python
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/test_email_queue.py
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- python
|
|
18
|
-
- celery
|
|
19
|
-
- email
|
|
20
|
-
- queue
|
|
21
|
-
- notifications
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Task: Real-time In-App Notifications
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a real-time in-app notification system using WebSockets with Spring Boot.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Notification Types**
|
|
9
|
-
- System announcements
|
|
10
|
-
- User mentions
|
|
11
|
-
- Task assignments
|
|
12
|
-
- Comment replies
|
|
13
|
-
- Each type has icon, color, priority
|
|
14
|
-
|
|
15
|
-
2. **Real-time Delivery**
|
|
16
|
-
- WebSocket connection per user
|
|
17
|
-
- Deliver notifications instantly
|
|
18
|
-
- Queue for offline users
|
|
19
|
-
- Deliver queued on reconnect
|
|
20
|
-
|
|
21
|
-
3. **Notification Center**
|
|
22
|
-
- `GET /notifications` - List notifications (paginated)
|
|
23
|
-
- `PUT /notifications/{id}/read` - Mark as read
|
|
24
|
-
- `PUT /notifications/read-all` - Mark all read
|
|
25
|
-
- `GET /notifications/unread-count` - Unread count
|
|
26
|
-
|
|
27
|
-
4. **Preferences**
|
|
28
|
-
- Per-type enable/disable
|
|
29
|
-
- Quiet hours
|
|
30
|
-
- Channel preferences (in-app, email, push)
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Java 17+
|
|
34
|
-
- Spring Boot 3.x
|
|
35
|
-
- Spring WebSocket (STOMP)
|
|
36
|
-
- PostgreSQL
|
|
37
|
-
- Redis for pub/sub
|
|
38
|
-
|
|
39
|
-
## Files to Create
|
|
40
|
-
- `src/main/java/config/WebSocketConfig.java`
|
|
41
|
-
- `src/main/java/services/NotificationService.java`
|
|
42
|
-
- `src/main/java/controllers/NotificationController.java`
|
|
43
|
-
- `src/main/java/models/Notification.java`
|
|
44
|
-
- `src/main/java/websocket/NotificationHandler.java`
|
|
45
|
-
|
|
46
|
-
## Success Criteria
|
|
47
|
-
- [ ] Notifications delivered in real-time via WebSocket
|
|
48
|
-
- [ ] Offline notifications queued and delivered
|
|
49
|
-
- [ ] Read/unread status tracked
|
|
50
|
-
- [ ] Unread count updates in real-time
|
|
51
|
-
- [ ] User preferences respected
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Real-time In-App Notifications
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: notifications
|
|
4
|
-
description: Build real-time in-app notification system with Java Spring
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: java
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/NotificationTest.java
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- java
|
|
18
|
-
- spring-boot
|
|
19
|
-
- websocket
|
|
20
|
-
- notifications
|
|
21
|
-
- real-time
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Task: Web Push Notifications
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Implement web push notifications using the Web Push API with service worker support.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Subscription Management**
|
|
9
|
-
- Prompt user for notification permission
|
|
10
|
-
- Generate VAPID keys for push service
|
|
11
|
-
- Store push subscriptions in database
|
|
12
|
-
- Handle subscription changes/revocations
|
|
13
|
-
|
|
14
|
-
2. **Service Worker**
|
|
15
|
-
- Register service worker for push events
|
|
16
|
-
- Handle push event and show notification
|
|
17
|
-
- Handle notification click (open URL)
|
|
18
|
-
- Background sync for offline queuing
|
|
19
|
-
|
|
20
|
-
3. **Sending Notifications**
|
|
21
|
-
- `POST /push/subscribe` - Save subscription
|
|
22
|
-
- `DELETE /push/subscribe` - Remove subscription
|
|
23
|
-
- `POST /push/send` - Send to specific user
|
|
24
|
-
- `POST /push/broadcast` - Send to all subscribers
|
|
25
|
-
|
|
26
|
-
4. **Notification Types**
|
|
27
|
-
- Simple text notification
|
|
28
|
-
- With image/icon
|
|
29
|
-
- With action buttons
|
|
30
|
-
- Silent push (data only)
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- TypeScript/Node.js
|
|
34
|
-
- Express
|
|
35
|
-
- web-push library
|
|
36
|
-
- PostgreSQL
|
|
37
|
-
- Service Worker API
|
|
38
|
-
|
|
39
|
-
## Files to Create
|
|
40
|
-
- `src/routes/push.ts` - Push API endpoints
|
|
41
|
-
- `src/services/push.ts` - Push notification logic
|
|
42
|
-
- `public/sw.js` - Service worker
|
|
43
|
-
- `public/push-client.js` - Client subscription
|
|
44
|
-
- `src/models/subscription.ts` - Subscription model
|
|
45
|
-
|
|
46
|
-
## Success Criteria
|
|
47
|
-
- [ ] Users can subscribe to push
|
|
48
|
-
- [ ] Notifications delivered to subscribed users
|
|
49
|
-
- [ ] Service worker shows notifications
|
|
50
|
-
- [ ] Click handling opens correct URL
|
|
51
|
-
- [ ] Subscriptions persist across sessions
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Web Push Notifications
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: notifications
|
|
4
|
-
description: Implement web push notifications with service workers
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: nodejs
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/push.test.ts
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- typescript
|
|
18
|
-
- web-push
|
|
19
|
-
- service-worker
|
|
20
|
-
- notifications
|
|
21
|
-
- pwa
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# Real-time WebSocket Chat
|
|
2
|
-
|
|
3
|
-
Build a real-time chat application using WebSocket with the following features.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
### Core Messaging
|
|
8
|
-
- Send and receive messages in real-time
|
|
9
|
-
- Message history (last 100 messages)
|
|
10
|
-
- Message timestamps
|
|
11
|
-
- Support multiple chat rooms
|
|
12
|
-
|
|
13
|
-
### Presence System
|
|
14
|
-
- Show online/offline status
|
|
15
|
-
- Display list of users in room
|
|
16
|
-
- Join/leave notifications
|
|
17
|
-
|
|
18
|
-
### Typing Indicators
|
|
19
|
-
- Show when users are typing
|
|
20
|
-
- Debounced typing events (stop after 2s idle)
|
|
21
|
-
- Multiple users typing support
|
|
22
|
-
|
|
23
|
-
## Technical Requirements
|
|
24
|
-
|
|
25
|
-
### WebSocket Server
|
|
26
|
-
```typescript
|
|
27
|
-
interface Message {
|
|
28
|
-
id: string;
|
|
29
|
-
roomId: string;
|
|
30
|
-
userId: string;
|
|
31
|
-
content: string;
|
|
32
|
-
timestamp: Date;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
interface PresenceEvent {
|
|
36
|
-
type: 'join' | 'leave' | 'typing';
|
|
37
|
-
userId: string;
|
|
38
|
-
roomId: string;
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Events
|
|
43
|
-
```
|
|
44
|
-
Client -> Server:
|
|
45
|
-
- join_room { roomId }
|
|
46
|
-
- leave_room { roomId }
|
|
47
|
-
- send_message { roomId, content }
|
|
48
|
-
- typing { roomId, isTyping }
|
|
49
|
-
|
|
50
|
-
Server -> Client:
|
|
51
|
-
- room_joined { roomId, users, history }
|
|
52
|
-
- user_joined { userId }
|
|
53
|
-
- user_left { userId }
|
|
54
|
-
- new_message { message }
|
|
55
|
-
- typing_update { roomId, users[] }
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### API Endpoints
|
|
59
|
-
```
|
|
60
|
-
GET /api/rooms - List available rooms
|
|
61
|
-
POST /api/rooms - Create room
|
|
62
|
-
GET /api/rooms/:id/messages - Get message history
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Requirements
|
|
66
|
-
|
|
67
|
-
1. Use `ws` or `socket.io` for WebSocket
|
|
68
|
-
2. Handle reconnection gracefully
|
|
69
|
-
3. Implement heartbeat/ping-pong
|
|
70
|
-
4. Scale-ready (Redis pub/sub adapter optional)
|
|
71
|
-
5. Rate limit messages (max 10/second per user)
|
|
72
|
-
|
|
73
|
-
## Acceptance Criteria
|
|
74
|
-
|
|
75
|
-
- [ ] Messages delivered in real-time
|
|
76
|
-
- [ ] Presence updates work correctly
|
|
77
|
-
- [ ] Typing indicators debounced
|
|
78
|
-
- [ ] Reconnection restores state
|
|
79
|
-
- [ ] Message history loads on join
|
|
80
|
-
- [ ] Handles 100+ concurrent connections
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Real-time WebSocket Chat
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: realtime
|
|
4
|
-
description: Build a real-time chat system using WebSocket with presence and typing indicators
|
|
5
|
-
difficulty: hard
|
|
6
|
-
stack: nodejs
|
|
7
|
-
timeout: 900
|
|
8
|
-
tokenLimit: 200000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/websocket.test.ts
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- websocket
|
|
18
|
-
- realtime
|
|
19
|
-
- chat
|
|
20
|
-
- presence
|
|
21
|
-
- nodejs
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.25
|
|
26
|
-
cost: 0.1
|
|
27
|
-
speed: 0.15
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Task: Full-Text Search with Elasticsearch
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Implement a full-text search system using Elasticsearch that searches across users, documents, and comments.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Index Management**
|
|
9
|
-
- Create indices for: users, documents, comments
|
|
10
|
-
- Define mappings with proper analyzers
|
|
11
|
-
- Handle index versioning for schema changes
|
|
12
|
-
- Reindex on mapping changes
|
|
13
|
-
|
|
14
|
-
2. **Data Sync**
|
|
15
|
-
- Sync database changes to Elasticsearch
|
|
16
|
-
- Handle creates, updates, deletes
|
|
17
|
-
- Bulk indexing for initial load
|
|
18
|
-
- Near real-time sync (< 1 second)
|
|
19
|
-
|
|
20
|
-
3. **Search Features**
|
|
21
|
-
- Full-text search across fields
|
|
22
|
-
- Fuzzy matching for typos
|
|
23
|
-
- Highlighting matched terms
|
|
24
|
-
- Faceted search (filter by type, date, author)
|
|
25
|
-
- Pagination with cursor
|
|
26
|
-
|
|
27
|
-
4. **API Endpoints**
|
|
28
|
-
- `GET /search?q=term` - Global search
|
|
29
|
-
- `GET /search/users?q=term` - Search users
|
|
30
|
-
- `GET /search/documents?q=term` - Search docs
|
|
31
|
-
- `POST /search/reindex` - Trigger reindex
|
|
32
|
-
|
|
33
|
-
## Technical Stack
|
|
34
|
-
- TypeScript/Node.js
|
|
35
|
-
- Express or Hono
|
|
36
|
-
- Elasticsearch 8.x
|
|
37
|
-
- PostgreSQL (source of truth)
|
|
38
|
-
|
|
39
|
-
## Files to Create
|
|
40
|
-
- `src/services/elasticsearch.ts` - ES client wrapper
|
|
41
|
-
- `src/services/indexer.ts` - Data sync logic
|
|
42
|
-
- `src/services/search.ts` - Search logic
|
|
43
|
-
- `src/routes/search.ts` - Search endpoints
|
|
44
|
-
- `src/mappings/` - Index mappings
|
|
45
|
-
|
|
46
|
-
## Success Criteria
|
|
47
|
-
- [ ] Search returns relevant results
|
|
48
|
-
- [ ] Fuzzy matching handles typos
|
|
49
|
-
- [ ] Results highlight matched terms
|
|
50
|
-
- [ ] Facets filter correctly
|
|
51
|
-
- [ ] DB changes sync to ES quickly
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Full-Text Search with Elasticsearch
|
|
2
|
-
category: saas-core
|
|
3
|
-
subcategory: search
|
|
4
|
-
description: Implement full-text search across multiple entities with Elasticsearch
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: nodejs
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/search.test.ts
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- typescript
|
|
18
|
-
- elasticsearch
|
|
19
|
-
- search
|
|
20
|
-
- indexing
|
|
21
|
-
- full-text
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|