shift-ax 0.3.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/LICENSE +21 -0
- package/README.ko.md +145 -0
- package/README.md +143 -0
- package/dist/adapters/claude-code/adapter.js +90 -0
- package/dist/adapters/codex/adapter.js +94 -0
- package/dist/adapters/contracts.js +7 -0
- package/dist/adapters/index.js +12 -0
- package/dist/core/context/context-bundle.js +300 -0
- package/dist/core/context/discovery.js +82 -0
- package/dist/core/context/global-index-authoring.js +199 -0
- package/dist/core/context/global-knowledge-updates.js +116 -0
- package/dist/core/context/glossary.js +73 -0
- package/dist/core/context/guided-onboarding.js +233 -0
- package/dist/core/context/index-authoring.js +47 -0
- package/dist/core/context/index-resolver.js +78 -0
- package/dist/core/context/onboarding.js +186 -0
- package/dist/core/diagnostics/doctor.js +154 -0
- package/dist/core/finalization/commit-message.js +76 -0
- package/dist/core/finalization/commit-workflow.js +131 -0
- package/dist/core/memory/consolidation.js +99 -0
- package/dist/core/memory/decision-register.js +141 -0
- package/dist/core/memory/entity-memory.js +25 -0
- package/dist/core/memory/learned-debug.js +52 -0
- package/dist/core/memory/summary-checkpoints.js +9 -0
- package/dist/core/memory/thread-promotion.js +22 -0
- package/dist/core/memory/threads.js +66 -0
- package/dist/core/memory/topic-recall.js +52 -0
- package/dist/core/observability/context-health.js +15 -0
- package/dist/core/observability/context-monitor.js +29 -0
- package/dist/core/observability/state-handoff.js +78 -0
- package/dist/core/observability/topic-status.js +40 -0
- package/dist/core/observability/topics-status.js +26 -0
- package/dist/core/observability/verification-debt.js +82 -0
- package/dist/core/planning/brainstorm.js +120 -0
- package/dist/core/planning/escalation.js +69 -0
- package/dist/core/planning/execution-handoff.js +61 -0
- package/dist/core/planning/execution-launch.js +156 -0
- package/dist/core/planning/execution-orchestrator.js +87 -0
- package/dist/core/planning/feedback-reactions.js +75 -0
- package/dist/core/planning/lifecycle-events.js +45 -0
- package/dist/core/planning/plan-review.js +76 -0
- package/dist/core/planning/policy-context-sync.js +154 -0
- package/dist/core/planning/request-pipeline.js +386 -0
- package/dist/core/planning/workflow-state.js +18 -0
- package/dist/core/policies/project-profile.js +28 -0
- package/dist/core/policies/team-preferences.js +17 -0
- package/dist/core/review/aggregate-reviews.js +129 -0
- package/dist/core/review/run-lanes.js +376 -0
- package/dist/core/settings/global-context-home.js +28 -0
- package/dist/core/settings/project-settings.js +37 -0
- package/dist/core/shell/platform-shell.js +144 -0
- package/dist/core/topics/bootstrap.js +119 -0
- package/dist/core/topics/topic-artifacts.js +36 -0
- package/dist/core/topics/worktree-runtime.js +141 -0
- package/dist/core/topics/worktree.js +8 -0
- package/dist/platform/claude-code/bootstrap.js +66 -0
- package/dist/platform/claude-code/execution.js +157 -0
- package/dist/platform/claude-code/scaffold/CLAUDE.template.md +40 -0
- package/dist/platform/claude-code/scaffold/commands/doctor.template.md +11 -0
- package/dist/platform/claude-code/scaffold/commands/export-context.template.md +20 -0
- package/dist/platform/claude-code/scaffold/commands/onboard.template.md +43 -0
- package/dist/platform/claude-code/scaffold/commands/onboarding.template.md +43 -0
- package/dist/platform/claude-code/scaffold/commands/request.template.md +19 -0
- package/dist/platform/claude-code/scaffold/commands/resume.template.md +12 -0
- package/dist/platform/claude-code/scaffold/commands/review.template.md +10 -0
- package/dist/platform/claude-code/scaffold/commands/status.template.md +14 -0
- package/dist/platform/claude-code/scaffold/commands/topics.template.md +10 -0
- package/dist/platform/claude-code/scaffold/hooks/shift-ax-session-start.template.md +29 -0
- package/dist/platform/claude-code/tmux.js +35 -0
- package/dist/platform/claude-code/upstream/tmux/imported/detached-session.js +40 -0
- package/dist/platform/claude-code/upstream/tmux/imported/session-name.js +19 -0
- package/dist/platform/claude-code/upstream/worktree/imported/get-worktree-root.js +39 -0
- package/dist/platform/claude-code/upstream/worktree/imported/managed-worktree.js +77 -0
- package/dist/platform/claude-code/worktree.js +79 -0
- package/dist/platform/codex/bootstrap.js +69 -0
- package/dist/platform/codex/execution.js +163 -0
- package/dist/platform/codex/scaffold/AGENTS.template.md +40 -0
- package/dist/platform/codex/scaffold/prompts/doctor.template.md +11 -0
- package/dist/platform/codex/scaffold/prompts/export-context.template.md +20 -0
- package/dist/platform/codex/scaffold/prompts/onboard.template.md +43 -0
- package/dist/platform/codex/scaffold/prompts/onboarding.template.md +43 -0
- package/dist/platform/codex/scaffold/prompts/request.template.md +19 -0
- package/dist/platform/codex/scaffold/prompts/resume.template.md +14 -0
- package/dist/platform/codex/scaffold/prompts/review.template.md +10 -0
- package/dist/platform/codex/scaffold/prompts/shift-ax-bootstrap.template.md +23 -0
- package/dist/platform/codex/scaffold/prompts/status.template.md +14 -0
- package/dist/platform/codex/scaffold/prompts/topics.template.md +10 -0
- package/dist/platform/codex/scaffold/skills/doctor/SKILL.template.md +11 -0
- package/dist/platform/codex/scaffold/skills/export-context/SKILL.template.md +20 -0
- package/dist/platform/codex/scaffold/skills/onboard/SKILL.template.md +43 -0
- package/dist/platform/codex/scaffold/skills/request/SKILL.template.md +19 -0
- package/dist/platform/codex/scaffold/skills/resume/SKILL.template.md +14 -0
- package/dist/platform/codex/scaffold/skills/review/SKILL.template.md +10 -0
- package/dist/platform/codex/scaffold/skills/status/SKILL.template.md +14 -0
- package/dist/platform/codex/scaffold/skills/topics/SKILL.template.md +10 -0
- package/dist/platform/codex/tmux.js +45 -0
- package/dist/platform/codex/upstream/tmux/imported/resize-hook-registration.js +37 -0
- package/dist/platform/codex/upstream/tmux/imported/resize-hooks.js +29 -0
- package/dist/platform/codex/upstream/tmux/imported/sanitize-team-name.js +18 -0
- package/dist/platform/codex/upstream/worktree/imported/managed-worktree.js +208 -0
- package/dist/platform/codex/upstream/worktree/imported/resolve-repo-root.js +14 -0
- package/dist/platform/codex/worktree.js +99 -0
- package/dist/platform/index.js +10 -0
- package/dist/platform/product-shell-commands.js +17 -0
- package/dist/platform/scaffold.js +16 -0
- package/dist/platform/upstream-imports.js +5 -0
- package/dist/scripts/ax-approve-plan.js +30 -0
- package/dist/scripts/ax-bootstrap-assets.js +19 -0
- package/dist/scripts/ax-bootstrap-topic.js +24 -0
- package/dist/scripts/ax-build-context-bundle.js +35 -0
- package/dist/scripts/ax-checkpoint-context.js +22 -0
- package/dist/scripts/ax-consolidate-memory.js +7 -0
- package/dist/scripts/ax-context-health.js +26 -0
- package/dist/scripts/ax-decisions.js +32 -0
- package/dist/scripts/ax-doctor.js +25 -0
- package/dist/scripts/ax-entity-memory.js +19 -0
- package/dist/scripts/ax-export-context.js +8 -0
- package/dist/scripts/ax-finalize-commit.js +23 -0
- package/dist/scripts/ax-init-context.js +41 -0
- package/dist/scripts/ax-launch-execution.js +24 -0
- package/dist/scripts/ax-learned-debug-save.js +30 -0
- package/dist/scripts/ax-learned-debug.js +12 -0
- package/dist/scripts/ax-monitor-context.js +28 -0
- package/dist/scripts/ax-onboard-context.js +112 -0
- package/dist/scripts/ax-pause-work.js +33 -0
- package/dist/scripts/ax-platform-manifest.js +19 -0
- package/dist/scripts/ax-promote-thread.js +20 -0
- package/dist/scripts/ax-react-feedback.js +28 -0
- package/dist/scripts/ax-recall-topics.js +20 -0
- package/dist/scripts/ax-recall.js +58 -0
- package/dist/scripts/ax-refresh-state.js +15 -0
- package/dist/scripts/ax-resolve-context.js +34 -0
- package/dist/scripts/ax-review.js +24 -0
- package/dist/scripts/ax-run-request.js +198 -0
- package/dist/scripts/ax-scaffold-build.js +19 -0
- package/dist/scripts/ax-shell.js +123 -0
- package/dist/scripts/ax-sync-policy-context.js +40 -0
- package/dist/scripts/ax-team-preferences.js +20 -0
- package/dist/scripts/ax-thread-save.js +26 -0
- package/dist/scripts/ax-threads.js +11 -0
- package/dist/scripts/ax-topic-status.js +18 -0
- package/dist/scripts/ax-topics-status.js +22 -0
- package/dist/scripts/ax-verification-debt.js +22 -0
- package/dist/scripts/ax-worktree-create.js +22 -0
- package/dist/scripts/ax-worktree-plan.js +18 -0
- package/dist/scripts/ax-worktree-remove.js +18 -0
- package/dist/scripts/ax.js +132 -0
- package/package.json +71 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { dirname, join } from 'node:path';
|
|
6
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
const command = process.argv[2];
|
|
8
|
+
const args = process.argv.slice(3);
|
|
9
|
+
const compiledMode = existsSync(join(here, 'ax-shell.js'));
|
|
10
|
+
const shellMode = !command ||
|
|
11
|
+
command === '--codex' ||
|
|
12
|
+
command === '--claude-code' ||
|
|
13
|
+
command === '--lang' ||
|
|
14
|
+
command === '--root' ||
|
|
15
|
+
command === '--discover' ||
|
|
16
|
+
command === '--onboarding-input';
|
|
17
|
+
const commands = new Map([
|
|
18
|
+
['bootstrap-topic', 'ax-bootstrap-topic.ts'],
|
|
19
|
+
['resolve-context', 'ax-resolve-context.ts'],
|
|
20
|
+
['build-context-bundle', 'ax-build-context-bundle.ts'],
|
|
21
|
+
['init-context', 'ax-init-context.ts'],
|
|
22
|
+
['context-health', 'ax-context-health.ts'],
|
|
23
|
+
['monitor-context', 'ax-monitor-context.ts'],
|
|
24
|
+
['refresh-state', 'ax-refresh-state.ts'],
|
|
25
|
+
['pause-work', 'ax-pause-work.ts'],
|
|
26
|
+
['checkpoint-context', 'ax-checkpoint-context.ts'],
|
|
27
|
+
['thread-save', 'ax-thread-save.ts'],
|
|
28
|
+
['threads', 'ax-threads.ts'],
|
|
29
|
+
['promote-thread', 'ax-promote-thread.ts'],
|
|
30
|
+
['verification-debt', 'ax-verification-debt.ts'],
|
|
31
|
+
['learned-debug-save', 'ax-learned-debug-save.ts'],
|
|
32
|
+
['learned-debug', 'ax-learned-debug.ts'],
|
|
33
|
+
['consolidate-memory', 'ax-consolidate-memory.ts'],
|
|
34
|
+
['team-preferences', 'ax-team-preferences.ts'],
|
|
35
|
+
['entity-memory', 'ax-entity-memory.ts'],
|
|
36
|
+
['review', 'ax-review.ts'],
|
|
37
|
+
['worktree-plan', 'ax-worktree-plan.ts'],
|
|
38
|
+
['worktree-create', 'ax-worktree-create.ts'],
|
|
39
|
+
['worktree-remove', 'ax-worktree-remove.ts'],
|
|
40
|
+
['onboard-context', 'ax-onboard-context.ts'],
|
|
41
|
+
['export-context', 'ax-export-context.ts'],
|
|
42
|
+
['doctor', 'ax-doctor.ts'],
|
|
43
|
+
['run-request', 'ax-run-request.ts'],
|
|
44
|
+
['approve-plan', 'ax-approve-plan.ts'],
|
|
45
|
+
['sync-policy-context', 'ax-sync-policy-context.ts'],
|
|
46
|
+
['react-feedback', 'ax-react-feedback.ts'],
|
|
47
|
+
['finalize-commit', 'ax-finalize-commit.ts'],
|
|
48
|
+
['launch-execution', 'ax-launch-execution.ts'],
|
|
49
|
+
['topic-status', 'ax-topic-status.ts'],
|
|
50
|
+
['topics-status', 'ax-topics-status.ts'],
|
|
51
|
+
['recall-topics', 'ax-recall-topics.ts'],
|
|
52
|
+
['recall', 'ax-recall.ts'],
|
|
53
|
+
['decisions', 'ax-decisions.ts'],
|
|
54
|
+
['platform-manifest', 'ax-platform-manifest.ts'],
|
|
55
|
+
['bootstrap-assets', 'ax-bootstrap-assets.ts'],
|
|
56
|
+
['scaffold-build', 'ax-scaffold-build.ts'],
|
|
57
|
+
]);
|
|
58
|
+
if (shellMode) {
|
|
59
|
+
const child = compiledMode
|
|
60
|
+
? spawn(process.execPath, [join(here, 'ax-shell.js'), ...process.argv.slice(2)], {
|
|
61
|
+
stdio: 'inherit',
|
|
62
|
+
})
|
|
63
|
+
: spawn(process.execPath, ['--import', 'tsx', join(here, 'ax-shell.ts'), ...process.argv.slice(2)], {
|
|
64
|
+
stdio: 'inherit',
|
|
65
|
+
});
|
|
66
|
+
child.on('exit', (code) => {
|
|
67
|
+
process.exit(code ?? 1);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else if (!commands.has(command)) {
|
|
71
|
+
process.stderr.write([
|
|
72
|
+
'Shift AX CLI',
|
|
73
|
+
'',
|
|
74
|
+
'Shell launcher:',
|
|
75
|
+
' shift-ax --codex [--root DIR] [--lang en|ko] [--discover] [--overwrite] [--onboarding-input FILE] [initial prompt]',
|
|
76
|
+
' shift-ax --claude-code [--root DIR] [--lang en|ko] [--discover] [--overwrite] [--onboarding-input FILE] [initial prompt]',
|
|
77
|
+
' shift-ax # default launcher (Codex unless global settings choose another platform)',
|
|
78
|
+
'',
|
|
79
|
+
'Commands:',
|
|
80
|
+
' shift-ax bootstrap-topic --request "<text>" [--summary "<text>"] [--root DIR]',
|
|
81
|
+
' shift-ax resolve-context [--index PATH] --query "<text>" [--root DIR] [--max N]',
|
|
82
|
+
' shift-ax build-context-bundle [--root DIR] [--topic DIR] --query "<text>" [--max-chars N] [--output PATH]',
|
|
83
|
+
' shift-ax init-context [--root DIR] [--topic DIR] --query "<text>" [--max-chars N] [--workflow-step NAME] [--output PATH]',
|
|
84
|
+
' shift-ax context-health [--root DIR] [--topic DIR] --query "<text>" [--max-chars N]',
|
|
85
|
+
' shift-ax refresh-state [--root DIR] [--limit N]',
|
|
86
|
+
' shift-ax pause-work --topic DIR --summary "<text>" [--next-step "<text>"] [--command "<text>"]...',
|
|
87
|
+
' shift-ax checkpoint-context --topic DIR --summary "<text>"',
|
|
88
|
+
' shift-ax thread-save --root DIR --name NAME [--summary "<text>"] --note "<text>"',
|
|
89
|
+
' shift-ax threads [--root DIR]',
|
|
90
|
+
' shift-ax verification-debt [--root DIR] [--topic DIR]',
|
|
91
|
+
' shift-ax learned-debug-save --root DIR --summary "<text>" --resolution "<text>" [--occurrences N] [--approved] [--fix-commit SHA]',
|
|
92
|
+
' shift-ax learned-debug [--root DIR] [--query "<text>"]',
|
|
93
|
+
' shift-ax review --topic DIR [--run]',
|
|
94
|
+
' shift-ax worktree-plan --topic DIR',
|
|
95
|
+
' shift-ax worktree-create --topic DIR [--base BRANCH]',
|
|
96
|
+
' shift-ax worktree-remove --topic DIR',
|
|
97
|
+
' shift-ax onboard-context [--input FILE] [--discover] [--overwrite] [--lang en|ko] [--platform <codex|claude-code>] [--root DIR]',
|
|
98
|
+
' shift-ax export-context',
|
|
99
|
+
' shift-ax doctor [--root DIR] [--topic DIR] [--platform <codex|claude-code>]',
|
|
100
|
+
' shift-ax run-request --request "<text>" [--summary "<text>"] [--brainstorm-file PATH] [--spec-file PATH] [--plan-file PATH] [--index PATH] [--allow-missing-global-context] [--root DIR] [--base BRANCH] # interactive planning by default',
|
|
101
|
+
' shift-ax run-request --topic DIR --resume [--verify-command CMD]... [--escalation KIND[:summary]]... [--clear-escalations] [--escalation-resolution "<text>"] [--no-auto-commit]',
|
|
102
|
+
' shift-ax approve-plan --topic DIR --reviewer NAME --decision <approve|reject> [--notes "<text>"]',
|
|
103
|
+
' shift-ax sync-policy-context --topic DIR --summary "<text>" [--path REL_PATH]... [--entry "Label -> path"]...',
|
|
104
|
+
' shift-ax react-feedback --topic DIR --kind <review-changes-requested|ci-failed> --summary "<text>"',
|
|
105
|
+
' shift-ax finalize-commit --topic DIR [--message-file PATH]',
|
|
106
|
+
' shift-ax launch-execution --platform <codex|claude-code> --topic DIR [--task-id ID] [--dry-run]',
|
|
107
|
+
' shift-ax topic-status --topic DIR',
|
|
108
|
+
' shift-ax topics-status [--root DIR] [--limit N]',
|
|
109
|
+
' shift-ax recall-topics --query "<text>" [--root DIR] [--limit N]',
|
|
110
|
+
' shift-ax decisions [--root DIR] [--query "<text>"] [--active-at YYYY-MM-DD] [--limit N]',
|
|
111
|
+
'',
|
|
112
|
+
'Advanced support-layer commands exist but are intentionally omitted from default help to keep the operator surface compact.',
|
|
113
|
+
' shift-ax platform-manifest --platform <codex|claude-code> [--root DIR]',
|
|
114
|
+
' shift-ax bootstrap-assets --platform <codex|claude-code> [--root DIR]',
|
|
115
|
+
' shift-ax scaffold-build --platform <codex|claude-code> [--root DIR]',
|
|
116
|
+
'',
|
|
117
|
+
].join('\n'));
|
|
118
|
+
process.exit(command === '--help' ? 0 : command ? 1 : 0);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
const target = commands.get(command);
|
|
122
|
+
const child = compiledMode
|
|
123
|
+
? spawn(process.execPath, [join(here, target.replace(/\.ts$/, '.js')), ...args], {
|
|
124
|
+
stdio: 'inherit',
|
|
125
|
+
})
|
|
126
|
+
: spawn(process.execPath, ['--import', 'tsx', join(here, target), ...args], {
|
|
127
|
+
stdio: 'inherit',
|
|
128
|
+
});
|
|
129
|
+
child.on('exit', (code) => {
|
|
130
|
+
process.exit(code ?? 1);
|
|
131
|
+
});
|
|
132
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "shift-ax",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Agentic software delivery platform for teams that are not AX experts yet",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"private": false,
|
|
7
|
+
"homepage": "https://github.com/handsupmin/shift-ax",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/handsupmin/shift-ax.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/handsupmin/shift-ax/issues"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"!dist/tests",
|
|
18
|
+
"README.md",
|
|
19
|
+
"README.ko.md",
|
|
20
|
+
"LICENSE"
|
|
21
|
+
],
|
|
22
|
+
"bin": {
|
|
23
|
+
"ax": "dist/scripts/ax.js",
|
|
24
|
+
"shift-ax": "dist/scripts/ax.js",
|
|
25
|
+
"ax-bootstrap-topic": "dist/scripts/ax-bootstrap-topic.js",
|
|
26
|
+
"ax-resolve-context": "dist/scripts/ax-resolve-context.js",
|
|
27
|
+
"ax-build-context-bundle": "dist/scripts/ax-build-context-bundle.js",
|
|
28
|
+
"ax-init-context": "dist/scripts/ax-init-context.js",
|
|
29
|
+
"ax-context-health": "dist/scripts/ax-context-health.js",
|
|
30
|
+
"ax-refresh-state": "dist/scripts/ax-refresh-state.js",
|
|
31
|
+
"ax-pause-work": "dist/scripts/ax-pause-work.js",
|
|
32
|
+
"ax-checkpoint-context": "dist/scripts/ax-checkpoint-context.js",
|
|
33
|
+
"ax-thread-save": "dist/scripts/ax-thread-save.js",
|
|
34
|
+
"ax-threads": "dist/scripts/ax-threads.js",
|
|
35
|
+
"ax-verification-debt": "dist/scripts/ax-verification-debt.js",
|
|
36
|
+
"ax-learned-debug-save": "dist/scripts/ax-learned-debug-save.js",
|
|
37
|
+
"ax-learned-debug": "dist/scripts/ax-learned-debug.js",
|
|
38
|
+
"ax-review": "dist/scripts/ax-review.js",
|
|
39
|
+
"ax-worktree-plan": "dist/scripts/ax-worktree-plan.js",
|
|
40
|
+
"ax-platform-manifest": "dist/scripts/ax-platform-manifest.js",
|
|
41
|
+
"ax-bootstrap-assets": "dist/scripts/ax-bootstrap-assets.js",
|
|
42
|
+
"ax-scaffold-build": "dist/scripts/ax-scaffold-build.js",
|
|
43
|
+
"ax-onboard-context": "dist/scripts/ax-onboard-context.js",
|
|
44
|
+
"ax-doctor": "dist/scripts/ax-doctor.js",
|
|
45
|
+
"ax-run-request": "dist/scripts/ax-run-request.js",
|
|
46
|
+
"ax-approve-plan": "dist/scripts/ax-approve-plan.js",
|
|
47
|
+
"ax-sync-policy-context": "dist/scripts/ax-sync-policy-context.js",
|
|
48
|
+
"ax-react-feedback": "dist/scripts/ax-react-feedback.js",
|
|
49
|
+
"ax-finalize-commit": "dist/scripts/ax-finalize-commit.js",
|
|
50
|
+
"ax-launch-execution": "dist/scripts/ax-launch-execution.js",
|
|
51
|
+
"ax-topic-status": "dist/scripts/ax-topic-status.js",
|
|
52
|
+
"ax-topics-status": "dist/scripts/ax-topics-status.js",
|
|
53
|
+
"ax-recall-topics": "dist/scripts/ax-recall-topics.js",
|
|
54
|
+
"ax-decisions": "dist/scripts/ax-decisions.js"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "tsc -p tsconfig.json && node scripts/copy-package-assets.mjs",
|
|
58
|
+
"test": "node --import tsx --test tests/*.test.ts",
|
|
59
|
+
"ax": "node --import tsx scripts/ax.ts",
|
|
60
|
+
"prepack": "npm run build"
|
|
61
|
+
},
|
|
62
|
+
"engines": {
|
|
63
|
+
"node": ">=20"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@types/node": "^22.10.2",
|
|
67
|
+
"tsx": "^4.19.2",
|
|
68
|
+
"typescript": "^5.7.2"
|
|
69
|
+
},
|
|
70
|
+
"license": "MIT"
|
|
71
|
+
}
|