only. No Redux/MobX/Recoil.
- Use `shallow` comparison in `useStore` when selecting objects/arrays. Flag missing `shallow`.
## Tests
Rules: `.github/instructions/frontend-tests.instructions.md`. How to write one:
`frontend/src/test/README.md`. Reject any spec that would still pass against
style, package organization, error handling, and idiomatic patterns
- **[golang_tests.instructions.md](instructions/generic/golang_tests.instructions.md)**: Best practices for writing tests in Go, including table-driven tests, test structure, and integration testing
### Ember.js UI Development
- **[ember_general.instructions.md
Linux-side WSL components
- `src/shared/` — Shared code between Windows and Linux
- `test/windows/` — Windows-based tests (TAEF framework)
- `test/linux/unit_tests/` — Linux unit test suite
- `doc/` — Documentation source (MkDocs)
- `tools/` — Build and deployment
github-mcp-server (stdio MCP server - **this is the main focus**)
- **Secondary Package:** mcpcurl (testing utility - don't break it, but not the priority)
- **Framework:** Uses modelcontextprotocol/go-sdk for MCP protocol
graph is cheaper than scanning files and
gives you structural context (callers, dependents, test coverage) that file search cannot.
### When to use graph tools FIRST
- **Exploring code**: `semantic_search_nodes
src/PowerShell`) - Microsoft.WinGet.Client and Microsoft.WinGet.Configuration cmdlets
- **Configuration system** - DSC-based system configuration using WinGet
## Building, Testing, and Running
### Initial Setup
Use a configuration file in `.config` as in `winget configure .config/configuration.winget
prefer using isomorphic code like fetch, ReadableStream, etc. instead of Node.js specific code. Our tests are all vitest. We use prisma in internal-packages/database for our database interactions using
language server (`pyright-langserver`), and a VS Code extension (`vscode-pyright`).
## Build and Test
```bash
# Install all packages (from repo root)
pnpm install
# Build the core library
cd packages/pyright-internal && pnpm
case considerations
- Provide clear documentation and usage examples
- Explain technical decisions and trade-offs
- Test solutions mentally before presenting them
### Creative and Content Tasks
- Generate original, engaging content tailored
edit.
Use the root completion and authorization boundaries; consult `docs/internals/contributing.md` for task-specific testing and failure diagnosis. Continue scoped local implementation, deterministic checks, and fixes without asking at each step
TypeScript schemas
- `/docker-init`: Docker initialization scripts
- `/openapi`: API documentation in OpenAPI format
- `/tests`: Comprehensive test suites
## Libraries and Frameworks
### Backend
- Express.js for REST API framework
- PostgreSQL with pg driver
crate.
- `crates/tools/*` - code generators and CI helpers, run via `cargo run -p tool-*`.
- `crates/tests/*/*` - test crates; `crates/tests/libs/ ` mirrors each library crate (e.g.
`test_reactor`, `test-webview`). Crate names are `test
unified single-store** design — see the Architecture section below for the current model.
## Build, Test, and Lint
```bash
# Build the entire solution
dotnet build
# Run all Garnet tests
GARNET_TEST