@antelopejs/core 1.15.2 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,112 +1,97 @@
1
1
  <div align="center">
2
+ <img src="./.github/assets/logo.png" alt="AntelopeJS logo" width="88">
2
3
  <h1>AntelopeJS</h1>
4
+ <p><strong>Hexagonal architecture, beyond your own code.</strong></p>
3
5
 
4
- <a href="https://www.npmjs.com/package/@antelopejs/core"><img alt="NPM version" src="https://img.shields.io/npm/v/@antelopejs/core.svg?style=for-the-badge&labelColor=000000"></a>
5
- <a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/core.svg?style=for-the-badge&labelColor=000000"></a>
6
- <a href="https://discord.gg/sjK28QHrA7"><img src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000" alt="Discord"></a>
7
- <a href="https://antelopejs.com"><img src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000" alt="Documentation"></a>
6
+ <a href="https://www.npmjs.com/package/@antelopejs/core"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/core?style=for-the-badge&labelColor=000000&color=000000"></a>
7
+ <a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/core?style=for-the-badge&labelColor=000000&color=000000"></a>
8
+ <a href="https://discord.gg/sjK28QHrA7"><img alt="Discord" src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000"></a>
9
+ <a href="https://framework.antelopejs.com/docs/get-started/introduction"><img alt="Docs" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000"></a>
8
10
 
9
11
  </div>
10
12
 
11
- ## Hexagonal architecture. Beyond your own code.
13
+ AntelopeJS is a TypeScript framework and CLI for Node.js applications. It extends the ports-and-adapters model from your own code to the modules you install: business modules depend on contracts, provider modules implement them, and the application picks which provider runs.
12
14
 
13
- AntelopeJS is a TypeScript framework and CLI for Node.js applications. It extends the ports-and-adapters model across your application and the ecosystem modules you install: consumers depend on explicit contracts, provider modules implement them, and your application selects the implementations.
15
+ <p align="center">
16
+ <img src="./.github/assets/contract-model.svg" alt="A business module depends on the database contract; the MongoDB and RethinkDB modules implement it; antelope.config.ts selects MongoDB." width="880">
17
+ </p>
14
18
 
15
- You already separate business behavior from integrations. AntelopeJS supplies the interface binding, module lifecycle and assembly mechanisms, so you do not have to rebuild that infrastructure for each project.
19
+ ## Why AntelopeJS
16
20
 
