Blank TypeScript template for an AntelopeJS module.
The smallest AntelopeJS module in TypeScript, with the four lifecycle hooks, a build, and a test setup. It is the default template of ajs project init.
my-app/
├── src/
│ └── index.ts # construct, start, stop and destroy hooks
├── test/
│ └── example.test.ts # a Mocha test run by ajs module test
├── antelope.config.ts # written by ajs project init: the project loads this module
├── antelope.test.ts # test configuration, referenced by antelopeJs.test
├── package.json
└── tsconfig.json
Create a project from this template:
npx @antelopejs/core project init my-app --template blank-typescriptThe command copies the template, installs its dependencies, and writes an antelope.config.ts that loads the module from the project root. Run npx @antelopejs/core project init my-app without flags to answer the questions interactively.
cd my-app
npx @antelopejs/core project dev --watchThe project builds the module with tsc and rebuilds it when a file of src/ changes. pnpm dev runs the same command.
| Command | What it does |
|---|---|
pnpm dev |
Runs the project in watch mode |
pnpm build |
Builds the module into dist/ |
pnpm test |
Builds the module, starts it, and runs the test/*.test.ts files with ajs module test |
If you rename the module in package.json, rename it in antelope.config.ts and antelope.test.ts too.
- Quick start: what happens when a project starts.
- API routing: add HTTP routes.
- Modules: what the lifecycle hooks do.
- Interfaces: how modules talk to each other.
- Testing: write module tests.
Using Claude Code or Codex? Install the AntelopeJS agent skills plugin so your agent knows the framework and its CLI.
See CONTRIBUTING.md. Run pnpm install then pnpm run checks before you open a pull request. It runs the typecheck, lint, format, knip, the tests, and the guardrail checks, the same as CI.
This template belongs to AntelopeJS, the TypeScript framework where modules depend on contracts and the application chooses the provider. The open-source back office AntelopeJS DMS is built on it.