Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Fail CI when the generated JSON Schema is out of date

Open Beginner friendly
#41 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, typescript
Domain
ci-cd

Research direction

Read the “Prompt kit is up to date” job in .github/workflows/ci.yml and the schema command in packages/cli/src/commands/schema.ts. Run npm run schema to see which files it generates, then add a CI check that runs the command and fails on git diff --exit-code schema/, with a message explaining how to regenerate the schema. Done when CI passes on main and fails when schema.ts changes without updating the generated schema.

Written by the indexing model from the issue text.

Description

area: infra good first issue priority: low type: chore

Context

schema/lexvm-pack-1.schema.json is generated from the zod schema by npm run schema, and editors validate packs against it. Unlike prompts/ (CI job "Prompt kit is up to date"), nothing checks that it is current, so a schema change without regeneration ships a stale editor schema.

Scope

  • A CI job modelled on the prompts job: run npm run schema, then fail on git diff --exit-code schema/ with a message that says how to fix it.

Acceptance criteria

  • CI fails on a commit that changes packages/engine/src/schema.ts without regenerating schema/ (shown in the pull request).
  • CI passes on main.

References

  • .github/workflows/ci.yml
  • schema/lexvm-pack-1.schema.json
  • packages/cli/src/commands/schema.ts
  • CONTRIBUTING.md (Changing the content pack format)
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
28m
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nullthrone/lexvm

All issues in nullthrone/lexvm

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.