17
- ## One contract model, across the ecosystem
21
+ - **Contracts, not imports.** A module imports interface packages such as [`@antelopejs/interface-database`](https://github.com/AntelopeJS/interface-database), never another module's files.
22
+ - **Providers you can swap.** [`@antelopejs/mongodb`](https://github.com/AntelopeJS/mongodb) and [`@antelopejs/rethinkdb`](https://github.com/AntelopeJS/rethinkdb) implement the same database contract; `antelope.config.ts` chooses one, from npm, Git or a local folder.
23
+ - **A runtime that wires them.** The core binds every interface to its provider, queues calls until the provider is ready, and runs each module's `construct`, `start`, `stop` and `destroy` steps.
24
+ - **Hot reload in development.** `ajs project dev --watch` reloads a changed module without restarting the others.
25
+ - **One CLI.** `ajs` creates projects and modules, adds providers, runs tests, and builds and starts the application. It can also run embedded in a host application through `createRuntime`.
18
26
 
19
- The dependency boundary stays the same whether you write the provider or install it:
27
+ A replacement provider leaves consuming code unchanged only when it supports the contract version and behavior that code relies on. Configuration, credentials and data migrations still need your attention.
20
28
 
21
- ```text
22
- Business module ──depends on──▶ Contract ◀──implements── Provider module
23
- ```
24
-
25
- - **Contracts describe capabilities.** Interface packages expose the public API that consumers and implementations agree on.
26
- - **Providers own integrations.** A provider module registers its implementation with the runtime. Consumers call the contract instead of importing that provider.
27
- - **The application owns the choice.** Configure local, package or Git module sources in `antelope.config.ts`, outside consuming business modules.
28
- - **The runtime handles the connections.** AntelopeJS manages interface bindings and module lifecycle through the same mechanisms for local and ecosystem modules.
29
-
30
- For example, the [MongoDB](https://github.com/AntelopeJS/mongodb) and [RethinkDB](https://github.com/AntelopeJS/rethinkdb) modules both declare the shared [database contract](https://github.com/AntelopeJS/interface-database). They also expose provider-specific interfaces: using those deliberately ties that consumer to the provider.
31
-
32
- ## Change implementations, with explicit limits
33
-
34
- A replacement can leave consuming code unchanged when it supports the required contract version, capabilities and behavior. Provider configuration, credentials, data migrations and operational differences still need attention. Matching types alone does not establish compatibility.
35
-
36
- AntelopeJS provides the mechanisms for these boundaries; it does not prevent your code from bypassing them. Consumers still depend on their contracts, and the framework does not automatically make your business code framework-independent.
37
-
38
- Development hot module reloading is a separate workflow feature, not a promise of live production migration between providers.
29
+ ## Install
39
30
 
40
- ## Installation
41
-
42
- Install `@antelopejs/core`, which provides the `ajs` CLI:
31
+ AntelopeJS requires Node.js 20.19 or later. Install the CLI globally:
43
32
 
44
33
  ```bash
45
34
  pnpm add -g @antelopejs/core
46
35
  ```
47
36
 
48
- ## Getting Started
37
+ ## Quick start
49
38
 
50
- To create a new project with the CLI:
39
+ Create a project with a first module, then run it in development mode:
51
40
 
52
41
  ```bash
53
- ajs project init <project-name>
42
+ ajs project init my-app
43
+ cd my-app
44
+ ajs project dev --watch
54
45
  ```
55
46
 
56
- ## Plugins
57
-
58
- Official plugins ship as separate global packages that add command groups to the `ajs` CLI. They are versioned and updated independently of the core.
59
-
60
- | Plugin | Package | Description |
61
- | ------ | -------------------------- | --------------------- |
62
- | `dms` | `@antelopejs/dms-frontend` | DMS frontend commands |
63
-
64
- Run a plugin command through the CLI:
47
+ Add a provider for an interface your module uses, or let the CLI find one for every unresolved interface:
65
48
 
66
49
  ```bash
67
- ajs dms <command>
50
+ ajs project modules add @antelopejs/mongodb
51
+ ajs project modules install
68
52
  ```
69
53
 
70
- If the plugin is not installed, the CLI offers to install it globally with the same package manager that installed `@antelopejs/core` (the answer defaults to No). You can also install it yourself:
54
+ ## Plugins
71
55
 
72
- ```bash
73
- pnpm add -g @antelopejs/dms-frontend
74
- ```
56
+ Official plugins add command groups to `ajs` and ship as separate global packages:
75
57
 
76
- Each plugin also installs its own executable, so package scripts can call it directly:
58
+ | Command | Package | Purpose |
59
+ | --------- | ------------------------------------------------------------------------ | ------------------------------------------ |
60
+ | `ajs dms` | [`@antelopejs/dms-frontend`](https://github.com/AntelopeJS/dms-frontend) | Develop, build and deploy the DMS frontend |
77
61
 
78
- ```bash
79
- ajs-dms <command>
80
- ```
62
+ When a plugin is missing, `ajs` offers to install it with the package manager that installed the CLI. `ajs plugins` lists the official plugins and `ajs update` updates the CLI with every installed plugin.
81
63
 
82
- Arguments, exit codes and termination signals pass through unchanged in both forms.
64
+ ## Agent skills
83
65
 
84
- List the official plugins and see which ones are installed:
66
+ `@antelopejs/core` ships the framework's agent skills in `skills/`, declared under `antelopeJs.skills`: `antelopejs` (the mental model and router), `ajs-cli`, `ajs-consume-interface` and `ajs-author-interface`. They follow the core version a project installs. The [AntelopeJS agent skills](https://github.com/AntelopeJS/agent-skills) sync links them, like every package-shipped skill, into a project's `.claude/skills/` and `.agents/skills/`, and the DMS assistant (`@antelopejs/dms-ai`) loads them on its own.
85
67
 
86
- ```bash
87
- ajs plugins
88
- ```
68
+ ## Documentation
89
69
 
90
- Keep the CLI and its plugins up to date:
70
+ - [Introduction](https://framework.antelopejs.com/docs/get-started/introduction): why the same boundaries matter across your application and its dependencies
71
+ - [Quick start](https://framework.antelopejs.com/docs/get-started/quick-start): create and run your first project
72
+ - [Architecture](https://framework.antelopejs.com/docs/get-started/architecture): contracts, implementations and application assembly
73
+ - [Interfaces](https://framework.antelopejs.com/docs/concepts/interfaces) and [modules](https://framework.antelopejs.com/docs/concepts/modules): define and implement a capability
74
+ - [Configuration](https://framework.antelopejs.com/docs/concepts/configuration): select module sources and configure providers
75
+ - [CLI cheat sheet](https://framework.antelopejs.com/docs/cli/cheat-sheet): every `ajs` command
76
+ - [Interface catalog](https://interfaces.antelopejs.com): the official contracts and their implementations
91
77
 
92
- ```bash
93
- ajs update # core plus every installed official plugin
94
- ajs update dms # a single plugin
95
- ```
78
+ ## Compatibility
96
79
 
97
- `ajs update` reuses the package manager that installed the CLI globally: npm, pnpm, or Yarn Classic (Yarn 1, `yarn global add`). It updates one package at a time and stops at the first failure. When the CLI is not installed globally (a project dependency or a source checkout), it refuses to touch a global installation and asks you to update `@antelopejs/core` in the project instead.
80
+ | Requirement | Version |
81
+ | ---------------------------------------------------------------------------- | ---------------- |
82
+ | Node.js | `>=20.19` |
83
+ | [`@antelopejs/interface-core`](https://github.com/AntelopeJS/interface-core) | `>=0.2.3 <0.3.0` |
98
84
 
99
- Plugins declare the core versions they support through `peerDependencies` on `@antelopejs/core`. When the installed plugin does not support the running CLI, the command stops with an error naming both versions instead of delegating.
85
+ ## Contributing
100
86
 
101
- ## Documentation
87
+ Read [CONTRIBUTING.md](./CONTRIBUTING.md) before you open a pull request. The local checks are:
102
88
 
103
- - [Introduction](https://antelopejs.com/docs/get-started/introduction) — Why the same boundaries matter across your application and its dependencies
104
- - [Quick Start](https://antelopejs.com/docs/get-started/quick-start) — Create your first project
105
- - [Architecture](https://antelopejs.com/docs/get-started/architecture) — Contracts, implementations and application assembly
106
- - [Interfaces](https://antelopejs.com/docs/concepts/interfaces) — Define and implement a capability
107
- - [Module configuration](https://antelopejs.com/docs/concepts/configuration) — Select module sources and configure implementations
108
- - [Explore the ecosystem](https://antelopejs.com/modules) — Find modules for your application
89
+ ```bash
90
+ pnpm install
91
+ pnpm lint
92
+ pnpm test
93
+ ```
109
94
 
110
95
  ## License
111
96
 
112
- This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
97
+ [Apache-2.0](./LICENSE)
@@ -1,4 +1,5 @@
1
1
  import { type PackageManagerName } from "../../package-manager-name";
2
+ import { type Template } from "../../git-operations";
2
3
  import { type Prompter } from "../../output";
3
4
  export interface ModuleInitOptions {
4
5
  git?: string;
@@ -16,5 +17,5 @@ export declare const TEMPLATE_FLAG = "--template <name>";
16
17
  export declare const PACKAGE_MANAGER_FLAG: string;
17
18
  export declare const YES_FLAG = "--yes";
18
19
  export declare const GIT_INIT_FLAG = "--[no-]git-init";
19
- export declare function moduleInitCommand(modulePath: string, options: ModuleInitOptions, context?: ModuleInitContext): Promise<void>;
20
- export declare function runModuleInit(modulePath: string, options: ModuleInitOptions): Promise<void>;
20
+ export declare function moduleInitCommand(modulePath: string, options: ModuleInitOptions, context?: ModuleInitContext): Promise<Template>;
21
+ export declare function runModuleInit(modulePath: string, options: ModuleInitOptions): Promise<Template>;
@@ -116,15 +116,16 @@ async function ensureDirectoryUsable(modulePath, isFromProject) {
116
116
  }
117
117
  await dirSpinner.succeed(`Directory is valid`);
118
118
  }
119
- async function askTemplate(prompter, options, templates) {
119
+ async function askTemplate(prompter, options, templates, isFromProject) {
120
120
  const name = await prompter.select({
121
- message: "Choose a template for your module",
121
+ message: `Choose a template for your ${isFromProject ? "project" : "module"}`,
122
122
  flag: exports.TEMPLATE_FLAG,
123
123
  answer: options.template,
124
124
  defaultAnswer: templates[0]?.name,
125
125
  choices: templates.map((template) => ({
126
126
  value: template.name,
127
127
  label: template.name,
128
+ hint: template.description,
128
129
  })),
129
130
  });
130
131
  const template = templates.find((candidate) => candidate.name === name);
@@ -173,7 +174,17 @@ async function askInterfaces(prompter, options, catalog) {
173
174
  }
174
175
  return names.map((name) => catalog[name]);
175
176
  }
176
- function askPackageManager(prompter, options) {
177
+ function askPackageManager(prompter, options, template) {
178
+ if (template.packageManager) {
179
+ if (options.pm && options.pm !== template.packageManager) {
180
+ throw new output_1.CliError({
181
+ title: `Template '${template.name}' requires ${template.packageManager}`,
182
+ fixes: [`Use --pm ${template.packageManager} or omit --pm`],
183
+ exitCode: exit_codes_1.USAGE_EXIT_CODE,
184
+ });
185
+ }
186
+ return Promise.resolve(template.packageManager);
187
+ }
177
188
  return prompter.select({
178
189
  message: "Which package manager would you like to use?",
179
190
  flag: exports.PACKAGE_MANAGER_FLAG,
@@ -201,12 +212,27 @@ function displayWizardWelcome(prompter) {
201
212
  detail: "Please select a template and provide the required information.",
202
213
  });
203
214
  }
204
- async function askModuleAnswers(prompter, options, git, manifest) {
205
- displayWizardWelcome(prompter);
206
- const template = await askTemplate(prompter, options, manifest.templates);
215
+ async function askTemplateInterfaces(prompter, options, git, manifest, template) {
216
+ if (manifest.projectTemplates?.includes(template) &&
217
+ options.interfaces === undefined) {
218
+ return [];
219
+ }
207
220
  const catalog = await loadInterfaceCatalog(git, manifest);
208
- const interfaces = await askInterfaces(prompter, options, catalog);
209
- const packageManager = await askPackageManager(prompter, options);
221
+ return askInterfaces(prompter, options, catalog);
222
+ }
223
+ async function askModuleAnswers(prompter, options, git, manifest, isFromProject) {
224
+ if (!isFromProject) {
225
+ displayWizardWelcome(prompter);
226
+ }
227
+ const templates = [
228
+ ...manifest.templates,
229
+ ...(isFromProject ? (manifest.projectTemplates ?? []) : []),
230
+ ];
231
+ const selected = templates.find((template) => template.name === options.template);
232
+ prompter.requireAnswers((0, output_1.missingFlags)({ ...options, pm: options.pm ?? selected?.packageManager }, MODULE_ANSWER_FLAGS));
233
+ const template = await askTemplate(prompter, options, templates, isFromProject);
234
+ const interfaces = await askTemplateInterfaces(prompter, options, git, manifest, template);
235
+ const packageManager = await askPackageManager(prompter, options, template);
210
236
  const isGitInitialized = await askGitInit(prompter, options);
211
237
  return { template, interfaces, packageManager, isGitInitialized };
212
238
  }
@@ -221,7 +247,7 @@ function addInterfaceDependencies(modulePath, interfaces) {
221
247
  const pkgJson = JSON.parse((0, node_fs_1.readFileSync)(pkgJsonPath, "utf8"));
222
248
  pkgJson.dependencies ??= {};
223
249
  packages.forEach((name) => {
224
- pkgJson.dependencies[name] = LATEST_VERSION;
250
+ pkgJson.dependencies[name] ??= LATEST_VERSION;
225
251
  });
226
252
  (0, node_fs_1.writeFileSync)(pkgJsonPath, `${JSON.stringify(pkgJson, null, JSON_INDENTATION)}\n`);
227
253
  (0, cli_ui_1.success)(`Added ${interfaces.length} interface(s) to dependencies`);
@@ -272,6 +298,12 @@ function displayModuleCreated(modulePath, answers, context) {
272
298
  (0, output_1.getProcessUi)().summary({
273
299
  headline: `Created module from template ${template}`,
274
300
  artifact: (0, output_1.displayPath)(node_path_1.default.resolve(modulePath)),
301
+ nextSteps: answers.template.nextSteps && [
302
+ ...(modulePath === CURRENT_DIRECTORY
303
+ ? []
304
+ : [{ command: `cd ${(0, output_1.displayPath)(node_path_1.default.resolve(modulePath))}` }]),
305
+ ...answers.template.nextSteps,
306
+ ],
275
307
  });
276
308
  }
277
309
  function modulePrompter(modulePath, options, context) {
@@ -288,12 +320,12 @@ async function moduleInitCommand(modulePath, options, context = {}) {
288
320
  const git = options.git || (await (0, common_1.readUserConfig)()).git;
289
321
  (0, common_1.displayNonDefaultGitWarning)(git);
290
322
  const manifest = await (0, output_1.runTask)("Loading templates", () => loadTemplates(git), {
291
- done: (loaded) => `Found ${loaded.templates.length} templates`,
323
+ done: (loaded) => `Found ${loaded.templates.length + (context.isFromProject ? (loaded.projectTemplates?.length ?? 0) : 0)} templates`,
292
324
  });
293
- prompter.requireAnswers((0, output_1.missingFlags)(options, MODULE_ANSWER_FLAGS));
294
- const answers = await askModuleAnswers(prompter, options, git, manifest);
325
+ const answers = await askModuleAnswers(prompter, options, git, manifest, Boolean(context.isFromProject));
295
326
  await createModule(modulePath, answers);
296
327
  displayModuleCreated(modulePath, answers, context);
328
+ return answers.template;
297
329
  }
298
330
  function runModuleInit(modulePath, options) {
299
331
  return moduleInitCommand(modulePath, options);
@@ -1 +1 @@
1
- {"version":3,"file":"init-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/module/init-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/module/init-action.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const node_path_1 = __importDefault(require("node:path"));
8
8
  const promises_1 = require("node:fs/promises");
9
9
  const init_action_1 = require("../module/init-action");
10
10
  const common_1 = require("../../common");
11
+ const config_paths_1 = require("../../../config/config-paths");
11
12
  const add_action_1 = require("./modules/add-action");
12
13
  const cli_ui_1 = require("../../cli-ui");
13
14
  const output_1 = require("../../output");
@@ -101,31 +102,40 @@ function moduleOptions(options) {
101
102
  };
102
103
  }
103
104
  async function createAppModule(projectPath, name, options, prompter) {
104
- await (0, init_action_1.moduleInitCommand)(projectPath, moduleOptions(options), {
105
+ const template = await (0, init_action_1.moduleInitCommand)(projectPath, moduleOptions(options), {
105
106
  isFromProject: true,
106
107
  prompter,
107
108
  });
109
+ if (await (0, promises_1.stat)(node_path_1.default.join(projectPath, config_paths_1.TS_CONFIG_FILE)).catch(() => false)) {
110
+ (0, output_1.getProcessUi)().message("info", "Kept the template's project configuration", {
111
+ detail: `Its name, modules and environment settings are preserved in ${config_paths_1.TS_CONFIG_FILE}.`,
112
+ });
113
+ return template;
114
+ }
108
115
  await createProjectConfig(projectPath, name);
109
116
  await (0, add_action_1.addModules)([PROJECT_ROOT_MODULE], {
110
117
  mode: LOCAL_MODULE_SOURCE,
111
118
  project: projectPath,
112
119
  });
120
+ return template;
113
121
  }
114
- function projectNextSteps(project, projectPath) {
122
+ function projectNextSteps(project, projectPath, template) {
115
123
  const changeDirectory = project === CURRENT_DIRECTORY
116
124
  ? []
117
125
  : [{ command: `cd ${(0, output_1.displayPath)(projectPath)}` }];
118
126
  return [
119
127
  ...changeDirectory,
120
- { command: INSTALL_COMMAND, description: INSTALL_DESCRIPTION },
121
- { command: DEV_COMMAND, description: DEV_DESCRIPTION },
128
+ ...(template?.nextSteps ?? [
129
+ { command: INSTALL_COMMAND, description: INSTALL_DESCRIPTION },
130
+ { command: DEV_COMMAND, description: DEV_DESCRIPTION },
131
+ ]),
122
132
  ];
123
133
  }
124
- function displayProjectCreated(project, projectPath, name) {
134
+ function displayProjectCreated(project, projectPath, name, template) {
125
135
  (0, output_1.getProcessUi)().summary({
126
136
  headline: `Created project ${(0, output_1.getProcessPalette)().bold(name)}`,
127
137
  artifact: (0, output_1.displayPath)(projectPath),
128
- nextSteps: projectNextSteps(project, projectPath),
138
+ nextSteps: projectNextSteps(project, projectPath, template),
129
139
  });
130
140
  }
131
141
  function projectPrompter(project, options) {
@@ -151,12 +161,13 @@ async function projectInitCommand(project, options = {}) {
151
161
  displayWelcome(prompter);
152
162
  const name = await askProjectName(prompter, options, projectPath);
153
163
  const appModule = await askAppModuleImport(prompter, options);
164
+ let template;
154
165
  if (appModule) {
155
166
  await importAppModule(projectPath, name, appModule);
156
167
  }
157
168
  else {
158
- await createAppModule(projectPath, name, options, prompter);
169
+ template = await createAppModule(projectPath, name, options, prompter);
159
170
  }
160
- displayProjectCreated(project, projectPath, name);
171
+ displayProjectCreated(project, projectPath, name, template);
161
172
  }
162
173
  //# sourceMappingURL=init-action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/init-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/init-action.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,19 @@
1
1
  import type { ModuleSource } from "@antelopejs/interface-core/config";
2
+ import type { NextStep } from "./output";
3
+ import type { PackageManagerName } from "./package-manager-name";
2
4
  export interface GitManifest {
3
5
  interfaces: Record<string, string>;
4
6
  starredInterfaces: string[];
5
7
  templates: Template[];
8
+ projectTemplates?: Template[];
6
9
  }
7
10
  export interface Template {
8
11
  name: string;
9
12
  repository: string;
10
13
  branch: string;
14
+ description?: string;
15
+ packageManager?: PackageManagerName;
16
+ nextSteps?: NextStep[];
11
17
  }
12
18
  export declare function loadManifestFromGit(git: string): Promise<GitManifest>;
13
19
  export interface InterfaceInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../../../src/core/cli/git-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../../../src/core/cli/git-operations.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,12 @@ function savePackageManagerToPackageJson(packageManager, directory = ".") {
115
115
  }
116
116
  try {
117
117
  const packageJsonContent = JSON.parse(node_fs_1.default.readFileSync(packageJsonPath, "utf8"));
118
+ const currentPackageManager = packageJsonContent.packageManager;
119
+ if (typeof currentPackageManager === "string" &&
120
+ currentPackageManager.match(PACKAGE_MANAGER_PATTERN)?.[1] ===
121
+ packageManager) {
122
+ return;
123
+ }
118
124
  const packageManagerWithVersion = getPackageManagerWithVersion(packageManager);
119
125
  packageJsonContent.packageManager = packageManagerWithVersion;
120
126
  node_fs_1.default.writeFileSync(packageJsonPath, JSON.stringify(packageJsonContent, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/core/cli/package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/core/cli/package-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,20 @@
1
1
  {
2
2
  "name": "@antelopejs/core",
3
- "version": "1.15.2",
3
+ "version": "1.16.0",
4
4
  "description": "TypeScript framework extending hexagonal architecture across your application and its ecosystem through explicit contracts and replaceable modules.",
5
5
  "keywords": [
6
6
  "antelopejs",
7
+ "cli",
7
8
  "framework",
9
+ "hexagonal-architecture",
8
10
  "modular",
11
+ "ports-and-adapters",
9
12
  "typescript"
10
13
  ],
14
+ "homepage": "https://framework.antelopejs.com",
15
+ "bugs": {
16
+ "url": "https://github.com/AntelopeJS/antelopejs/issues"
17
+ },
11
18
  "license": "Apache-2.0",
12
19
  "repository": {
13
20
  "type": "git",
@@ -17,7 +24,8 @@
17
24
  "ajs": "dist/core/cli/index.js"
18
25
  },
19
26
  "files": [
20
- "dist"
27
+ "dist",
28
+ "skills"
21
29
  ],
22
30
  "main": "dist/index.js",
23
31
  "types": "dist/index.d.ts",
@@ -54,7 +62,7 @@
54
62
  "test:embedded": "pnpm build && ts-node test/embedded/run.ts"
55
63
  },
56
64
  "dependencies": {
57
- "@antelopejs/interface-core": ">=0.2.3 <0.3.0",
65
+ "@antelopejs/interface-core": ">=0.2.4 <0.3.0",
58
66
  "@clack/prompts": "^1.8.1",
59
67
  "@types/proper-lockfile": "^4.1.4",
60
68
  "commander": "^13.1.0",
@@ -68,7 +76,7 @@
68
76
  "typescript": "^5.9.3"
69
77
  },
70
78
  "devDependencies": {
71
- "@antelopejs/tooling-configs": "^0.0.8",
79
+ "@antelopejs/tooling-configs": "^0.0.9",
72
80
  "@types/chai": "^4.3.20",
73
81
  "@types/mocha": "^10.0.10",
74
82
  "@types/node": "^22.19.15",
@@ -107,6 +115,9 @@
107
115
  "antelopeJs": {
108
116
  "implements": [
109
117
  "@antelopejs/interface-core"
118
+ ],
119
+ "skills": [
120
+ "./skills"
110
121
  ]
111
122
  }
112
123
  }
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: ajs-author-interface
3
+ description: Guides authoring or versioning an AntelopeJS interface package itself (@antelopejs/interface-*). Use when editing an interface's contract surface, defining a new interface, or deciding whether a change is breaking and which version to bump.
4
+ ---
5
+
6
+ # Authoring & versioning interfaces
7
+
8
+ An interface is a **versioned contract** shipped as `@<scope>/interface-<name>` (`@antelopejs/…` for the official ones). Its public surface IS the contract: the `exports` subpaths plus the `.d.ts` they point to. Changing that surface is changing the contract — treat it with the discipline of a public API.
9
+
10
+ ## Anatomy of an interface package
11
+
12
+ ```
13
+ interface-<name>/
14
+ src/index.ts # barrel (named re-exports in practice; AGENTS.md prefers `export * from`)
15
+ src/<area>.ts # contract surface, grouped by concern (one subpath each)
16
+ src/antelope.test.ts # test entry (referenced by package.json `antelopeJs.test`)
17
+ dist/*.d.ts # built contract — what consumers actually type-check against
18
+ docs/ # hand-written guides (numbered files or directories)
19
+ skills/ # package-shipped skill(s) synced to consumers (package.json `antelopeJs.skills` + `files`) — update when the contract changes
20
+ package.json # `exports` (plus `typesVersions` in older packages) define the subpath surface
21
+ ```
22
+
23
+ The core tells an interface package from a runtime module by `antelopeJs.implements`: absent or `[]` means interface package (depending on it requires a provider), a list means runtime module. Keep it empty in an interface package.
24
+
25
+ An interface can also start **embedded** in the module that implements it (`src/interface/`, exported as `<module>/interface`, with the module listing its own package in `implements`). Extract it to a standalone `interface-<name>` package once a second implementation appears.
26
+
27
+ Each `exports` subpath is an import consumers pin to — add subpaths deliberately, and keep each one cohesive. Inspect any existing interface's shape as a template with the resolver (`/antelopejs:interface <name> [subpath]` runs `show` and `contract` when the antelopejs plugin is installed):
28
+
29
+ ```bash
30
+ npx -y github:AntelopeJS/agent-skills interface show <name>
31
+ npx -y github:AntelopeJS/agent-skills interface contract <name> [subpath]
32
+ ```
33
+
34
+ ## Declaring contract members
35
+
36
+ At the boundary, the contract is built from core primitives (see `contract core`):
37
+
38
+ - `InterfaceFunction<Signature>()` — a callable the implementing module attaches to and the provider must implement. Its result is always resolved asynchronously (calls queue until a provider attaches), so design these as async/promise-returning — never a signature that implies a synchronous, provider-config-dependent return.
39
+ - `EventProxy` / `RegisteringProxy` — event and registration attachment points across the boundary.
40
+ - Exported `type`/`interface`/`class` — the data shapes that cross the boundary.
41
+
42
+ But an interface is **not limited to proxy points** — it can (and often should) ship real consumer-side code built over them: chainable builders, helpers, validation, convenience classes. The `database` interface is mostly `Table`/`Query`/`Datum` classes whose methods assemble work locally and only hit a proxy (`RunQuery`) at execution. The rule that enables clean attach/detach on reload isn't "no code" — it's that **the only things that actually cross to the provider are the proxy points**; everything else runs in the caller. Keep signatures explicit (no anonymous inline types — define named interfaces). Add TSDoc to every public member; that TSDoc is what consumers read via `contract`.
43
+
44
+ **Interfaces may build on other interfaces.** Importing another `@antelopejs/interface-*` package to compose contracts is expected (e.g. `data-api` builds on `api`, `api-util`, `core`, `database`, and `database-decorators` — as `peerDependencies`). When you do, that dependency's version becomes part of your own compatibility surface — a breaking change there can force a bump here.
45
+
46
+ ## Versioning the contract surface
47
+
48
+ Versions are git tags (`v<version>`), cut with release-it (`.release-it.json`, changelog via the release-it-changelogen plugin). Classify every change by its effect on existing consumers:
49
+
50
+ | Change | Effect |
51
+ | --- | --- |
52
+ | Add a new optional member, new subpath, new event — existing code keeps compiling & behaving | additive |
53
+ | Remove/rename a member, change a signature, tighten a type, change runtime semantics of an existing call | **breaking** |
54
+ | Doc/comment/internal-only change, no surface delta | none |
55
+
56
+ Verify the surface delta mechanically before tagging. Read the *current* contract with the resolver, and diff the committed source against the previous tag. Note `dist/` is gitignored — only `src/` is in git, so diff `src/` (where the exported declarations and their TSDoc live), not the built `.d.ts`:
57
+
58
+ ```bash
59
+ npx -y github:AntelopeJS/agent-skills interface contract <name> [sub] # inspect the current surface
60
+ git -C <interface-repo> diff <prev-tag> HEAD -- src/ # what changed since the last release
61
+ ```
62
+
63
+ If the diff removes or changes any existing exported declaration, it's a breaking change. When in doubt, it's breaking.
64
+
65
+ ## Shipping breaking changes without breaking consumers
66
+
67
+ Because consumers pin a version, prefer **additive evolution** over mutation:
68
+
69
+ - Add the new member alongside the old; deprecate the old with TSDoc `@deprecated` rather than deleting it in the same release.
70
+ - Reserve a real removal for a deliberate major release, and note it in `CHANGELOG.md`.
71
+ - A provider module must implement the full contract surface of the version it exports — when you add a required member, that's breaking for providers too, not just consumers.
72
+
73
+ ## Building & publishing
74
+
75
+ Repo-wide coding conventions: see the **antelopejs** skill (and each repo's `AGENTS.md`). Publishing rebuilds via the `prepack` hook, but build locally too (`pnpm build`) so `dist/*.d.ts` — the contract consumers see — stays current for local tooling.
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: ajs-cli
3
+ description: Guides running the `ajs` CLI (projects, modules, config, plugins, update). Use when creating, running, building, testing, or managing modules in an AntelopeJS project, listing or updating CLI plugins, when the user asks what an `ajs` command does, or when starting AntelopeJS inside an existing Node.js server (AdonisJS, Express, Fastify) with `createRuntime`, where `ajs project` does not apply. Everything under `ajs dms` belongs to the dms-frontend skill.
4
+ ---
5
+
6
+ # The `ajs` CLI
7
+
8
+ `ajs` is the entry point to the AntelopeJS core (the global `@antelopejs/core` package). Command groups: `project`, `module`, `config`, plus `update` and `plugins`. Run any command with `--help` for current flags and examples; this skill covers the workflows. **Always pnpm**, never npm/yarn, in these projects.
9
+
10
+ ## Projects
11
+
12
+ ```bash
13
+ ajs project init <path> # new project: antelope.config.ts + a first module (imported or from a template)
14
+ ajs project dev # download/install modules, load & connect them, run (former name: ajs project run)
15
+ ajs project dev --watch # reload modules when their files change (-w)
16
+ ajs project dev -e production # select an environment of antelope.config.ts (env: ANTELOPEJS_LAUNCH_ENV)
17
+ ajs project dev -i # REPL with the project loaded
18
+ ajs project dev --inspect # Node inspector (default 127.0.0.1:9229)
19
+ ajs project build # download & install modules, check they load, write .antelope/build/build.json
20
+ ajs project start # launch from the build artifact; --refresh-config re-resolves the config at start
21
+ ajs project logging show|set # view/change logging settings
22
+ ```
23
+
24
+ `dev` resolves and wires the module graph every run; `start` trusts a prior `build`. Use `build` + `start` in production/CI, `dev --watch` while developing. `dev` and `start` accept `-c, --concurrency <number>`. `start --refresh-config` exits with code `3` when the configured module set differs from the build: rebuild then.
25
+
26
+ `init` asks its questions interactively; in scripts and CI answer them with flags (`--name`, `-t/--template`, `--interfaces a,b`, `--pm pnpm`, `--git-init`/`--no-git-init`) or accept defaults with `-y`. Without a terminal, an unanswered question exits with code `2` before anything is written.
27
+
28
+ ## Modules in a project
29
+
30
+ ```bash
31
+ ajs project modules list # configured modules + their sources (alias: ls; -j for JSON)
32
+ ajs project modules add <modules...> # add & download modules you name (-m, --mode package|git|local|dir; default package = npm)
33
+ ajs project modules remove <modules...> # remove from config (alias: rm; -f, --force)
34
+ ajs project modules update [modules...] # bump npm modules to their latest versions (--dry-run)
35
+ ajs project modules install # add a provider module for every unresolved interface (-y: never ask)
36
+ ```
37
+
38
+ `add` in package mode accepts `<name>@<exact|range|dist-tag>`; without a spec it writes a caret range of the latest version. `add` does no interface resolution.
39
+
40
+ `modules install` (not `add`) fixes **unresolved imports**, and despite its name it installs no npm dependencies: it finds the interfaces no loaded module implements, looks up their implementing modules in the interface repository, and writes the chosen one into `antelope.config.ts`. A single implementer is added without a question; with several it asks, or takes the first with `-y`.
41
+
42
+ Modules declared in `antelope.config.ts` are downloaded into `.antelope/cache` by `dev`, `build`, and `modules add`; a module's own npm dependencies install inside its cache folder.
43
+
44
+ ## Embedded mode: no `ajs project`
45
+
46
+ In **embedded** mode the host application (AdonisJS, Express, Fastify…) owns the process and starts the runtime itself with `createRuntime({ projectFolder, modules, uses })` from `@antelopejs/core`, calling `start()` and `stop()` from its own lifecycle (in AdonisJS, a service provider). Recognize it before running any `ajs project` command: **no `antelope.config.*`**, and a host file calls `createRuntime`.
47
+
48
+ - **No `ajs project …`**: `dev`, `build`, `start`, `modules add|remove|install` and `logging` need `antelope.config.ts` and do not apply. `envOverrides` and `environments` do not exist; configure modules in host code.
49
+ - **Modules are listed in code**, as keys of the `modules` map (`'@antelopejs/mongodb': { config: { ... } }`). To add one, `pnpm add` it (modules resolve from the host's `node_modules` or a local path, never `.antelope/cache`), add its key to the map, and restart the host.
50
+ - **No hot reload**: the runtime forces `dev: false`, so modules apply their production behaviour (e.g. `@antelopejs/api` needs `publicBaseUrl` and listens on its own port). In a DMS app, `ajs dms dev` does not work either: build and start the dashboard (the **dms-project** skill).
51
+ - Host code reaches an interface through `runtime.use("<interface package>")`, never a plain `import` of `@antelopejs/interface-*`.
52
+ - `ajs module init` and `ajs module test` still work on module folders.
53
+
54
+ Guide: <https://framework.antelopejs.com/docs/guides/embedded-runtime>.
55
+
56
+ ## Authoring a module
57
+
58
+ ```bash
59
+ ajs module init <path> # scaffold a module from a template (same flags as project init: -t, --interfaces, --pm, -y)
60
+ ajs module test [path] # run the module's tests (-f, --file <path>, repeatable)
61
+ ```
62
+
63
+ `ajs module test` reads the module's `antelopeJs.test` entry (e.g. `src/antelope.test.ts`) as a test *config* (`folder`, `setup`, `cleanup`) and runs the test files found there. `init` and `test` are the only `ajs module` subcommands.
64
+
65
+ A module's `package.json` carries an `antelopeJs` block (it can also live in a dedicated `antelope.module.json`). The interface-relevant fields are `implements` (the interface packages this module *provides*, e.g. `["@antelopejs/interface-database"]`) and `test` (the test entry); the others are `defaultConfig`, `configVars` (config variables the module publishes), `baseUrl`, `paths`, `moduleAliases`, and `skills` (the agent skills it ships, see **antelopejs**). Interfaces a module *consumes* are ordinary `dependencies` (or `optionalDependencies`), not a manifest field; see **ajs-consume-interface**.
66
+
67
+ ## Plugins
68
+
69
+ Official plugins add command groups. Everything under `ajs dms` (the DMS frontend, `@antelopejs/dms-frontend`) belongs to the **dms-frontend** skill that package ships ([docs](https://dms.antelopejs.com/docs/frontend/cli/overview)). A plugin resolves from the nearest `node_modules/.bin` first, then `PATH`; a project that lists it in its dependencies always runs its own version. `ajs plugins` lists them with version, source, and compatibility; `ajs help dms` shows a plugin's help.
70
+
71
+ ## Config
72
+
73
+ ```bash
74
+ ajs config show|get|set|reset # CLI settings; the only key is `git` (the interface repository URL)
75
+ ```
76
+
77
+ The interface repository defaults to `https://github.com/AntelopeJS/interfaces.git`; a non-official URL triggers a warning. Override per command with `-g, --git <url>` (env: `ANTELOPEJS_GIT`) on `modules install` and `module init`.
78
+
79
+ ## Common flags and output
80
+
81
+ Global: `--verbose[=channels]` (TRACE logs, stack traces, full output of failed commands; env `ANTELOPEJS_VERBOSE`), `-q, --quiet` (results, warnings and errors only), `--no-color`. Per command: `-p, --project <path>` (env `ANTELOPEJS_PROJECT`), `-e, --env` (env `ANTELOPEJS_LAUNCH_ENV`), `-j, --json` on the read commands (`modules list`, `logging show`, `config show|get`, `plugins`). Results go to stdout, progress and errors to stderr. Exit codes: `0` ok, `1` failure, `2` usage error, `3` refreshed config differs from the build, `130` cancelled. When a command misbehaves, re-run it with `--verbose` before guessing.
82
+
83
+ `ajs update` updates a global CLI install and its global plugins (`ajs update dms` for one plugin); plugins installed in a project are updated with pnpm instead.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: ajs-consume-interface
3
+ description: Guides consuming or providing an interface from an AntelopeJS module. Use when writing module code that imports and calls an interface or implements one with ImplementInterface, or when interface imports fail to resolve.
4
+ ---
5
+
6
+ # Consuming & providing interfaces
7
+
8
+ For the framework mental model, see the **antelopejs** skill. This skill is the consumer/provider workflow.
9
+
10
+ ## Before writing any interface call: resolve the contract
11
+
12
+ Do not guess method names or signatures — they are versioned and change. Look them up with the resolver (`/antelopejs:interface <name> [subpath]` runs `show` and `contract` when the antelopejs plugin is installed):
13
+
14
+ ```bash
15
+ npx -y github:AntelopeJS/agent-skills interface show <name> # surface + versions
16
+ npx -y github:AntelopeJS/agent-skills interface contract <name> [sub] # full TSDoc'd contract
17
+ ```
18
+
19
+ Each `import "@antelopejs/interface-<name>/<sub>"` line in the output is a literal import you can paste.
20
+
21
+ **Package-shipped skills first, for installed interfaces.** Interface packages may ship their own skill (declared via `antelopeJs.skills`), synced into the project's `.claude/skills/` (`.agents/skills/` in Codex) as `<package-short-name>--<skill>` and loaded by dms-ai. For an interface that is already **installed**, prefer that skill plus the installed package's own `dist/*.d.ts` and `docs/` directory — that is exactly the version the project compiles against. Use the resolver for interfaces **not yet installed**, for discovering what exists (`list`), and for comparing versions (`versions`, `show <name>@<version>`).
22
+
23
+ **The one hard rule:** a module never imports another module's files — only interfaces. Every cross-module link is an attachment onto an interface proxy point, so the core can detach and reattach it on reload. If you're tempted to `import` something from a sibling module, the thing you need belongs in an interface instead.
24
+
25
+ ## Importing an interface in a module
26
+
27
+ 1. Add the interface package to the module's `dependencies` (`pnpm add @antelopejs/interface-<name>`). Consuming an interface is just depending on its package.
28
+ 2. Import the symbols and call them, exactly as `contract`/`show` reported. `InterfaceFunction` calls made before a provider attaches are queued by the proxy layer, so no defensive "not ready yet" checks — but for the same reason every such call is **async**: `await` it, never read it as a synchronous value at module-load top level. (`RegisteringProxy.register` is synchronous and also queues; `EventProxy.emit` is synchronous and does *not* queue — an emit before attach reaches nobody.) Queuing assumes a provider *will* attach: a required dependency with no provider fails startup first (see *Resolving unresolved imports*); one that may legitimately lack a provider is an *optional* interface (see *Optional interfaces*).
29
+
30
+ ```ts
31
+ import { Table } from "@antelopejs/interface-database/selection";
32
+ // ...use the contract exactly as `contract` reported it
33
+ ```
34
+
35
+ A consumed interface only *resolves* at runtime if some loaded module in the project provides it — otherwise it's an unresolved import (see below).
36
+
37
+ ## Providing (implementing) an interface
38
+
39
+ A module that *provides* an interface declares its package name under `antelopeJs.implements` in `package.json` and calls `ImplementInterface`:
40
+
41
+ ```jsonc
42
+ // package.json
43
+ "antelopeJs": { "implements": ["@antelopejs/interface-database"] }
44
+ ```
45
+
46
+ ```ts
47
+ import { ImplementInterface } from "@antelopejs/interface-core";
48
+ import * as DBInterface from "@antelopejs/interface-database";
49
+
50
+ ImplementInterface(DBInterface, {
51
+ // implement every InterfaceFunction the contract declares — check with `contract`
52
+ });
53
+ ```
54
+
55
+ The proxy layer attaches the implementation on module load and detaches on unload/hot-reload — implement idempotently and clean up resources in the module's shutdown lifecycle.
56
+
57
+ ## Resolving unresolved imports
58
+
59
+ An interface in a module's `dependencies` is **required**: if no loaded module provides it, the runtime aborts startup with `Unresolved interface dependencies: …` rather than running in a half-wired state. When `ajs` reports unresolved imports, a module needs an interface that no loaded module provides. Run:
60
+
61
+ ```bash
62
+ ajs project modules install # adds a provider module for every unresolved interface
63
+ ```
64
+
65
+ `install` looks up each unresolved interface in the interface repository and adds an implementing module to `antelope.config.ts`: a single implementer is added without a question, several are offered as a choice (`-y` takes the first). (`ajs project modules add <modules...>` only adds modules you name explicitly; it does not resolve imports.) To see candidate providers for an interface:
66
+
67
+ ```bash
68
+ npx -y github:AntelopeJS/agent-skills interface implementations <name>
69
+ ```
70
+
71
+ ## Optional interfaces
72
+
73
+ To consume an interface that may legitimately have no provider, declare its package under top-level **`optionalDependencies`** in `package.json` instead of `dependencies` (it's the standard npm field, a sibling of `dependencies` — not part of the `antelopeJs` block). Import and call it exactly the same way.
74
+
75
+ The difference is what happens when nothing provides it. A missing **required** dependency aborts startup; a missing **optional** one lets startup proceed and the core *stubs* the interface:
76
+
77
+ - **async calls reject** immediately — `await`ing a stubbed method throws `Interface '<name>' has no provider for this async method; the call was rejected. Load a module that implements it to enable this call.` It does **not** queue or hang.
78
+ - **registering proxies keep queuing** — `register` calls are retained and replay if a provider is loaded later; **event emits reach nobody** while stubbed. Neither throws.
79
+ - a one-time **warning** is logged at startup: `Optional interface '<name>' has no provider; async calls on it will reject, sync usage will no-op.`
80
+
81
+ **Detecting whether an optional interface is implemented:** `GetInterfaceInstances(interfaceID)` (from `@antelopejs/interface-core`) returns the calling module's connections to the providers of an interface it declares in `dependencies` or `optionalDependencies`, so `GetInterfaceInstances(id).length > 0` is a valid guard. `try/catch` around the first `await` works too: the stub rejects deterministically with the message above and never hangs.
82
+
83
+ For a declared dependency, a call is either connected, rejected (stubbed optional), or startup-blocked (unprovided required) — with one caveat: startup only validates manifest-level `implements` lists, so a provider that declares an interface but omits one `InterfaceFunction` from its `ImplementInterface` call leaves that particular method's proxy unattached, and an `await` on it queues indefinitely. If a call hangs while the interface is otherwise connected, suspect a partially-implemented provider.
84
+
85
+ (A related case: an interface package whose own `package.json` sets `antelopeJs.standalone` self-hosts when no module implements it — same stubbing path, but treated as expected, so it's logged at trace level rather than warned. That's a property of the interface package, not of how you depend on it.)
86
+
87
+ ## Wiring & overriding in antelope.config
88
+
89
+ Modules are declared in `antelope.config.ts` (authored with `defineConfig` from `@antelopejs/interface-core/config`; read the full shape with `contract core config`): `modules: Record<string, string | AntelopeModuleConfig>` — a plain string is a version shorthand, otherwise `source` is one of `package`, `git`, `local`, `local-folder`. Per-module knobs that matter when consuming interfaces:
90
+
91
+ - `importOverrides` — force a specific source/provider for an interface, either as a list of `{ interface, source, id }` entries or a `{ interface: source }` shorthand map; e.g. to bind a consumer to a particular implementation when several exist.
92
+ - `disabledExports` — stop a module from providing an interface it would otherwise export.
93
+ - `exportPriority` — `{ "<interface package>": <number> }` on a provider: the highest becomes the default provider of that interface; a negative value keeps it from becoming the default by accident.
94
+ - `config` — module-specific configuration passed at load.
95
+
96
+ When several loaded modules implement the same interface, each consumer is bound to one of them: its own `importOverrides` pin, a pin carried down from a module above it, or the **default provider** (highest `exportPriority` for that interface on the provider's module entry, alphabetical on a tie, with a startup warning naming where one pin would settle it). Two paths that carry different bindings to the same module stop startup with an error naming that module: pin the interface there. Several `importOverrides` entries with an `id` give one module several connections; `GetInterfaceInstance(interfaceID, id).path` is what to `require()` for the copy bound to that connection.
97
+
98
+ Config values can reference what another module publishes with `${@<module>.<VAR_NAME>}` (the provider lists the names under `antelopeJs.configVars`), e.g. `apiBaseUrl: "${@api.API_PUBLIC_BASE_URL}"`. `envOverrides` maps environment variables onto config paths, and `environments` holds per-`--env` overrides.
99
+
100
+ ## Pinning interface versions
101
+
102
+ Interfaces are semver-tagged, but there is **no runtime version negotiation**: the core wires consumer to provider purely by interface *package name*. It evaluates the interface package once per provider it is bound to (modules bound the same way share one copy), so the proxies a consumer calls belong to its bound provider; your own npm-resolved copy is what you *typecheck* against, not necessarily what executes. Your `dependencies` range therefore governs the compile-time contract, which is exactly why it should match what the provider actually implements. Check what a project resolves vs. what's available:
103
+
104
+ ```bash
105
+ npx -y github:AntelopeJS/agent-skills interface versions <name>
106
+ ```
107
+
108
+ A consumer should target a contract version it has actually been checked against; when bumping across a breaking change, re-run `contract` and diff the surface (see **ajs-author-interface** for the compatibility rules that govern those bumps).
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: antelopejs
3
+ description: Gives the AntelopeJS mental model (a tight core and the `ajs` CLI orchestrating modules that talk only through versioned interfaces) and routes to the right skill. Use when working in an AntelopeJS project, module or interface repository (DMS projects included), or when the user mentions AntelopeJS. Routes to ajs-consume-interface, ajs-author-interface, ajs-cli, the interface contract resolver, and the skills synced from the project's packages.
4
+ ---
5
+
6
+ # AntelopeJS
7
+
8
+ AntelopeJS is a modular Node.js framework. Read this overview first, then jump to the specialized skill for the task.
9
+
10
+ ## The model in one screen
11
+
12
+ - **Core + CLI (`ajs`)** — a small runtime that loads modules, wires their interfaces together, and manages the dev/build/start lifecycle. Users rarely edit the core; they run it via `ajs` (modules declared in `antelope.config.ts`). It can also run **embedded** as a guest inside a host app that owns the process (`createRuntime` from `@antelopejs/core`, e.g. the AdonisJS DMS template): no `antelope.config.ts`, modules are plain npm dependencies, and host code reaches interfaces through `runtime.use("<interface package>[/subpath]")`, never by importing them.
13
+ - **Modules** — independent units of functionality. A module may import **interfaces**, never another module's files. Its *only* links to the rest of the project are the interface proxy points it attaches to — nothing else crosses the boundary.
14
+ - **Interfaces** — **versioned contracts**, usually published as standalone `@<scope>/interface-<name>` packages (a module may also start with an *embedded* interface it exports itself, e.g. `@acme/broker/interface`, and extract it once a second implementation appears). An interface package contains the **proxy points** (`InterfaceFunction`, `EventProxy`, `RegisteringProxy`, …) that actually cross to the provider, the **types** that pass across — and often substantial **client-side code** built over those proxies. It is not just empty slots: the `database` interface is mostly chainable `Table`/`Query`/`Datum` classes that assemble a query *in the caller's process*, crossing the boundary only when `.run()` invokes the underlying `RunQuery` proxy. The contract is the package's whole TypeScript surface (`exports` subpaths + `.d.ts`), versioned with semver git tags. **Interfaces may depend on other interfaces** (e.g. `data-api` builds on `api`, `api-util`, `core`, `database`, and `database-decorators`) — that composition is allowed and normal. What's forbidden is modules reaching into each other.
15
+
16
+ The golden rule: **the only connections between a module and the rest of the project go through interface proxy points** — never a direct `import` of another module's file. Everything else follows from that.
17
+
18
+ ### How a connection is made — and unmade
19
+
20
+ Every module-to-module link is built in exactly two steps:
21
+
22
+ 1. **The interface defines proxy points.** `InterfaceFunction`/`EventProxy`/`RegisteringProxy` objects are empty attachment slots — and the *only* things that cross to the provider. (`InterfaceFunction` is a factory over the underlying `AsyncProxy` primitive; all four are exported by `@antelopejs/interface-core`.) The package may wrap them in classes and helpers that run consumer-side (like `Query.run()` calling `RunQuery`), but that code is not the boundary; the proxy is.
23
+ 2. **The implementing module requires the interface and attaches its implementation onto those proxies** via `ImplementInterface`. Consumers require the same interface and call through the proxies; the proxy queues calls until an implementation is attached.
24
+
25
+ ```ts
26
+ // 1. Interface package declares the proxy point (no behavior, just the slot)
27
+ export const GetUser = InterfaceFunction<(id: string) => User>();
28
+
29
+ // 2. Implementing module requires the interface and attaches onto it
30
+ import { ImplementInterface } from "@antelopejs/interface-core";
31
+ import * as UserInterface from "@antelopejs/interface-user";
32
+ ImplementInterface(UserInterface, { GetUser: (id) => db.find(id) });
33
+
34
+ // Consumer requires the same interface and calls through the proxy
35
+ const user = await GetUser("42"); // queued until an implementation attaches
36
+ ```
37
+
38
+ Because every connection lives on a known proxy and nothing else crosses the boundary, the core can **detach and reattach a module's links freely** — that's exactly what makes a module safe to hot-reload (or unload) at runtime: tear down its proxy attachments, swap the code, reattach. A direct module-to-module `import` would be an invisible, non-detachable link and would break this — which is why it's forbidden.
39
+
40
+ **Caveat — what queues, and what's async.** The three proxy kinds behave differently before a provider attaches:
41
+
42
+ - `InterfaceFunction`/`AsyncProxy` calls **queue** and always return a Promise — nothing that returns a *value* from the provider can be synchronous. This rules out an interface function that *both* depends on a provider's state (e.g. its module config) *and* is callable synchronously at consumer load time; anything that needs a live implementation must be `await`ed.
43
+ - `RegisteringProxy.register` is a **synchronous** call that queues too: registrations made early are replayed when the provider attaches.
44
+ - `EventProxy.emit` is synchronous and does **not** queue — it reaches only the handlers registered at that moment; an emit before attach is simply not seen.
45
+
46
+ ## Where to go next
47
+
48
+ | Task | Skill |
49
+ | --- | --- |
50
+ | Build a module / app *on* AntelopeJS, import & call an interface, resolve unresolved imports | **ajs-consume-interface** |
51
+ | Define a new interface, add/version a contract, decide a semver bump, ship breaking changes | **ajs-author-interface** |
52
+ | Run, build, scaffold, test via the CLI (`ajs project …`, `ajs module …`) | **ajs-cli** |
53
+ | Run, build or deploy the DMS frontend (`ajs dms …`), write a frontend module | **dms-frontend** (synced from `@antelopejs/dms-frontend`) |
54
+
55
+ ## Skills shipped by the project's packages
56
+
57
+ Packages ship their knowledge as skills, declared under `antelopeJs.skills` in their `package.json`;
58
+ this skill and the `ajs-*` skills come from `@antelopejs/core` that way. Two mechanisms load them:
59
+
60
+ - **Coding agents** (Claude Code, Codex): the `antelopejs` plugin, or
61
+ `npx -y github:AntelopeJS/agent-skills sync`, links them as `<package-short-name>--<skill>` into the
62
+ project's `.claude/skills/` or `.agents/skills/`, from the workspace (source checkouts),
63
+ `node_modules`, and `.antelope/cache`. Run `/antelopejs:skills` (anywhere else:
64
+ `npx -y github:AntelopeJS/agent-skills list`) to see which skills are synced and which package
65
+ ships each one.
66
+ - **dms-ai** (the DMS assistant) loads the skills of every loaded module, of their dependencies,
67
+ and of the project's own dependencies by itself.
68
+
69
+ **DMS projects** get the DMS suite this way: `dms` (the DMS router; start there), `dms-project`,
70
+ `dms-module`, `dms-pages`, `dms-auth`, `dms-best-practices` from `@antelopejs/dms`, `dms-frontend`
71
+ (the `ajs dms` CLI and frontend modules) from `@antelopejs/dms-frontend`, plus one skill per
72
+ installed `dms-*` module (e.g. `dms-saas`). For DMS work, invoke `dms` first and follow
73
+ its routing. When those skills are missing, the dependencies are not installed yet: run
74
+ `pnpm install` (and `ajs project modules install` for modules declared in `antelope.config.ts`),
75
+ then `/antelopejs:sync-skills` (anywhere else: `npx -y github:AntelopeJS/agent-skills sync`).
76
+
77
+ ## Interface contract resolver (use this instead of guessing)
78
+
79
+ Contracts are versioned data, not memorized facts. Never invent an interface's methods — look them up
80
+ with the resolver (`/antelopejs:interface <name> [subpath]` runs `show` and `contract` when the antelopejs plugin is installed):
81
+
82
+ ```bash
83
+ # List interfaces published on npm (plus any installed locally)
84
+ npx -y github:AntelopeJS/agent-skills interface list
85
+
86
+ # Inspect one: export subpaths, exported symbols, available versions
87
+ npx -y github:AntelopeJS/agent-skills interface show database
88
+
89
+ # Print the full TSDoc'd contract for a subpath (the source of truth)
90
+ npx -y github:AntelopeJS/agent-skills interface contract database query
91
+
92
+ # A specific published version, and the list of available versions
93
+ npx -y github:AntelopeJS/agent-skills interface show database@<version>
94
+ npx -y github:AntelopeJS/agent-skills interface versions database
95
+ ```
96
+
97
+ The resolver reads contracts straight from the published `@antelopejs/interface-*` packages on
98
+ **npm** — no local checkout needed; it fetches and caches the package on demand. `<name>` accepts
99
+ `core`, `interface-core`, or `@antelopejs/interface-core`, optionally `@<version>` (default: the
100
+ `latest` dist-tag). Bare names resolve against the public scope plus any scope discovered from
101
+ the current project's dependencies (`@<scope>/interface-*` deps contribute their scope;
102
+ `AJS_INTERFACE_SCOPES` adds more). A locally-present copy (the project's `node_modules`,
103
+ `.antelope/cache`, or `$AJS_INTERFACES_DIR`) is used as an offline fast-path when available.
104
+ Flags: `--remote` (force a fresh npm fetch), `--offline` (local only). `npm` honours `.npmrc`,
105
+ so scopes served from private registries resolve too.
106
+
107
+ It also resolves interfaces exposed as **subpaths of a module package**: an embedded interface
108
+ (`<module>/interface`) or a host package exporting `./interfaces/<group>` (older DMS releases did
109
+ this). Use the full import path (`… show @acme/broker/interface`) or `<host-short-name>:<group>`;
110
+ hosts are discovered from the current project, and `AJS_DMS_PACKAGES` names extras.
111
+
112
+ When asked anything about a specific interface's API (what methods exist, a signature, which version has X), run `contract`/`show` and answer from the output — do not rely on training data, which goes stale as contracts version.
113
+
114
+ ## Conventions in AntelopeJS repos
115
+
116
+ These repos enforce (see any repo's `AGENTS.md`): **pnpm only** (never npm/yarn), English-only identifiers, no `switch`/`case` (use maps), no comments — self-documenting code, TSDoc allowed on public APIs — no inline/anonymous types, no magic values, functions ≤ ~40 lines. Index files: `AGENTS.md` prefers `export * from './module'`, though existing barrels mostly use named re-exports — match the file you're in.