CodeVetter · Repo Unpack · Contributor handoff
mobxjs/mobx
Begin with the owning package and trace its public API into state ownership before editing. Tests and CI were inspected, not executed, and this report is a bounded inventory rather than exhaustive coverage. Future execution should follow the task's authorization and account for build scripts, codemod tests, and documentation generation that write files.
- Read the root and owning-package manifests before selecting commands: workspace aliases are provided, CONTRIBUTING specifies Node 24, and small bug fixes are expected to include a regression test.
- For core edits, first read mobx.ts, internal.ts, and the relevant api/core/types implementation; preserve the documented export-order sensitivity rather than treating internal.ts as an interchangeable barrel.
- Protect initialization invariants: initObservable disables tracking, permits initialization writes in development, batches execution, and restores context; makeAutoObservable caches prototype keys and assumes one initialization without subclassing.
- For React lifecycle work, retain the module-scoped administration factory and read useObserver together with finalization and retention/Suspense fixtures; they explain stable subscriptions, render-tree reachability, and pre-subscription recovery.
- Tests and CI were inspected, not executed. If execution is later authorized, start with a relevant file through the owning package's test script; core test discovery is restricted to base tests, while React and ESLint use distinct project configurations.
- Do not equate root build:check with type checking: it delegates the build:check name with --if-present, while all four inspected library/plugin manifests expose test:types and test:check instead; CI separately invokes build:test.
- Inspect scripts before running them: Rollup empties dist, check-size rebuilds publish artifacts unless --no-build is supplied, docs hooks evaluate source and write Markdown, and codemod CLI fixtures write files and launch subprocesses.
- Use the MobX 7 migration guide to resolve stale API expectations, and preserve repository style: four-space indentation, double quotes, no semicolons or trailing commas, with strict TypeScript checks but noImplicitAny/noImplicitThis disabled.