You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* docs: sync README to v0.3.0 and add CODEOWNERS + CONTRIBUTING
Update consumer-facing install and MCP config pins to match package.json
0.3.0, add root CONTRIBUTING.md for GitHub onboarding, and route reviews
via CODEOWNERS for critical paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: sync README to v0.3.0 and add CODEOWNERS + CONTRIBUTING
* docs: remove docs/CONTRIBUTING.md stub; link to root guide only
Single CONTRIBUTING.md at repo root; update docs index and deprecation-policy links.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: zho <jornathanm910923@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|`npm run build`| Clean `dist/` and `tsc` compile |
30
+
|`npm run typecheck`|`tsc --noEmit`|
31
+
|`npm run lint`| ESLint on `src/`|
32
+
|`npm run lint:fix`| ESLint with `--fix`|
33
+
|`npm run format`| Prettier write (`src/**/*.ts`, config JSON) |
34
+
|`npm run format:check`| Prettier check |
35
+
|`npm test`| Vitest once |
36
+
|`npm run test:coverage`| Vitest + coverage thresholds (`vitest.config.ts`) |
37
+
|`npm run ci`| Full local gate (typecheck, lint, format, build, coverage) |
38
+
|`npm run docs:link-check`| Validate markdown links in README, CHANGELOG, and `docs/`|
39
+
40
+
## Architecture overview
41
+
42
+
The codebase is split into two layers. **`src/core/`** is the generic MCP–Pinecone bridge: `PineconeClient`, `resolveConfig`, `setupCoreServer`, and eight MCP tools including `guided_query`. Import from `@will-cppa/pinecone-read-only-mcp` (package root). **`src/alliance/`** is the C++ Alliance app layer: `suggest_query_params`, Boost/Slack URL builtins, and `setupAllianceServer` / `resolveAllianceConfig`. Import from `@will-cppa/pinecone-read-only-mcp/alliance` for the full 14-tool surface (CLI parity).
43
+
44
+
Each deployment uses a **`ServerContext`** instance that owns config, the Pinecone client, namespaces cache, URL generator registry, and the suggest-flow gate. Prefer the instance-first pattern: `createServer(config)` → `ctx.setClient(...)` → `setupCoreServer({ context: ctx })` or `setupAllianceServer({ context: ctx })`. Module-level singleton facades (`setPineconeClient`, `getDefaultServerContext`, etc.) are deprecated since 0.3.0.
45
+
46
+
The **suggest-flow gate** requires `suggest_query_params` before `query`, `count`, or `query_documents` for a namespace (unless disabled). Alliance defaults keep the gate **on**; core `resolveConfig` defaults `disableSuggestFlow` to **true** so generic embedders can query without Alliance tools. Tool handlers validate inputs with Zod and return structured **`ToolError`** JSON on failure — one of the project's quality standards for MCP consumers.
47
+
48
+
Deep reference: [docs/CONFIGURATION.md](docs/CONFIGURATION.md), [docs/TOOLS.md](docs/TOOLS.md), [README.md](README.md#architecture).
49
+
50
+
## PR conventions
51
+
52
+
-**Branch naming:**`feature/…`, `docs/…`, `bugfix/…`, or `design/…` (short, descriptive slug).
53
+
- Run **`npm run ci`** before pushing; CI must pass on the PR.
54
+
- Keep changes focused; update **`CHANGELOG.md``[Unreleased]`** for user-visible behavior.
55
+
- Use the [pull request template](.github/PULL_REQUEST_TEMPLATE.md).
56
+
- Documentation changes: run `npm run docs:link-check` if you touch many relative links.
57
+
- PRs to `main` should receive review from a [CODEOWNERS](.github/CODEOWNERS) maintainer once branch protection is enabled.
58
+
59
+
### Deprecations and breaking changes
60
+
61
+
Follow [docs/deprecation-policy.md](docs/deprecation-policy.md). Deprecate with CHANGELOG + MIGRATION entries; use labeled `**Breaking (MCP):**` bullets for breaking releases while `0.y.z`.
62
+
63
+
### Response field stability
64
+
65
+
When changing MCP tool success shapes, put new fields under **`experimental`** unless promoted; update Zod schemas in `src/core/server/response-schemas.ts` and [docs/TOOLS.md](docs/TOOLS.md). See [docs/deprecation-policy.md § Stable vs experimental](docs/deprecation-policy.md#stable-vs-experimental-mcp-response-fields).
66
+
67
+
## Code style
68
+
69
+
-**TypeScript strict** (`strict`, `noUncheckedIndexedAccess`, etc.) — match surrounding code.
70
+
-**ESLint** and **Prettier** — `npm run lint`, `npm run format:check` (configs at repo root).
71
+
-**Zod** at MCP tool boundaries; explicit types on exported APIs.
Copy file name to clipboardExpand all lines: README.md
+16-19Lines changed: 16 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,11 @@
7
7
8
8
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that implements the MCP specification via `@modelcontextprotocol/sdk` v1.25+ and provides semantic search over Pinecone vector databases using hybrid search (dense + sparse) with reranking.
9
9
10
-
**Current version: 0.2.0** (npm `latest` after publish). Pin `@0.2.0` in install and MCP config for reproducible upgrades.
10
+
Current version: 0.3.0 (npm `latest` after publish). Pin `@0.3.0` in install and MCP config for reproducible upgrades.
11
+
12
+
## Upgrading to 0.3.0
13
+
14
+
Version **0.3.0** includes breaking MCP and library changes: experimental response fields nested under `experimental`, branded `CoreServerConfig` / `AllianceServerConfig`, legacy module-facade deprecations, and core `resolveConfig` requiring an index name with suggest-flow off by default. See [docs/MIGRATION.md](docs/MIGRATION.md) for before/after examples and the [CHANGELOG](CHANGELOG.md#030---2026-06-23)**Changed** section for the full list.
11
15
12
16
## Upgrading from 0.1.x
13
17
@@ -29,7 +33,7 @@ While the package is **`0.y.z`**, minor releases may include breaking changes ([
@@ -751,14 +755,7 @@ npm run dev -- --api-key YOUR_API_KEY
751
755
752
756
### Contribution Guidelines
753
757
754
-
1. Fork the repository
755
-
2. Create a feature branch: `git checkout -b feature-name`
756
-
3. Make your changes and add tests
757
-
4. Ensure all tests pass: `npm test`
758
-
5. Ensure code quality checks pass: `npm run lint && npm run format:check && npm run typecheck`
759
-
6. Commit your changes: `git commit -am 'Add some feature'`
760
-
7. Push to the branch: `git push origin feature-name`
761
-
8. Submit a pull request
758
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for prerequisites, dev setup, architecture overview, PR conventions, and code style. Run `npm run ci` before opening a pull request.
Copy file name to clipboardExpand all lines: docs/deprecation-policy.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ For step-by-step upgrades, see [MIGRATION.md](./MIGRATION.md). For publish mecha
10
10
11
11
## Semantic versioning while `0.y.z`
12
12
13
-
This package currently ships as **`0.y.z`**. Under [Semantic Versioning §4](https://semver.org/spec/v2.0.0.html#spec-item-4), **minor releases may include breaking changes** until the first `1.0.0` release. Consumers should **pin an exact version** (for example `@will-cppa/pinecone-read-only-mcp@0.2.0`) in `package.json`, MCP server config, and Docker tags.
13
+
This package currently ships as **`0.y.z`**. Under [Semantic Versioning §4](https://semver.org/spec/v2.0.0.html#spec-item-4), **minor releases may include breaking changes** until the first `1.0.0` release. Consumers should **pin an exact version** (for example `@will-cppa/pinecone-read-only-mcp@0.3.0`) in `package.json`, MCP server config, and Docker tags.
14
14
15
15
After **`1.0.0`**, this project intends to follow standard semver: breaking changes land only in **major** releases, and the deprecation window below becomes **binding** for removals that were previously announced as deprecated.
16
16
@@ -142,7 +142,7 @@ Each breaking bullet should state:
142
142
-`old_name` on … — use `new_name` instead; removal targeted in **0.4.0** (deprecated **0.2.0**). See [MIGRATION.md](./MIGRATION.md#anchor).
143
143
```
144
144
145
-
Contributors: see [CONTRIBUTING.md](./CONTRIBUTING.md) for PR expectations.
145
+
Contributors: see [CONTRIBUTING.md](../CONTRIBUTING.md) for PR expectations.
146
146
147
147
## Release hygiene
148
148
@@ -156,6 +156,6 @@ Contributors: see [CONTRIBUTING.md](./CONTRIBUTING.md) for PR expectations.
0 commit comments