ma-agents 2.10.0 → 2.11.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/.antigravity/skills/.ma-agents.json +14 -0
- package/.antigravity/skills/MANIFEST.yaml +7 -0
- package/.antigravity/skills/docker-image-signing/SKILL.md +28 -0
- package/.antigravity/skills/docker-image-signing/scripts/sign-image.sh +33 -0
- package/lib/agents.js +10 -10
- package/lib/installer.js +1 -1
- package/package.json +1 -1
- /package/{CLAUDE.md → .antigravity/antigravity.md} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"manifestVersion": "1.0.0",
|
|
3
|
+
"agent": "antigravity",
|
|
4
|
+
"scope": "project",
|
|
5
|
+
"skills": {
|
|
6
|
+
"docker-image-signing": {
|
|
7
|
+
"version": "1.0.0",
|
|
8
|
+
"installedAt": "2026-03-01T10:05:53.821Z",
|
|
9
|
+
"updatedAt": "2026-03-01T10:05:53.821Z",
|
|
10
|
+
"installerVersion": "2.10.0",
|
|
11
|
+
"agentVersion": "1.0.0"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Docker Image Signing
|
|
3
|
+
description: Automates the signing of Docker images using certificates and Cosign/Notary.
|
|
4
|
+
---
|
|
5
|
+
# Docker Image Signing
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
Ensure the integrity and authenticity of Docker images by signing them with a cryptographic key/certificate. This prevents unauthorized image substitution and ensures only trusted images are deployed.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
1. **Tool Selection**: Use `cosign` (recommended) or `notary`.
|
|
12
|
+
2. **Environment Check**: Verify that the signing tool and Docker/Podman are installed.
|
|
13
|
+
3. **Signing Process**:
|
|
14
|
+
- Load the provided certificate/key.
|
|
15
|
+
- Run the signing command against the target image (using its SHA256 digest for immutability).
|
|
16
|
+
4. **Verification**: Always run a verification check immediately after signing.
|
|
17
|
+
|
|
18
|
+
## Rules
|
|
19
|
+
- NEVER sign images by tag alone; use the immutable digest (e.g., `image@sha256:...`).
|
|
20
|
+
- Private keys must be handled as secrets and never stored in the clear.
|
|
21
|
+
- Ensure the certificate provided is valid and not expired.
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
Run the provided script in `scripts/sign-image.sh` with:
|
|
25
|
+
- `IMAGE`: The image reference with digest.
|
|
26
|
+
- `CERT`: Path to the certificate file.
|
|
27
|
+
- `KEY`: Path to the private key file.
|
|
28
|
+
- `PASSPHRASE`: (Optional) Key passphrase.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# sign-image.sh - Part of ma-agents docker-image-signing skill
|
|
3
|
+
|
|
4
|
+
IMAGE=$1
|
|
5
|
+
CERT=$2
|
|
6
|
+
KEY=$3
|
|
7
|
+
PASSPHRASE=$4
|
|
8
|
+
|
|
9
|
+
if [ -z "$IMAGE" ] || [ -z "$CERT" ] || [ -z "$KEY" ]; then
|
|
10
|
+
echo "Usage: $0 <image_digest> <cert_file> <key_file> [passphrase]"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "Signing image: $IMAGE"
|
|
15
|
+
|
|
16
|
+
# Check for cosign
|
|
17
|
+
if command -v cosign &> /dev/null; then
|
|
18
|
+
echo "Using Cosign for signing..."
|
|
19
|
+
if [ -n "$PASSPHRASE" ]; then
|
|
20
|
+
export COSIGN_PASSWORD=$PASSPHRASE
|
|
21
|
+
fi
|
|
22
|
+
cosign sign --key "$KEY" --cert "$CERT" "$IMAGE"
|
|
23
|
+
else
|
|
24
|
+
echo "Error: cosign not found. Please install cosign to use this skill."
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
if [ $? -eq 0 ]; then
|
|
29
|
+
echo "Successfully signed $IMAGE"
|
|
30
|
+
else
|
|
31
|
+
echo "Failed to sign $IMAGE"
|
|
32
|
+
exit 1
|
|
33
|
+
fi
|
package/lib/agents.js
CHANGED
|
@@ -32,7 +32,7 @@ const agents = [
|
|
|
32
32
|
},
|
|
33
33
|
fileExtension: '.md',
|
|
34
34
|
template: 'claude-code',
|
|
35
|
-
instructionFiles: ['CLAUDE.md']
|
|
35
|
+
instructionFiles: ['.claude/CLAUDE.md']
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
id: 'gemini',
|
|
@@ -52,7 +52,7 @@ const agents = [
|
|
|
52
52
|
},
|
|
53
53
|
fileExtension: '.md',
|
|
54
54
|
template: 'generic',
|
|
55
|
-
instructionFiles: []
|
|
55
|
+
instructionFiles: ['.gemini/gemini.md']
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
id: 'copilot',
|
|
@@ -72,7 +72,7 @@ const agents = [
|
|
|
72
72
|
},
|
|
73
73
|
fileExtension: '.md',
|
|
74
74
|
template: 'generic',
|
|
75
|
-
instructionFiles: [
|
|
75
|
+
instructionFiles: ['.github/copilot/copilot.md']
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
id: 'kilocode',
|
|
@@ -92,7 +92,7 @@ const agents = [
|
|
|
92
92
|
},
|
|
93
93
|
fileExtension: '.md',
|
|
94
94
|
template: 'generic',
|
|
95
|
-
instructionFiles: []
|
|
95
|
+
instructionFiles: ['.kilocode/kilocode.md']
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
id: 'cline',
|
|
@@ -117,7 +117,7 @@ const agents = [
|
|
|
117
117
|
'references': 'docs',
|
|
118
118
|
'assets': 'templates'
|
|
119
119
|
},
|
|
120
|
-
instructionFiles: ['.clinerules']
|
|
120
|
+
instructionFiles: ['.cline/clinerules.md', '.clinerules']
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
123
|
id: 'cursor',
|
|
@@ -137,7 +137,7 @@ const agents = [
|
|
|
137
137
|
},
|
|
138
138
|
fileExtension: '.md',
|
|
139
139
|
template: 'generic',
|
|
140
|
-
instructionFiles: [
|
|
140
|
+
instructionFiles: ['.cursor/cursor.md']
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
id: 'bmm-sre',
|
|
@@ -157,7 +157,7 @@ const agents = [
|
|
|
157
157
|
},
|
|
158
158
|
fileExtension: '.md',
|
|
159
159
|
template: 'generic',
|
|
160
|
-
instructionFiles: []
|
|
160
|
+
instructionFiles: ['.sre/sre.md']
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
id: 'antigravity',
|
|
@@ -177,7 +177,7 @@ const agents = [
|
|
|
177
177
|
},
|
|
178
178
|
fileExtension: '.md',
|
|
179
179
|
template: 'generic',
|
|
180
|
-
instructionFiles: []
|
|
180
|
+
instructionFiles: ['.antigravity/antigravity.md']
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
id: 'bmm-devops',
|
|
@@ -197,7 +197,7 @@ const agents = [
|
|
|
197
197
|
},
|
|
198
198
|
fileExtension: '.md',
|
|
199
199
|
template: 'generic',
|
|
200
|
-
instructionFiles: []
|
|
200
|
+
instructionFiles: ['.devops/devops.md']
|
|
201
201
|
},
|
|
202
202
|
{
|
|
203
203
|
id: 'bmm-cyber',
|
|
@@ -217,7 +217,7 @@ const agents = [
|
|
|
217
217
|
},
|
|
218
218
|
fileExtension: '.md',
|
|
219
219
|
template: 'generic',
|
|
220
|
-
instructionFiles: []
|
|
220
|
+
instructionFiles: ['.cyber/yael.md']
|
|
221
221
|
}
|
|
222
222
|
];
|
|
223
223
|
|
package/lib/installer.js
CHANGED
|
@@ -125,7 +125,7 @@ Do not load skills that are not relevant to the current task.
|
|
|
125
125
|
content = wrappedInstruction;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
await fs.
|
|
128
|
+
await fs.outputFile(filePath, content, 'utf-8');
|
|
129
129
|
console.log(chalk.cyan(` + Updated ${fileName}`));
|
|
130
130
|
}
|
|
131
131
|
}
|
package/package.json
CHANGED
|
File without changes
|