Skip to content

chant dev onboard

chant dev onboard <name> [--verbose]

chant dev onboard patches the monorepo infrastructure to include a new lexicon in CI, Docker smoke tests, and the npm publish workflow. Run this after scaffolding a lexicon with chant init lexicon <name> and building out its implementation.

The command modifies 6 files:

FileChange
package.json (root)Adds @intentius/chant-lexicon-<name>: "workspace:*" to dependencies
tsconfig.json (root)Adds paths entries for @intentius/chant-lexicon-<name> and @intentius/chant-lexicon-<name>/*. The repo-wide typecheck uses moduleResolution: node, which ignores package exports maps, so without these the lexicon’s example fails to resolve
.github/workflows/chant.ymlAdds prepack lines to check/test jobs + a validate step
.github/workflows/publish.ymlAdds prepack line to test job (publishing needs no per-lexicon step — scripts/publish-packages.sh enumerates the workspace)
test/Dockerfile.smokeAdds <name> to the for lex in ... lexicon list
test/Dockerfile.smoke-npmAdds <name> to both for lex in ... lexicon lists

The command is idempotent. Running it again on an already-onboarded lexicon changes nothing and reports each file as already covered.

FlagDescription
--verboseShow detailed output
Terminal window
# Scaffold the lexicon
chant init lexicon terraform
# ... implement generate, serializer, rules, etc. ...
# Wire into CI
chant dev onboard terraform

After running dev onboard, you still need to:

  1. Create an example workspace under lexicons/<name>/examples/
  2. Add smoke tests to test/integration.sh
  3. Run npm install to update workspace links
  4. Run just release-lexicon <name> patch for the first release

See CI & Distribution for details.