Repository navigation
feat: move challenge packages under challenges/ and discover them by convention - #18
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Packages now live under
challenges/(moved withgit mv), andtools/verify.mjsdiscovers them there at any depth, so grouping folders such aschallenges/beginner/<id>work without a change. A package at the repo root, directly inchallenges/, or in another top-level directory fails verify with a message naming it. Closes #16.Decide
challenges/" check look? Recommend: the repo root,challenges/itself, and top-level directories only, becausetest/fixtures/legitimately holds manifests deeper in the tree; a stray likebeginner/foo/challenge.jsonat the root is not caught.challenges/hello-world/README.mdnamed its old path in the standalone Pi instructions. Recommend: update those two paths, because the standalone flow must keep working; no other package content changed.Ready gate
npm run verify:okforchallenges/birdsbirdbirds,challenges/hello-world,challenges/vibe-coding-mad-libs, exit 0.npm test: 192 tests, 192 pass, 0 fail.npm run lint: 0 issues in 15 files. CI green on 9c1171d: run 38852537008.node tools/verify.mjs --root test/fixtures/roots/outsideprintsstray/challenge.json is outside challenges/; move its package under challenges/and exits 1 (covered by theCLI exits 1 naming a package outside challenges/test).--root test/fixtures/roots/groupedfindschallenges/beginner/gammaand exits 0./outsidechallenges/, and for "top-level"; every remaining hit is about the test directory or the root-level check. Tests, README, AGENTS.md,docs/style/testing.md,.markdownlint-cli2.jsoncand fixtures were updated.docs/style/testing.md;docs/cloud-agents.mdnames no package paths.docs/style/; nothing cut. Every function has a doc comment, and the walk stays insidechallenges/and never follows unsafe symlinks. Independent review: four blocking findings (achallengessymlink escaping the repo, a missing cross-group duplicate-id test, two overstated doc sentences), all fixed.Generated by Claude Code