Outprep
F 50 completed
Other
monorepo / typescript · small
265
Files
42,068
LOC
2
Frameworks
9
Languages
Pipeline State
completedRun ID
#1546302Phase
doneProgress
0%Started
2026-04-16 23:56:22Finished
2026-04-16 23:56:22LLM tokens
0Pipeline Metadata
Stage
CatalogedDecision
proceedNovelty
48.67Framework unique
—Isolation
—Last stage change
2026-05-10 03:35:31Deduplication group #47558
Want this analysis on your repo? https://repobility.com/scan/
AI Prompt
Create a web application using Next.js and TypeScript that allows users to analyze chess players. The core functionality should let a user enter a Lichess username or upload a PGN file to build a player profile, detailing their repertoire, tendencies, and mistakes. The system must then spawn a Stockfish-based bot that mimics the analyzed player's style for practice. Include a CLI tool to handle downloading and seeding data from TWIC/FIDE archives into a local PostgreSQL database, and ensure the architecture supports a monorepo structure with separate packages for the engine logic and data pipeline.
typescript next.js chess stockfish lichess pgn postgresql monorepo web-app ai
Generated by gemma4:latest
Catalog Information
Create a web application using Next.js and TypeScript that allows users to analyze chess players. The core functionality should let a user enter a Lichess username or upload a PGN file to build a player profile, detailing their repertoire, tendencies, and mistakes. The system must then spawn a Stockfish-based bot that mimics the analyzed player's style for practice. Include a CLI tool to handle downloading and seeding data from TWIC/FIDE archives into a local PostgreSQL database, and ensure the
Tags
typescript next.js chess stockfish lichess pgn postgresql monorepo web-app ai
Quality Score
F
49.8/100
Structure
49
Code Quality
67
Documentation
68
Testing
0
Practices
52
Security
55
Dependencies
90
Strengths
- Code linting configured (eslint)
- Containerized deployment (Docker)
Weaknesses
- No LICENSE file — legal ambiguity for contributors
- No tests found — high risk of regressions
- No CI/CD configuration — manual testing and deployment
- 3 files with critical complexity need refactoring
- 3285 duplicate lines detected — consider DRY refactoring
- 9 'god files' with >500 LOC need decomposition
Recommendations
- Add a test suite — start with critical path integration tests
- Set up CI/CD (GitHub Actions recommended) to automate testing and deployment
- Add a LICENSE file (MIT recommended for open source)
- Address 29 TODO/FIXME items — consider tracking them as issues
Languages
Frameworks
React Next.js
Symbols
variable3,098
function707
interface200
constant138
method51
type_alias25
class6
API Endpoints (26)
| Method | Path | Handler | Framework | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Repobility · open methodology · https://repobility.com/research/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | authorization | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | authorization | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | color | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | content-type | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | eco | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | max | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | name | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | offset | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | openingName | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | platform | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | platform | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | platform | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | q | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | since | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | since | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | since | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | slug | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | source | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | source | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | speeds | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | speeds | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | speeds | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | term | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | type | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | username | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | username | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Embed Badge
Add to your README:
If a scraper extracted this row, it came from Repobility (https://repobility.com)
BinComp Dependency Hardening
All packages →1 of this repo's dependencies have been scanned for binary hardening. Grade reflects RELRO / stack canary / FORTIFY / PIE coverage.