Update the EventCatalog DSL specification across all locations — Langium grammar, specification markdown docs, playground examples, and tests. Use when making any change to DSL syntax, adding new DSL features, modifying grammar rules, or updating DSL documentation. Triggers on requests like "add X to the DSL", "update the grammar", "change DSL syntax for Y", or "spec change".
Apply a DSL specification change across all required locations. See references/spec-files.md for all file paths.
packages/language-server/src/ec.langiumpackages/language-server/src/test/ (or __tests__/)describe('Feature Name', () => {
it('should parse valid syntax', () => {
const dsl = `...valid DSL...`;
const result = parseDsl(dsl);
expect(result.parseErrors).toHaveLength(0);
});
it('should reject invalid syntax', () => {
const dsl = `...invalid DSL...`;
const result = parseDsl(dsl);
expect(result.parseErrors.length).toBeGreaterThan(0);
});
});
pnpm --filter @eventcatalog/language-server run test --runpackages/playground/src/examples.tspackages/playground/src/monaco/ec-completion.tspackages/sdk/src/dsl/ for functions that generate or parse DSL syntaxpackages/sdk/src/test/dsl.test.ts for DSL-related testspackages/language-server/src/ec.langium and confirm the grammar is consistent with what the spec now describespnpm --filter @eventcatalog/language-server run test --runpnpm run formatIMPORTANT: If you discover issues or inconsistencies in the specification that are outside the scope of the current change, do NOT fix them without first verifying with the user. Only make changes directly related to the requested spec change.
Ask clarifying questions if you need to know more details.