Problem folders: problems/problems_<id>/ with problem.md, problem_zh.md, solution.*, Solution.*, solution.md, testcases. Shared helpers: python/, golang/, typescript/, cpp/, rust/. Algorithm notes: algorithm_templates/. Metadata: data/. Tests: tests/. Multithreading: multi_threading/<id>/.
make verify: stable local checks (Python codegen/unit, TypeScript smoke, Go helpers)make health: scan for missing docs/testcases/links/solutions, Rust workspace driftmake test/make test-unit/make test-integration/make test-codegen/make test-coveragenpm test: TypeScript/Jest suitemake test-go-libs: Go helper package testspython python/scripts/leetcode.py: interactive LeetCode helper (fetch/submit)make help: full command list
- Python: concise, trick-oriented, avoid boilerplate
- Prefer math/insight over brute force
- One clean approach per solution file, not multiple explorations
Use short prefixes: test:, fix:, feat:. Keep scoped to one change.
- Solution passes test cases (local runner or LeetCode submit)
- No leftover debug prints or commented-out code
- If tooling changed:
make verifypasses - Changed files summarized
Do not commit .env, LeetCode cookies, PushDeer keys. Required env vars: COOKIE, PROBLEM_FOLDER, LANGUAGES, LEETCODE_USER, PYTHONPATH=..