aienvmp 0.1.0 → 0.1.1
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/.agents/skills/aienvmp/SKILL.md +75 -0
- package/README.md +8 -0
- package/package.json +3 -2
- package/src/cli.js +2 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aienvmp
|
|
3
|
+
description: Use before changing runtimes, package managers, Docker settings, global packages, or environment policy in an AI coding workspace. Reads aienvmp context, prevents AI-driven version drift, records intent before environment changes, and records what changed afterward.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# aienvmp
|
|
7
|
+
|
|
8
|
+
Use `aienvmp` as the shared environment source of truth for this workspace.
|
|
9
|
+
|
|
10
|
+
The goal is to help multiple AI agents avoid silently installing or using different versions of Node, Python, Docker, package managers, or global tools.
|
|
11
|
+
|
|
12
|
+
## Preflight
|
|
13
|
+
|
|
14
|
+
Before environment-impacting work, run:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx aienvmp context
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
If the output says `review-required`, do not change global runtimes, package managers, Docker settings, or global packages without asking the user.
|
|
21
|
+
|
|
22
|
+
For machine-readable context, use:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx aienvmp context --json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Before Environment Changes
|
|
29
|
+
|
|
30
|
+
Record intent before changing shared environment state:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx aienvmp intent --actor agent:codex --action "<planned change>" --target "<tool-or-runtime>"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Use this for changes such as:
|
|
37
|
+
|
|
38
|
+
- installing or upgrading Node, Python, Docker, package managers, or global CLIs
|
|
39
|
+
- changing `.nvmrc`, `.python-version`, `mise.toml`, `.tool-versions`, or `.aienvmp/policy.yml`
|
|
40
|
+
- switching package managers
|
|
41
|
+
- changing Docker daemon/context assumptions
|
|
42
|
+
|
|
43
|
+
## After Environment Changes
|
|
44
|
+
|
|
45
|
+
Refresh the environment map:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npx aienvmp scan
|
|
49
|
+
npx aienvmp compile
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Record what changed:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx aienvmp record --actor agent:codex --summary "<what changed>" --target "<tool-or-runtime>" --evidence "<command or file>"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Resolve the original intent if complete:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx aienvmp resolve --actor agent:codex --id "<intent-id>"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Safety Rules
|
|
65
|
+
|
|
66
|
+
- `aienvmp` warnings are non-blocking by default.
|
|
67
|
+
- Treat policy mismatches as review-required.
|
|
68
|
+
- Do not install, upgrade, downgrade, or remove global software unless the user explicitly asks.
|
|
69
|
+
- Prefer project-local version files and local environments.
|
|
70
|
+
- Do not use warnings as permission to interrupt production or shared workspace operations.
|
|
71
|
+
- Use `npx aienvmp doctor --ci` only in CI or explicit strict-mode automation.
|
|
72
|
+
|
|
73
|
+
## Normal Coding Work
|
|
74
|
+
|
|
75
|
+
For ordinary source edits that do not affect runtime versions, package managers, Docker settings, global packages, or environment policy, you do not need to record an intent.
|
package/README.md
CHANGED
|
@@ -109,6 +109,14 @@ Generated agent targets:
|
|
|
109
109
|
- `CLAUDE.md`
|
|
110
110
|
- `GEMINI.md`
|
|
111
111
|
|
|
112
|
+
Codex can also use the repo-scoped skill:
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
.agents/skills/aienvmp/SKILL.md
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Invoke it explicitly as `$aienvmp`, or let Codex select it when the task involves runtime, package manager, Docker, global package, or environment policy changes.
|
|
119
|
+
|
|
112
120
|
## What AI Agents See
|
|
113
121
|
|
|
114
122
|
`aienvmp context` returns a compact preflight brief:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aienvmp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "AI-first environment maps and lightweight runtime SBOMs for shared development machines.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"SECURITY.md",
|
|
25
25
|
"ROADMAP.md",
|
|
26
26
|
"action.yml",
|
|
27
|
-
"examples"
|
|
27
|
+
"examples",
|
|
28
|
+
".agents"
|
|
28
29
|
],
|
|
29
30
|
"scripts": {
|
|
30
31
|
"test": "node --test",
|
package/src/cli.js
CHANGED
|
@@ -8,6 +8,7 @@ import { contextWorkspace } from "./commands/context.js";
|
|
|
8
8
|
import { recordWorkspace } from "./commands/record.js";
|
|
9
9
|
import { intentWorkspace } from "./commands/intent.js";
|
|
10
10
|
import { resolveWorkspace } from "./commands/resolve.js";
|
|
11
|
+
import { readFileSync } from "node:fs";
|
|
11
12
|
|
|
12
13
|
const commands = new Map([
|
|
13
14
|
["init", initWorkspace],
|
|
@@ -22,7 +23,7 @@ const commands = new Map([
|
|
|
22
23
|
["resolve", resolveWorkspace]
|
|
23
24
|
]);
|
|
24
25
|
|
|
25
|
-
const version = "
|
|
26
|
+
const version = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
26
27
|
|
|
27
28
|
export async function main(argv) {
|
|
28
29
|
const [command, ...rest] = argv;
|