@agentmanifest/cli 0.1.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/CHANGELOG.md +62 -0
- package/LICENSE +21 -0
- package/PROJECT_STRUCTURE.md +290 -0
- package/QUICK_START.md +188 -0
- package/README.md +477 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +453 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/publish.d.ts +6 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +190 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/validate.d.ts +6 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +124 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +41 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +44 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the AMP CLI will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-02-15
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Initial release of `@agentmanifest/cli`
|
|
12
|
+
- `amp init` command for interactive manifest creation
|
|
13
|
+
- Full wizard for all AMP v0.1 specification fields
|
|
14
|
+
- Support for multiple endpoints with parameters
|
|
15
|
+
- Category selection from controlled vocabulary
|
|
16
|
+
- Pricing and authentication configuration
|
|
17
|
+
- Optional rate limits and reliability metrics
|
|
18
|
+
- Contact information and agent notes
|
|
19
|
+
- `amp validate` command for manifest validation
|
|
20
|
+
- Integration with validator API at validator.agent-manifest.com
|
|
21
|
+
- Detailed error reporting with field-level validation
|
|
22
|
+
- Warning messages for non-critical issues
|
|
23
|
+
- `amp publish` command for registry submission
|
|
24
|
+
- Two-step process: validate then publish
|
|
25
|
+
- Automatic homepage URL prompting if missing
|
|
26
|
+
- Integration with registry API at agent-manifest.com
|
|
27
|
+
- Clear success/failure messaging
|
|
28
|
+
- Comprehensive README with usage examples
|
|
29
|
+
- TypeScript support with full type definitions
|
|
30
|
+
- Error handling for common scenarios
|
|
31
|
+
- MIT License
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
- Interactive prompts using `inquirer`
|
|
35
|
+
- Colored terminal output using `chalk`
|
|
36
|
+
- Commander-based CLI structure
|
|
37
|
+
- HTTP API integration with `axios`
|
|
38
|
+
- Semantic versioning validation
|
|
39
|
+
- URL validation (HTTPS required)
|
|
40
|
+
- JSON syntax validation
|
|
41
|
+
- Category and primary category consistency checks
|
|
42
|
+
- Minimum character requirements for descriptions and agent notes
|
|
43
|
+
|
|
44
|
+
### Dependencies
|
|
45
|
+
- commander ^12.0.0
|
|
46
|
+
- inquirer ^9.2.15
|
|
47
|
+
- chalk ^4.1.2
|
|
48
|
+
- axios ^1.6.7
|
|
49
|
+
- TypeScript ^5.3.3
|
|
50
|
+
|
|
51
|
+
## [Unreleased]
|
|
52
|
+
|
|
53
|
+
### Planned
|
|
54
|
+
- Offline validation mode
|
|
55
|
+
- Manifest update command
|
|
56
|
+
- Multiple manifest management
|
|
57
|
+
- Template system for common API types
|
|
58
|
+
- Manifest comparison/diff tool
|
|
59
|
+
- Batch validation for multiple manifests
|
|
60
|
+
- JSON Schema export
|
|
61
|
+
- OpenAPI to AMP conversion
|
|
62
|
+
- Registry search from CLI
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Brandon Weber
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# AMP CLI - Project Structure
|
|
2
|
+
|
|
3
|
+
Complete Node.js CLI tool for the Agent Manifest Protocol, ready for npm publication.
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
amp-cli/
|
|
9
|
+
├── src/ # TypeScript source files
|
|
10
|
+
│ ├── commands/ # Command implementations
|
|
11
|
+
│ │ ├── init.ts # Interactive manifest creation
|
|
12
|
+
│ │ ├── validate.ts # Manifest validation
|
|
13
|
+
│ │ └── publish.ts # Registry submission
|
|
14
|
+
│ ├── constants.ts # Controlled vocabularies
|
|
15
|
+
│ ├── types.ts # TypeScript type definitions
|
|
16
|
+
│ └── index.ts # CLI entry point
|
|
17
|
+
├── dist/ # Compiled JavaScript (generated)
|
|
18
|
+
│ ├── commands/
|
|
19
|
+
│ ├── *.js
|
|
20
|
+
│ ├── *.d.ts
|
|
21
|
+
│ └── *.map
|
|
22
|
+
├── node_modules/ # Dependencies (gitignored)
|
|
23
|
+
├── package.json # Package configuration
|
|
24
|
+
├── tsconfig.json # TypeScript configuration
|
|
25
|
+
├── README.md # Comprehensive documentation
|
|
26
|
+
├── CHANGELOG.md # Version history
|
|
27
|
+
├── LICENSE # MIT License
|
|
28
|
+
├── .gitignore # Git ignore rules
|
|
29
|
+
└── .npmignore # npm publish exclusions
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Files Overview
|
|
33
|
+
|
|
34
|
+
### Source Files (`src/`)
|
|
35
|
+
|
|
36
|
+
#### `index.ts` (Entry Point)
|
|
37
|
+
- Sets up Commander CLI structure
|
|
38
|
+
- Defines three main commands: init, validate, publish
|
|
39
|
+
- Includes version and help information
|
|
40
|
+
|
|
41
|
+
#### `commands/init.ts` (Interactive Scaffolding)
|
|
42
|
+
- Full wizard for creating agent-manifest.json
|
|
43
|
+
- Inquirer prompts for all required fields
|
|
44
|
+
- Validates user input in real-time
|
|
45
|
+
- Supports multiple endpoints with parameters
|
|
46
|
+
- Generates compliant AMP v0.1 manifest
|
|
47
|
+
|
|
48
|
+
#### `commands/validate.ts` (Validation)
|
|
49
|
+
- Reads manifest from filesystem
|
|
50
|
+
- POSTs to validator API at validator.agent-manifest.com
|
|
51
|
+
- Displays detailed error/warning messages
|
|
52
|
+
- Provides clear pass/fail feedback
|
|
53
|
+
|
|
54
|
+
#### `commands/publish.ts` (Registry Submission)
|
|
55
|
+
- Two-step process: validate then publish
|
|
56
|
+
- Prompts for missing homepage URL
|
|
57
|
+
- Submits to registry at agent-manifest.com
|
|
58
|
+
- Returns listing ID and registry URL
|
|
59
|
+
|
|
60
|
+
#### `constants.ts` (Controlled Vocabularies)
|
|
61
|
+
- Standard categories (15 categories)
|
|
62
|
+
- Pricing models (free, usage_based, subscription)
|
|
63
|
+
- Authentication types (none, api_key, oauth2, bearer)
|
|
64
|
+
|
|
65
|
+
#### `types.ts` (TypeScript Definitions)
|
|
66
|
+
- Complete type definitions for AMP v0.1
|
|
67
|
+
- Interfaces for all manifest sections
|
|
68
|
+
- Type safety for parameters and responses
|
|
69
|
+
|
|
70
|
+
### Configuration Files
|
|
71
|
+
|
|
72
|
+
#### `package.json`
|
|
73
|
+
- Package name: `@agentmanifest/cli`
|
|
74
|
+
- Binary: `amp`
|
|
75
|
+
- Dependencies: commander, inquirer, chalk, axios
|
|
76
|
+
- DevDependencies: TypeScript, tsx, @types/*
|
|
77
|
+
- Build scripts
|
|
78
|
+
- Node.js 18+ requirement
|
|
79
|
+
|
|
80
|
+
#### `tsconfig.json`
|
|
81
|
+
- Target: ES2020
|
|
82
|
+
- Module: CommonJS
|
|
83
|
+
- Strict mode enabled
|
|
84
|
+
- Source maps and declarations
|
|
85
|
+
|
|
86
|
+
#### `.gitignore`
|
|
87
|
+
- node_modules, dist, logs
|
|
88
|
+
- OS files (.DS_Store)
|
|
89
|
+
- IDE files (.vscode, .idea)
|
|
90
|
+
- Environment variables
|
|
91
|
+
|
|
92
|
+
#### `.npmignore`
|
|
93
|
+
- Source files (only publish dist/)
|
|
94
|
+
- Tests and development files
|
|
95
|
+
- Documentation (except README)
|
|
96
|
+
- Git and CI/CD files
|
|
97
|
+
|
|
98
|
+
### Documentation
|
|
99
|
+
|
|
100
|
+
#### `README.md` (13 Sections)
|
|
101
|
+
1. Installation instructions
|
|
102
|
+
2. Requirements
|
|
103
|
+
3. Command reference (init, validate, publish)
|
|
104
|
+
4. Complete workflow examples
|
|
105
|
+
5. Manifest schema documentation
|
|
106
|
+
6. Validation rules
|
|
107
|
+
7. API endpoint references
|
|
108
|
+
8. Troubleshooting guide
|
|
109
|
+
9. Resources and links
|
|
110
|
+
10. Contributing guidelines
|
|
111
|
+
11. License information
|
|
112
|
+
12. Support contacts
|
|
113
|
+
13. Project vision
|
|
114
|
+
|
|
115
|
+
#### `CHANGELOG.md`
|
|
116
|
+
- Version history (semantic versioning)
|
|
117
|
+
- Initial v0.1.0 release notes
|
|
118
|
+
- Feature list
|
|
119
|
+
- Planned improvements
|
|
120
|
+
|
|
121
|
+
#### `LICENSE`
|
|
122
|
+
- MIT License
|
|
123
|
+
- Copyright 2026 Brandon Weber
|
|
124
|
+
- Full license text
|
|
125
|
+
|
|
126
|
+
## Key Features
|
|
127
|
+
|
|
128
|
+
### Interactive Creation (`amp init`)
|
|
129
|
+
- Step-by-step wizard
|
|
130
|
+
- Real-time validation
|
|
131
|
+
- Multi-endpoint support
|
|
132
|
+
- Parameter configuration
|
|
133
|
+
- Optional sections (rate limits, reliability)
|
|
134
|
+
- Contact information
|
|
135
|
+
- Agent guidance notes
|
|
136
|
+
|
|
137
|
+
### Validation (`amp validate`)
|
|
138
|
+
- API integration
|
|
139
|
+
- JSON syntax checking
|
|
140
|
+
- Field-level validation
|
|
141
|
+
- Length requirements (description ≥100, agent_notes ≥50)
|
|
142
|
+
- Semantic versioning check
|
|
143
|
+
- Category consistency
|
|
144
|
+
- Detailed error reporting
|
|
145
|
+
|
|
146
|
+
### Publication (`amp publish`)
|
|
147
|
+
- Pre-publication validation
|
|
148
|
+
- Homepage URL requirement
|
|
149
|
+
- Two-step submission process
|
|
150
|
+
- Registry integration
|
|
151
|
+
- Listing ID generation
|
|
152
|
+
- Success confirmation
|
|
153
|
+
|
|
154
|
+
## Dependencies
|
|
155
|
+
|
|
156
|
+
### Production
|
|
157
|
+
- `commander@^12.0.0` - CLI framework
|
|
158
|
+
- `inquirer@^9.2.15` - Interactive prompts
|
|
159
|
+
- `chalk@^4.1.2` - Terminal colors
|
|
160
|
+
- `axios@^1.6.7` - HTTP client
|
|
161
|
+
|
|
162
|
+
### Development
|
|
163
|
+
- `typescript@^5.3.3` - Type system
|
|
164
|
+
- `tsx@^4.7.1` - TypeScript executor
|
|
165
|
+
- `@types/node@^20.11.19` - Node.js types
|
|
166
|
+
- `@types/inquirer@^9.0.7` - Inquirer types
|
|
167
|
+
|
|
168
|
+
## Build Process
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# Install dependencies
|
|
172
|
+
npm install
|
|
173
|
+
|
|
174
|
+
# Compile TypeScript to JavaScript
|
|
175
|
+
npm run build
|
|
176
|
+
|
|
177
|
+
# Development mode (no compilation)
|
|
178
|
+
npm run dev
|
|
179
|
+
|
|
180
|
+
# Prepare for publishing
|
|
181
|
+
npm run prepublishOnly
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Output (dist/)
|
|
185
|
+
|
|
186
|
+
The compiled output includes:
|
|
187
|
+
- JavaScript files (.js)
|
|
188
|
+
- TypeScript declarations (.d.ts)
|
|
189
|
+
- Source maps (.js.map, .d.ts.map)
|
|
190
|
+
- Preserves directory structure
|
|
191
|
+
|
|
192
|
+
## Testing
|
|
193
|
+
|
|
194
|
+
The CLI has been tested with:
|
|
195
|
+
- Successful compilation (TypeScript → JavaScript)
|
|
196
|
+
- Help command output verification
|
|
197
|
+
- Command structure validation
|
|
198
|
+
- Proper exit codes
|
|
199
|
+
- Error handling
|
|
200
|
+
|
|
201
|
+
## Publication Readiness
|
|
202
|
+
|
|
203
|
+
The package is ready to publish to npm:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Login to npm
|
|
207
|
+
npm login
|
|
208
|
+
|
|
209
|
+
# Publish (runs prepublishOnly automatically)
|
|
210
|
+
npm publish --access public
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## API Integration
|
|
214
|
+
|
|
215
|
+
### Validator API
|
|
216
|
+
- Endpoint: `https://validator.agent-manifest.com/validate`
|
|
217
|
+
- Method: POST
|
|
218
|
+
- Timeout: 10 seconds
|
|
219
|
+
- Returns: `{ valid: boolean, errors: [], warnings: [] }`
|
|
220
|
+
|
|
221
|
+
### Registry API
|
|
222
|
+
- Endpoint: `https://agent-manifest.com/listings/submit`
|
|
223
|
+
- Method: POST
|
|
224
|
+
- Timeout: 15 seconds
|
|
225
|
+
- Returns: `{ success: boolean, listing_id: string, url: string }`
|
|
226
|
+
|
|
227
|
+
## Command Line Interface
|
|
228
|
+
|
|
229
|
+
### Binary Name: `amp`
|
|
230
|
+
|
|
231
|
+
Available globally after `npm install -g @agentmanifest/cli`
|
|
232
|
+
|
|
233
|
+
### Commands
|
|
234
|
+
1. `amp init` - Create new manifest
|
|
235
|
+
2. `amp validate [-f <path>]` - Validate manifest
|
|
236
|
+
3. `amp publish [-f <path>]` - Publish to registry
|
|
237
|
+
4. `amp --version` - Show version
|
|
238
|
+
5. `amp --help` - Show help
|
|
239
|
+
|
|
240
|
+
## Error Handling
|
|
241
|
+
|
|
242
|
+
The CLI includes robust error handling for:
|
|
243
|
+
- File not found
|
|
244
|
+
- Invalid JSON syntax
|
|
245
|
+
- Validation failures
|
|
246
|
+
- API connection errors
|
|
247
|
+
- Permission denied
|
|
248
|
+
- Network timeouts
|
|
249
|
+
- Malformed responses
|
|
250
|
+
|
|
251
|
+
## Color Coding
|
|
252
|
+
|
|
253
|
+
Terminal output uses color coding:
|
|
254
|
+
- **Cyan**: Headers, informational
|
|
255
|
+
- **Green**: Success messages
|
|
256
|
+
- **Red**: Errors
|
|
257
|
+
- **Yellow**: Warnings
|
|
258
|
+
- **Gray**: Secondary information
|
|
259
|
+
|
|
260
|
+
## Future Enhancements
|
|
261
|
+
|
|
262
|
+
Planned for future versions:
|
|
263
|
+
- Offline validation mode
|
|
264
|
+
- Manifest update command
|
|
265
|
+
- Template system
|
|
266
|
+
- Batch operations
|
|
267
|
+
- OpenAPI conversion
|
|
268
|
+
- Registry search
|
|
269
|
+
- Diff tool
|
|
270
|
+
|
|
271
|
+
## Contributing
|
|
272
|
+
|
|
273
|
+
Contributions welcome at:
|
|
274
|
+
- Repository: https://github.com/AMProtocol/amp-cli
|
|
275
|
+
- Issues: Submit bugs and feature requests
|
|
276
|
+
- Pull Requests: Code contributions
|
|
277
|
+
|
|
278
|
+
## Support
|
|
279
|
+
|
|
280
|
+
- Email: brandon@agent-manifest.com
|
|
281
|
+
- GitHub: @brandon-weber
|
|
282
|
+
- Website: https://agent-manifest.com
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
**Status**: ✅ Complete and Ready for Publication
|
|
287
|
+
|
|
288
|
+
**Version**: 0.1.0
|
|
289
|
+
|
|
290
|
+
**Last Updated**: February 15, 2026
|
package/QUICK_START.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# AMP CLI - Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Get started with the Agent Manifest Protocol CLI in 5 minutes.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @agentmanifest/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Basic Usage
|
|
12
|
+
|
|
13
|
+
### 1. Create a New Manifest
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cd /path/to/your/api
|
|
17
|
+
amp init
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Follow the prompts to create your `agent-manifest.json`.
|
|
21
|
+
|
|
22
|
+
### 2. Validate Your Manifest
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
amp validate
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 3. Publish to Registry
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
amp publish
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Example: Complete Workflow
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Navigate to your API project
|
|
38
|
+
cd ~/projects/my-api
|
|
39
|
+
|
|
40
|
+
# Create manifest interactively
|
|
41
|
+
amp init
|
|
42
|
+
# Answer the prompts...
|
|
43
|
+
|
|
44
|
+
# Check if it's valid
|
|
45
|
+
amp validate
|
|
46
|
+
|
|
47
|
+
# If validation passes, publish
|
|
48
|
+
amp publish
|
|
49
|
+
|
|
50
|
+
# Done! Your API is now discoverable by AI agents
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Minimal Manifest Example
|
|
54
|
+
|
|
55
|
+
The wizard will help you create something like this:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"spec_version": "agentmanifest-0.1",
|
|
60
|
+
"name": "Weather Data API",
|
|
61
|
+
"version": "1.0.0",
|
|
62
|
+
"description": "Provides real-time weather data and forecasts for locations worldwide with high accuracy and comprehensive coverage including current conditions, hourly forecasts, and historical data.",
|
|
63
|
+
"homepage": "https://api.weather-data.com",
|
|
64
|
+
"categories": ["weather"],
|
|
65
|
+
"primary_category": "weather",
|
|
66
|
+
"endpoints": [
|
|
67
|
+
{
|
|
68
|
+
"path": "/current",
|
|
69
|
+
"method": "GET",
|
|
70
|
+
"description": "Get current weather for a location",
|
|
71
|
+
"response": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"description": "Current weather conditions"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"pricing": {
|
|
78
|
+
"model": "free"
|
|
79
|
+
},
|
|
80
|
+
"authentication": {
|
|
81
|
+
"type": "none"
|
|
82
|
+
},
|
|
83
|
+
"agent_notes": "Simple weather API. Use location parameter with city names or coordinates for precise results.",
|
|
84
|
+
"last_updated": "2026-02-15T10:30:00Z"
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Common Workflows
|
|
89
|
+
|
|
90
|
+
### Check Validation Without Publishing
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
amp validate
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Validate Custom File
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
amp validate -f ./custom-manifest.json
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Publish Custom File
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
amp publish -f ./custom-manifest.json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Update Existing Manifest
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Edit your manifest file manually
|
|
112
|
+
vim agent-manifest.json
|
|
113
|
+
|
|
114
|
+
# Validate the changes
|
|
115
|
+
amp validate
|
|
116
|
+
|
|
117
|
+
# If valid, publish the update
|
|
118
|
+
amp publish
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Tips
|
|
122
|
+
|
|
123
|
+
1. **Description Length**: Must be ≥100 characters. Be descriptive!
|
|
124
|
+
2. **Agent Notes**: Must be ≥50 characters. Tell agents how to use your API.
|
|
125
|
+
3. **Categories**: Choose the most relevant. Primary category must be in your categories list.
|
|
126
|
+
4. **Homepage**: This is where your manifest will be hosted (`https://your-api.com/.well-known/agent-manifest.json`)
|
|
127
|
+
|
|
128
|
+
## Hosting Your Manifest
|
|
129
|
+
|
|
130
|
+
After creating your manifest, you need to host it at:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
https://your-api.com/.well-known/agent-manifest.json
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Express.js Example
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
const express = require('express');
|
|
140
|
+
const manifest = require('./agent-manifest.json');
|
|
141
|
+
|
|
142
|
+
const app = express();
|
|
143
|
+
|
|
144
|
+
app.get('/.well-known/agent-manifest.json', (req, res) => {
|
|
145
|
+
res.json(manifest);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
app.listen(3000);
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Static Hosting
|
|
152
|
+
|
|
153
|
+
Just place your `agent-manifest.json` file in:
|
|
154
|
+
```
|
|
155
|
+
public/.well-known/agent-manifest.json
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Troubleshooting
|
|
159
|
+
|
|
160
|
+
### "Description too short"
|
|
161
|
+
Make your description at least 100 characters. Explain what your API does in detail.
|
|
162
|
+
|
|
163
|
+
### "Agent notes too short"
|
|
164
|
+
Make agent notes at least 50 characters. Provide implementation guidance for AI agents.
|
|
165
|
+
|
|
166
|
+
### "Primary category not in categories"
|
|
167
|
+
Your primary_category must be one of the values in your categories array.
|
|
168
|
+
|
|
169
|
+
### "File not found"
|
|
170
|
+
Run `amp init` first to create a manifest, or use `-f` flag to specify the file path.
|
|
171
|
+
|
|
172
|
+
## Next Steps
|
|
173
|
+
|
|
174
|
+
1. **Read the full README**: `cat README.md`
|
|
175
|
+
2. **Check the spec**: Visit https://agent-manifest.com/docs
|
|
176
|
+
3. **See examples**: Check out BakeBase at https://github.com/AMProtocol/BakeBase
|
|
177
|
+
4. **Join the community**: Follow updates at https://agent-manifest.com
|
|
178
|
+
|
|
179
|
+
## Help
|
|
180
|
+
|
|
181
|
+
- Run `amp --help` for command list
|
|
182
|
+
- Run `amp <command> --help` for command details
|
|
183
|
+
- Visit https://agent-manifest.com for documentation
|
|
184
|
+
- Email: brandon@agent-manifest.com
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
**Ready to make your API discoverable by AI agents? Run `amp init` now!**
|