Skip to content

Commit ee7ee0e

Browse files
authored
feat: Add MCP actions for reading and writing project definition entities, including draft session support for staging changes before committing. (#798)
1 parent 7743348 commit ee7ee0e

62 files changed

Lines changed: 4043 additions & 316 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/code-style.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
## Exports
2222
- If a particular interface or type is not exported but needs to be, change the file so it is exported.
23+
- **No re-exports from other packages:** Do not re-export types or values from other libraries/packages. Consumers should import directly from the canonical source. This applies especially when refactoring or moving files — fix the references at each call site to point to the original package instead of creating proxy re-exports.
2324

2425
## String Comparison
2526

.agents/testing.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This file outlines the testing strategy, patterns, and constraints for the Basep
3434
- **Integration Tests:** Use the `.int.test.ts` suffix.
3535
- **Test Helpers:** Place shared setup code or utilities in `src/tests/` or create `*.test-helper.ts` files.
3636
- Before creating mock data or test objects, check for an existing `*.test-helper.ts` or `*.test-utils.ts` file in the same package (see [Test Helper Reference](#test-helper-reference) below).
37-
- Example: to mock a `ProjectDefinition`, use `createTestProjectDefinition()` from `packages/project-builder-lib/src/definition/project-definition-container.test-utils.ts`.
37+
- Example: to mock a `ProjectDefinition`, use `createTestProjectDefinition()` from `packages/project-builder-lib/src/testing/project-definition-container.test-helper.ts`.
3838
- If no helper exists and the mock would be useful across multiple test files, create a new `*.test-helper.ts` file following the factory function pattern (e.g., `createTest<ObjectName>()`) and add an entry to the reference table below.
3939
- **Manual Mocks:** Place manual mocks in `src/__mocks__/`.
4040

@@ -103,10 +103,10 @@ const files = await globby(['**/*.ts'], { fs: fsAdapter });
103103
| sync | `src/tests/logger.test-utils.ts` | `createTestLogger`, `createConsoleLogger` |
104104
| sync | `src/templates/extractor/test-utils/plugin-test-utils.ts` | `createMockPluginApi`, `createPluginInstance` |
105105
| ui-components | `src/tests/render.test-helper.tsx` | `renderWithProviders` |
106-
| project-builder-lib | `src/definition/project-definition-container.test-utils.ts` | `createTestProjectDefinition`, `createTestProjectDefinitionContainer` |
107-
| project-builder-lib | `src/schema/definition.test-helper.ts` | `createTestFeature`, `createTestModel`, `createTestScalarField` |
106+
| project-builder-lib | `src/testing/project-definition-container.test-helper.ts` | `createTestProjectDefinition`, `createTestProjectDefinitionContainer`, `createTestEntityServiceContext` |
107+
| project-builder-lib | `src/testing/definition-helpers.test-helper.ts` | `createTestFeature`, `createTestModel`, `createTestScalarField` |
108108
| project-builder-lib | `src/plugins/plugins.test-utils.ts` | `createTestPluginMetadata`, `createTestMigration` |
109-
| project-builder-lib | `src/references/expression-stub-parser.test-helper.ts` | `stubParser`, `StubParserWithSlots` |
109+
| project-builder-lib | `src/testing/expression-stub-parser.test-helper.ts` | `stubParser`, `StubParserWithSlots` |
110110
| code-morph | `src/morphers/tests/morpher.test-helper.ts` | `runMorpherTests` |
111111
| project-builder-server | `src/tests/chokidar.test-helper.ts` | `MockFSWatcher`, `emitMockFsWatcherEvent` |
112112
| project-builder-cli | `e2e/fixtures/server-fixture.test-helper.ts` | Playwright test fixtures (`test`, `addProject`) |
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@baseplate-dev/utils': patch
3+
---
4+
5+
Add `immutableSet` utility for immutable deep updates to objects and arrays.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@baseplate-dev/project-builder-server': patch
3+
'@baseplate-dev/project-builder-lib': patch
4+
'@baseplate-dev/project-builder-dev': patch
5+
---
6+
7+
Add MCP actions for reading and writing project definition entities, including draft session support for staging changes before committing.

0 commit comments

Comments
 (0)