@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 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!**