This repository is a wrapper around the main package in easeim-mcp-server/.
easeim-mcp-server/src/: MCP server runtime code (server.ts, tool handlers, search/intelligence modules).easeim-mcp-server/scripts/: index and shard generation scripts (run withtsx).easeim-mcp-server/tests/andeaseim-mcp-server/test-*.ts: script-style validation and benchmark files.easeim-mcp-server/data/: generated indexes/shards used at runtime.raw-materials/: upstream source/docs inputs for index generation.- Top-level
package.json: monorepo wrapper entry andpreparebootstrap.
Run commands from the repository root unless noted.
npm run prepare: installs deps and buildseaseim-mcp-server.cd easeim-mcp-server && npm run build: compile TypeScript todist/.cd easeim-mcp-server && npm run watch: incremental TypeScript build.cd easeim-mcp-server && npm run generate-all: regenerate all search/config/template indexes.cd easeim-mcp-server && npx tsx tests/test-search-suggester.ts: run a targeted test script.cd easeim-mcp-server && npx tsx tests/benchmark-sharded-search.ts: run search performance benchmark.
- Language: TypeScript (ESM, strict mode via
tsconfig.json). - Indentation: 2 spaces; keep semicolons and single quotes consistent with existing code.
- Imports in
.tsfiles should use.jssuffixes (Node16 ESM compatibility). - Naming:
PascalCasefor classes/types and major modules (SearchSuggester.ts),camelCasefor functions/variables,UPPER_SNAKE_CASEfor constants. - Keep modules focused by domain (
search/,intelligence/,assist/,tools/,utils/).
- No centralized test runner is configured; tests are executable scripts.
- Prefer
test-*.tsfor behavior checks andbenchmark-*.tsfor performance checks. - Run affected scripts before opening a PR; include command + key output in PR description.
- When changing indexing logic, rerun related
generate-*scripts and validate search behavior.
- Follow concise, imperative commit subjects; prefer Conventional Commit style where possible (
fix: ...,chore: ...), which matches existing history. - Keep commits scoped (logic vs generated data changes should be easy to review).
- PRs should include:
- What changed and why.
- Related issue/task link (if any).
- Reproduction/verification commands executed.
- Notes on regenerated artifacts under
easeim-mcp-server/data/.