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
Copy file name to clipboardExpand all lines: AGENTS.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -336,6 +336,22 @@ No build step — pure ESM JavaScript, runs directly with `node src/index.js`. R
336
336
337
337
11.**`gf_list_field_types` defaults to summary mode.** Returns only `type`, `label`, `category` per field type. Pass `detail=true` for full metadata (supports, storage, validation). Pass `include_variants=true` with `detail=true` for variant data. This prevents accidentally dumping thousands of tokens for all 44 field types. — `field-operations/index.js:142-211`
338
338
339
+
12.**Test mode resolves env vars at client construction.** When `GRAVITYMCP_TEST_MODE=true`, `testConfig.resolveEnv()` remaps `GRAVITY_FORMS_TEST_BASE_URL` → `GRAVITY_FORMS_BASE_URL` (and consumer key/secret). The rest of the client and AuthManager work unchanged. — `config/test-config.js:60-95`, `gravity-forms-client.js:16`
340
+
341
+
## Releasing
342
+
343
+
**Every version tag MUST include a CHANGELOG.md update.** Follow this checklist:
344
+
345
+
1.**Update `CHANGELOG.md`** — add a new `## [X.Y.Z] - YYYY-MM-DD` section with all changes since the last release. Follow [Keep a Changelog](https://keepachangelog.com/) format (Added, Changed, Fixed, Removed).
346
+
2.**Bump `version` in `package.json`**
347
+
3.**Update version in `CLAUDE.md`** (Project Identity → Package line)
348
+
4.**Add link** at bottom of `CHANGELOG.md`: `[X.Y.Z]: https://github.com/GravityKit/GravityMCP/releases/tag/vX.Y.Z`
349
+
5.**Commit**: `git commit -m "chore(release): bump version to X.Y.Z"`
350
+
6.**Tag**: `git tag vX.Y.Z`
351
+
7.**Push**: `git push origin main --tags`
352
+
353
+
Skipping any step (especially CHANGELOG) will leave the release history incomplete for future developers and AI agents.
354
+
339
355
## Related Resources
340
356
341
357
-**CLAUDE.md** — Concise project identity and critical rules
Copy file name to clipboardExpand all lines: CHANGELOG.md
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,36 @@ All notable changes to GravityMCP will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.4.0] - 2026-03-20
9
+
10
+
### Added
11
+
- Test mode environment resolution: when `GRAVITYMCP_TEST_MODE=true`, the client automatically uses `GRAVITY_FORMS_TEST_*` env vars (base URL, consumer key/secret) instead of live credentials
12
+
-`testConfig.resolveEnv()` method in `config/test-config.js` as the canonical place for environment resolution
13
+
- Init log now shows `(TEST MODE)` indicator when connecting to test site
14
+
- Support for `GRAVITY_FORMS_TEST_BASE_URL` env var (in addition to existing `GRAVITY_FORMS_TEST_URL`)
15
+
16
+
### Fixed
17
+
- Removed 4 unused variable warnings (`response` in delete methods, `safeHeaders` in request interceptor)
18
+
19
+
## [1.3.0] - 2026-03-10
20
+
21
+
### Added
22
+
- Compact mode: `stripEmpty()` recursively removes `null` and `""` values from all responses to reduce token usage
23
+
- Entry meta stripping: plugin-added meta keys (e.g., `gv_revision_*`, `helpscout_conversation_id`) are stripped by default via `stripEntryMeta()`
24
+
- Pass `compact=false` for full raw data
25
+
26
+
### Fixed
27
+
- Updated axios and MCP SDK to patch security vulnerabilities
28
+
29
+
## [1.1.0] - 2026-03-10
30
+
31
+
### Changed
32
+
- Reduced token usage across all tool responses: no pretty-print, no redundant `message` strings, no echo-back of input IDs
33
+
- Updated AGENTS.md and CLAUDE.md for token optimization documentation
34
+
35
+
### Fixed
36
+
- Granted `contents:write` permission in publish CI workflow
37
+
8
38
## [1.0.5] - 2026-02-18
9
39
10
40
### Fixed
@@ -72,6 +102,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
@@ -36,3 +36,15 @@ Required env vars (see `.env.example` for full list):
36
36
6.**Minimize response tokens** — no pretty-print (`JSON.stringify(result)` not `null, 2`), no redundant `message` strings, no echo-back of input IDs, no `created`/`updated` booleans. Return only essential data.
37
37
7.**Keep tool descriptions terse** — every token in tool schemas is sent on every `tools/list` call
38
38
8.**Compact mode strips null, empty strings, and entry meta** — `stripEmpty()` in `utils/compact.js` runs on all responses. Entry tools also strip plugin-added meta keys via `stripEntryMeta()`, keeping only core properties and field values. `false` is preserved. Pass `compact=false` for full raw data.
39
+
9.**Test mode uses dev site** — when `GRAVITYMCP_TEST_MODE=true`, the client auto-resolves `GRAVITY_FORMS_TEST_*` env vars to connect to the test site instead of production. Resolution logic lives in `testConfig.resolveEnv()` in `config/test-config.js`.
40
+
41
+
## Release Checklist
42
+
43
+
When tagging a new version, you MUST complete ALL of these steps:
44
+
45
+
1. Update `CHANGELOG.md` with all changes since the last release (follow Keep a Changelog format)
46
+
2. Bump `version` in `package.json`
47
+
3. Update the version in this file (`CLAUDE.md` → Project Identity → Package)
48
+
4. Commit with message `chore(release): bump version to X.Y.Z`
0 commit comments