evolved-monkey
v0.1.11
Published
TypeScript-based CLI for creator workflows.
Readme
Creator CLI (V0)
TypeScript-based CLI for creator workflows.
Commands
em-challenge challenge init --type <EXPRESS_NODE|VANILLA_HTML_CSS_JS> --slug <slug> --title <title> [--description <text>] [--difficulty <EASY|MEDIUM|HARD>] [--technologies <comma,separated,values>] [--tags <comma,separated,tags>] [--backend <url>] [--dir <path>]
em-challenge challenge validate [--dir <path>]
em-challenge challenge publish [--backend <url>] [--dir <path>]
em-challenge challenge pull --slug <slug> [--backend <url>] [--dir <path>]
em-challenge challenge submit --slug <slug> [--backend <url>] [--dir <path>] [--no-wait]
em-challenge submission status --id <submissionId> [--backend <url>]What Each Command Does
challenge init: creates challenge metadata in backend (draft) and scaffolds local creator workspace withchallenge.config.json(including editabledifficulty,technologies,tags,evaluation.timeoutMs,evaluation.memoryMb, and requiredcoverImagePath). Type is required (EXPRESS_NODEorVANILLA_HTML_CSS_JS). Allowed enum/technology choices are documented in the generated workspaceREADME.md.challenge validate: checks workspace against creator rules (metadata, required files, disallowed files, hidden test presence).challenge publish: validates workspace, uploads starter/tests plus dependency bundle (starter/node_modules+tests/node_modules) and cover image, then marks challenge as published.challenge pull: downloads and extracts starter files for users.challenge submit: uploads user solution, triggers evaluation, and waits for pass/fail by default. Prints score/breakdown when grader output includesEM_GRADING_JSON.submission status: fetches current status/logs for a specific submission id, including score details when available.
Test
npm run typecheck
npm test