@penadidik/meo-agent 1.2.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,84 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [1.2.0] - 2026-06-19
11
+
12
+ ### Added — Final roadmap batch
13
+ - **Checksum verification** (`--sha256 <hash>`) — verifies downloaded file integrity via SHA256, exits with code 2 on mismatch
14
+ - **Mirror mode** (`--mirror` / `-m`) — recursive HTML page mirroring with `--mirror-depth` and `--mirror-limit` controls
15
+ - **Config file support** (`~/.meo-agent.json` or `--config <path>`) — set defaults for timeout, retries, headers, mirror depth, plugins
16
+ - **Plugin architecture** (`lib/plugins.js`) — load JS plugins from `.meo-agent/plugins/`, `~/.meo-agent/plugins/`, or `~/.config/meo-agent/plugins/`
17
+ - **Plugin hooks** — `before_download`, `after_download` for extending behavior
18
+ - **`meo-agent plugins`** — list loaded plugins with version, description, hooks
19
+ - **Example plugin** (`examples/plugins/meo-agent-logger.js`) — logs every download event to stderr
20
+
21
+ ### Changed
22
+ - CLI restructured into subcommands: `meo-agent <url>`, `meo-agent doctor`, `meo-agent mirror <url>`, `meo-agent plugins`
23
+ - Test suite expanded to 20 assertions covering args parser, checksum, config, plugins
24
+ - Help output reorganized with config-file lookup order and plugin directories
25
+
26
+ ### Removed
27
+ - Roadmap item: "Auth via headers" — deferred (not a core wget feature)
28
+
29
+ [Unreleased]: https://github.com/meocode-labs/meo-agent/compare/v1.2.0...HEAD
30
+ [1.2.0]: https://github.com/meocode-labs/meo-agent/compare/v1.1.0...v1.2.0
31
+ [1.1.0]: https://github.com/meocode-labs/meo-agent/compare/v1.0.3...v1.1.0
32
+
33
+ ### Added — Roadmap milestones shipped
34
+ - **Progress bar** for large downloads — live `[████░░░░] 50% 1.20 / 2.40 MB` indicator
35
+ - **Resume support** (`--continue`) — picks up partial downloads via HTTP `Range`
36
+ - **Custom output filename** (`-o <name>` / `--output <name>`)
37
+ - **JSON output mode** (`--json`) — structured events for AI agent consumption
38
+ - **`meo-agent doctor`** — environment diagnostics (Node version, disk space, HTTPS/HTTP connectivity)
39
+ - **Quiet mode** (`-q` / `--quiet`)
40
+ - **Configurable timeout** (`--timeout <sec>`)
41
+ - **Modular codebase** — split into `lib/` (args, downloader, reporter, doctor) and `bin/`
42
+ - **Unit tests** — `npm test` runs 11 assertions across args parser, filename helpers, reporter
43
+ - **Build reliability** — workflow now uses `./node_modules/.bin/pkg` directly, eliminating `yao-pkg: not found` errors permanently
44
+
45
+ ### Changed
46
+ - README rewritten with full option table, JSON event schema, examples
47
+ - Roadmap section updated — 5 items marked shipped
48
+ - Project structure expanded: `bin/`, `lib/`, `test/`
49
+
50
+ ## [1.0.3] - 2026-06-19
51
+
52
+ ### Changed
53
+ - Rebrand as Meo Code Labs unified AI agent runtime
54
+ - README positioned `meo-agent` as flagship open-source distribution from Meo Code Labs
55
+ - Documentation now covers all bundled tools: `meo-agent` CLI, `developer-kit`, and `generate-pr`
56
+ - Package metadata updated: author `penadidik` (researcher@meocode.com), contributor Meo Code Labs
57
+
58
+ ## [1.0.2] - 2026-06-19
59
+
60
+ ### Changed
61
+ - Move `@yao-pkg/pkg` from `dependencies` to `devDependencies` (build tool only)
62
+ - Rewrite README.md with full project positioning, feature matrix, install paths, and roadmap
63
+
64
+ ## [1.0.1] - 2026-06-19
65
+
66
+ ### Fixed
67
+ - `yao-pkg: not found` in CI: use `npx @yao-pkg/pkg` to resolve binary via local install
68
+
69
+ ## [1.0.0] - 2026-06-19
70
+
71
+ ### Added
72
+ - Initial release of `meo-agent` — wget-like CLI for HTTP/HTTPS downloads
73
+ - Single static binary distribution via `@yao-pkg/pkg` (Windows, macOS, Linux)
74
+ - GitHub Actions workflow for automated releases on push to `master`/`main`
75
+ - Bundled tools: `developer-kit/` (use case scaffolder) and `pull_request/` (PR description generator)
76
+ - Comprehensive release notes auto-generated from commit history and diff stats
77
+ - MIT License, CHANGELOG, .npmignore
78
+
79
+ [Unreleased]: https://github.com/meocode-labs/meo-agent/compare/v1.1.0...HEAD
80
+ [1.1.0]: https://github.com/meocode-labs/meo-agent/compare/v1.0.3...v1.1.0
81
+ [1.0.3]: https://github.com/meocode-labs/meo-agent/compare/v1.0.2...v1.0.3
82
+ [1.0.2]: https://github.com/meocode-labs/meo-agent/compare/v1.0.1...v1.0.2
83
+ [1.0.1]: https://github.com/meocode-labs/meo-agent/compare/v1.0.0...v1.0.1
84
+ [1.0.0]: https://github.com/meocode-labs/meo-agent/releases/tag/v1.0.0
package/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Meo Code Labs
4
+ Author: penadidik (https://github.com/penadidik)
5
+ Website: https://meocode.com
6
+ Organization: https://github.com/meocode-labs
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in all
16
+ copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,483 @@
1
+ # meo-agent
2
+
3
+ > **The AI agent runtime from Meo Code Labs — a unified CLI for downloading files, scaffolding use cases, and auto-generating pull requests.**
4
+ >
5
+ > Built for developers, researchers, and AI-augmented workflows.
6
+
7
+ [![Latest Release](https://img.shields.io/github/v/release/meocode-labs/meo-agent)](https://github.com/meocode-labs/meo-agent/releases/latest)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
9
+ [![Node](https://img.shields.io/badge/node-%E2%89%A518-green)](https://nodejs.org)
10
+ [![Meo Code Labs](https://img.shields.io/badge/Meo%20Code%20Labs-meocode.com-blue)](https://meocode.com)
11
+
12
+ `meo-agent` is a lightweight, **multi-tool AI agent runtime** distributed by [Meo Code Labs](https://meocode.com). It is designed to be a single, well-maintained entry point that bundles several developer utilities used across AI-assisted workflows:
13
+
14
+ | Tool | Purpose |
15
+ |------|---------|
16
+ | **meo-agent** (this repo) | Wget-like CLI — download any file via HTTP/HTTPS as a single static binary |
17
+ | **developer-kit** | Auto-scaffold `usecase-NNN/` folders (`requirements.md`, `tasks.md`, `tdd.md`) from a brief |
18
+ | **generate-pr** | Auto-generate pull request descriptions from git diffs (`basic`, `lead`, `hod` review levels) |
19
+
20
+ > These companion tools live as modules inside this repository (`developer-kit/`, `pull_request/`) and are also exposed as opencode slash commands (`/developer-kit`, `/generate-pr`).
21
+
22
+ ---
23
+
24
+ ## Table of Contents
25
+
26
+ - [About Meo Code Labs](#about-meo-code-labs)
27
+ - [Why meo-agent?](#why-meo-agent)
28
+ - [Tools Bundled](#tools-bundled)
29
+ - [1. meo-agent (CLI)](#1-meo-agent-cli)
30
+ - [2. developer-kit](#2-developer-kit)
31
+ - [3. generate-pr](#3-generate-pr)
32
+ - [Installation](#installation)
33
+ - [Usage by Tool](#usage-by-tool)
34
+ - [Build from Source](#build-from-source)
35
+ - [Project Structure](#project-structure)
36
+ - [Maintainers](#maintainers)
37
+ - [License](#license)
38
+
39
+ ---
40
+
41
+ ## About Meo Code Labs
42
+
43
+ [Meo Code Labs](https://meocode.com) is a research-driven software organization focused on **AI-augmented developer tooling**. We build small, dependable utilities that fit naturally into the workflow of engineers and AI agents alike.
44
+
45
+ - 🌐 Website: [https://meocode.com](https://meocode.com)
46
+ - 🧑‍💻 Lead Maintainer: [@penadidik](https://github.com/penadidik)
47
+ - 🏢 Organization: [github.com/meocode-labs](https://github.com/meocode-labs)
48
+ - 📦 Repositories: [github.com/meocode-labs](https://github.com/meocode-labs)
49
+
50
+ If you use our tools in research or production, we'd love to hear from you.
51
+
52
+ ---
53
+
54
+ ## Why meo-agent?
55
+
56
+ Most developer utilities either:
57
+
58
+ - Are buried inside monolith frameworks
59
+ - Require Node.js on every target machine
60
+ - Have inconsistent semantics across platforms
61
+ - Don't ship as static binaries
62
+
63
+ `meo-agent` from Meo Code Labs takes a different approach:
64
+
65
+ - **Zero external runtime** — packaged as a single static binary
66
+ - **Predictable behavior** — same semantics on Windows, macOS, and Linux
67
+ - **Bundled toolchain** — multiple agents in one repository
68
+ - **Opencode-native** — slash-command integration out of the box
69
+ - **Research-grade** — designed to be auditable, minimal, and scriptable by AI agents
70
+
71
+ ---
72
+
73
+ ## Tools Bundled
74
+
75
+ ### 1. meo-agent (CLI)
76
+
77
+ The flagship tool: a wget clone built from Node.js core modules only.
78
+
79
+ ```bash
80
+ meo-agent https://example.com/file.zip
81
+ ```
82
+
83
+ Features:
84
+
85
+ - HTTP & HTTPS support
86
+ - Auto-detected output filename from URL path (`-o` to override)
87
+ - Streaming writes — no full buffering in memory
88
+ - Progress bar to stderr (`[████░░░░] 50% 1.20/2.40 MB`)
89
+ - Resume interrupted downloads (`-c` / `--continue`)
90
+ - SHA256 checksum verification (`--sha256`)
91
+ - Mirror mode (`-m` / `--mirror`) with depth & limit controls
92
+ - JSON output mode (`--json`) for AI agent consumption
93
+ - Environment diagnostics (`meo-agent doctor`)
94
+ - Plugin system (`meo-agent plugins`) with `before_download` / `after_download` hooks
95
+ - Config file (`~/.meo-agent.json`) for default settings
96
+ - Cross-platform static binary (no Node.js install required on target)
97
+
98
+ **Source:** [`index.js`](index.js) · **Packaging:** [`@yao-pkg/pkg`](https://github.com/yao-pkg/pkg)
99
+
100
+ ---
101
+
102
+ ### 2. developer-kit
103
+
104
+ > *Scaffold a complete use case from a single brief.*
105
+
106
+ Located in [`developer-kit/`](developer-kit/). Generates a folder `usecase-NNN/` containing three structured documents from a one-sentence brief:
107
+
108
+ | File | Contents |
109
+ |------|----------|
110
+ | `requirements.md` | Functional & non-functional requirements, acceptance criteria, assumptions, constraints |
111
+ | `tasks.md` | 5-phase task breakdown (Discovery, Design, Implementation, Quality, Release) |
112
+ | `tdd.md` | Test matrix, edge cases, performance tests, security tests, CI/CD integration |
113
+
114
+ **Usage:**
115
+
116
+ ```bash
117
+ S=~/Developer/meocode/meo-agent/developer-kit/developer-kit.sh
118
+ "$S" ./docs "Add login with OAuth2"
119
+ ```
120
+
121
+ Counter logic auto-detects `usecase-NNN` directories and increments to the next available number. Supports explicit numbering, custom paths, and interactive TUI prompts.
122
+
123
+ Full docs: [`developer-kit/README.md`](developer-kit/README.md)
124
+
125
+ ---
126
+
127
+ ### 3. generate-pr
128
+
129
+ > *Auto-generate a pull request description from your git diff — at the review depth you need.*
130
+
131
+ Located in [`pull_request/`](pull_request/). Two-phase workflow:
132
+
133
+ 1. **Metadata phase** (script) — auto-fills repo, branch, file list, diff stat, and commits
134
+ 2. **Analysis phase** (AI / manual) — fills in `<!-- REVIEW:* -->` placeholders for `lead` / `hod` review levels
135
+
136
+ **Usage:**
137
+
138
+ ```bash
139
+ S=~/Developer/meocode/meo-agent/pull_request/generate-pr.sh
140
+
141
+ # Basic PR description (default)
142
+ "$S"
143
+
144
+ # Lead-level review
145
+ "$S" lead improvements/pickup-report/08062026
146
+
147
+ # HOD-level review with PR number
148
+ "$S" hod request/SCA-Ticketing/17062026 515
149
+ ```
150
+
151
+ Outputs to `pull_request/output/<app_name>/pull_request_<datetime>.md` with auto-suffix to prevent overwrites.
152
+
153
+ Full docs: [`pull_request/README.md`](pull_request/README.md)
154
+
155
+ ---
156
+
157
+ ## Installation
158
+
159
+ ### End Users — Prebuilt Binary (recommended)
160
+
161
+ Download the prebuilt binary from the [**Releases**](../../releases) page.
162
+
163
+ #### Windows
164
+
165
+ ```powershell
166
+ # Download meo-agent-win.exe from latest release, then in PowerShell:
167
+ .\meo-agent-win.exe https://example.com/file.zip
168
+ ```
169
+
170
+ #### macOS
171
+
172
+ ```bash
173
+ chmod +x meo-agent-macos
174
+ ./meo-agent-macos https://example.com/file.zip
175
+ ```
176
+
177
+ #### Linux
178
+
179
+ ```bash
180
+ chmod +x meo-agent-linux
181
+ ./meo-agent-linux https://example.com/file.zip
182
+ ```
183
+
184
+ #### via npm
185
+
186
+ ```bash
187
+ npm install -g @meocode-labs/meo-agent
188
+ meo-agent https://example.com/file.zip
189
+ ```
190
+
191
+ > Requires Node.js ≥ 18 on the target machine.
192
+
193
+ ---
194
+
195
+ ### Developers — From Source
196
+
197
+ ```bash
198
+ git clone https://github.com/meocode-labs/meo-agent.git
199
+ cd meo-agent
200
+ npm install
201
+ npm link # install meo-agent as a global command
202
+ ```
203
+
204
+ After linking, the CLI is available system-wide:
205
+
206
+ ```bash
207
+ meo-agent https://example.com/file.zip
208
+ ```
209
+
210
+ For the companion tools (`developer-kit`, `generate-pr`), invoke directly from source:
211
+
212
+ ```bash
213
+ ./developer-kit/developer-kit.sh ./docs "Add login with OAuth2"
214
+ ./pull_request/generate-pr.sh
215
+ ```
216
+
217
+ For opencode integration, symlink the commands:
218
+
219
+ ```bash
220
+ mkdir -p ~/.config/opencode/command
221
+ ln -s $(pwd)/.opencode/developer-kit.md ~/.config/opencode/command/developer-kit.md
222
+ ln -s $(pwd)/.opencode/generate-pr.md ~/.config/opencode/command/generate-pr.md
223
+ ```
224
+
225
+ Then restart opencode and use `/developer-kit`, `/generate-pr` inside your AI session.
226
+
227
+ To uninstall:
228
+
229
+ ```bash
230
+ npm unlink -g meo-agent
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Usage by Tool
236
+
237
+ ### meo-agent CLI
238
+
239
+ ```
240
+ meo-agent [options] <URL>
241
+ meo-agent [options] mirror <URL> -o <dir>
242
+ meo-agent [options] doctor
243
+ meo-agent [options] plugins
244
+ ```
245
+
246
+ **Options:**
247
+
248
+ | Flag | Description |
249
+ |------|-------------|
250
+ | `-o, --output <name>` | Save to a custom filename (or directory for `mirror`) |
251
+ | `-c, --continue` | Resume a partial download via HTTP `Range` |
252
+ | `-m, --mirror` | Mirror mode — recursively download HTML pages + linked assets |
253
+ | `--mirror-depth <N>` | Max recursion depth for mirror mode (default: 2) |
254
+ | `--mirror-limit <N>` | Max total pages to mirror (default: 50) |
255
+ | `--sha256 <hash>` | Verify downloaded file matches SHA256 hash |
256
+ | `-j, --json` | Emit machine-readable JSON events to stdout |
257
+ | `-q, --quiet` | Suppress progress output, only print errors |
258
+ | `--timeout <sec>` | Network timeout in seconds (default: 30) |
259
+ | `--config <path>` | Load config from custom JSON path |
260
+ | `--list-plugins` | List loaded plugins and exit |
261
+ | `-V, --version` | Print version and exit |
262
+ | `-h, --help` | Print help and exit |
263
+
264
+ **Examples:**
265
+
266
+ ```bash
267
+ # Basic download
268
+ meo-agent https://github.com/meocode-labs/meo-agent/archive/refs/heads/main.zip
269
+
270
+ # Custom output filename
271
+ meo-agent -o backup.zip https://example.com/file.zip
272
+
273
+ # Verify SHA256 checksum
274
+ meo-agent --sha256=abc123... https://example.com/file.zip
275
+
276
+ # Mirror a docs site
277
+ meo-agent --mirror --mirror-depth 3 -o ./docs https://docs.example.com/
278
+
279
+ # Resume an interrupted download
280
+ meo-agent --continue https://example.com/large-file.iso
281
+
282
+ # JSON output for AI agents (pipe to jq)
283
+ meo-agent --json https://example.com/data.json | jq
284
+
285
+ # Quiet mode (errors only)
286
+ meo-agent --quiet https://example.com/file.zip
287
+
288
+ # Environment diagnostics
289
+ meo-agent doctor
290
+
291
+ # List loaded plugins
292
+ meo-agent plugins
293
+ ```
294
+
295
+ **JSON event schema** (emitted one per line when `--json` is set):
296
+
297
+ ```json
298
+ {"event":"start","url":"...","output":"...","ts":1700000000000}
299
+ {"event":"progress","received":1024,"total":2048,"percent":50,"ts":...}
300
+ {"event":"finish","output":"...","bytes":2048,"elapsed_sec":1.23,"status":200,"resumed":false}
301
+ {"event":"error","message":"...","code":"...","ts":...}
302
+ {"event":"checksum_ok","expected":"...","actual":"..."}
303
+ {"event":"mirror_done","count":12,"results":[...]}
304
+ ```
305
+
306
+ **Config file format** (`~/.meo-agent.json`):
307
+
308
+ ```json
309
+ {
310
+ "timeout": 60,
311
+ "retries": 3,
312
+ "headers": { "Authorization": "Bearer ..." },
313
+ "outputDir": "~/Downloads",
314
+ "mirrorMaxDepth": 3,
315
+ "mirrorLimit": 100
316
+ }
317
+ ```
318
+
319
+ **Plugin example** (`~/.meo-agent/plugins/my-plugin.js`):
320
+
321
+ ```js
322
+ module.exports = {
323
+ name: 'my-plugin',
324
+ version: '1.0.0',
325
+ hooks: [
326
+ {
327
+ name: 'before_download',
328
+ handler: async (ctx) => {
329
+ process.stderr.write(`Downloading ${ctx.url}...\n`);
330
+ }
331
+ }
332
+ ]
333
+ };
334
+ ```
335
+
336
+ ### developer-kit
337
+
338
+ ```bash
339
+ developer-kit <docs_dir> "<brief>" [usecase_number]
340
+ ```
341
+
342
+ | Argument | Required | Description |
343
+ |----------|----------|-------------|
344
+ | `docs_dir` | Yes | Target directory (auto-created if missing) |
345
+ | `brief` | Yes | One-sentence use case description |
346
+ | `usecase_number` | No | Explicit 3-digit number (auto-incremented if omitted) |
347
+
348
+ ### generate-pr
349
+
350
+ ```bash
351
+ generate-pr [type] [branch] [pr_number]
352
+ ```
353
+
354
+ | Argument | Required | Default | Description |
355
+ |----------|----------|---------|-------------|
356
+ | `type` | No | `basic` | `basic` \| `lead` \| `hod` |
357
+ | `branch` | No | current | Target branch |
358
+ | `pr_number` | No | `TBD` | PR number for URL |
359
+
360
+ ---
361
+
362
+ ## Build from Source
363
+
364
+ To produce the static binaries yourself (requires Node.js 18+):
365
+
366
+ ```bash
367
+ git clone https://github.com/meocode-labs/meo-agent.git
368
+ cd meo-agent
369
+ npm install
370
+ npm run build
371
+ ```
372
+
373
+ Output inside `dist/`:
374
+
375
+ ```
376
+ dist/meo-agent-win.exe
377
+ dist/meo-agent-macos
378
+ dist/meo-agent-linux
379
+ ```
380
+
381
+ To release a new version:
382
+
383
+ 1. Bump `package.json` → `"version": "1.0.3"`
384
+ 2. Commit and push to `main`
385
+ 3. GitHub Actions auto-creates `v1.0.3` with binaries and full release notes
386
+
387
+ ---
388
+
389
+ ## Project Structure
390
+
391
+ ```
392
+ meo-agent/
393
+ ├── .github/workflows/release.yml # Auto-build & release on push to main
394
+ ├── bin/
395
+ │ └── meo-agent.js # CLI entry point
396
+ ├── lib/ # Core modules
397
+ │ ├── args.js # Argument parser
398
+ │ ├── checksum.js # SHA256 verification
399
+ │ ├── config.js # Config file loader
400
+ │ ├── doctor.js # Environment diagnostics
401
+ │ ├── downloader.js # HTTP/HTTPS download logic
402
+ │ ├── mirror.js # Recursive mirror mode
403
+ │ ├── plugins.js # Plugin manager
404
+ │ └── reporter.js # Output (human + JSON)
405
+ ├── examples/plugins/
406
+ │ └── meo-agent-logger.js # Example plugin
407
+ ├── developer-kit/ # Use case scaffolder (bash + templates)
408
+ │ ├── developer-kit.sh
409
+ │ └── templates/{requirements,tasks,tdd}.md
410
+ ├── pull_request/ # PR description generator (bash + templates)
411
+ │ ├── generate-pr.sh
412
+ │ └── templates/{basic,lead-review,hod-review}.md
413
+ ├── test/
414
+ │ └── test.js # Unit tests (20 assertions)
415
+ ├── index.js # Backward-compat entry → bin/meo-agent.js
416
+ ├── package.json
417
+ ├── README.md
418
+ ├── CHANGELOG.md
419
+ ├── LICENSE
420
+ └── .npmignore
421
+ ```
422
+
423
+ ---
424
+
425
+ ## Maintainers
426
+
427
+ | Role | Maintainer |
428
+ |------|------------|
429
+ | Lead Maintainer & Researcher | [@penadidik](https://github.com/penadidik) |
430
+ | Organization | [Meo Code Labs](https://github.com/meocode-labs) |
431
+ | Website | [https://meocode.com](https://meocode.com) |
432
+
433
+ ---
434
+
435
+ ## Contributing
436
+
437
+ We welcome pull requests, bug reports, and feature proposals. For substantial changes, please open an issue first.
438
+
439
+ ```bash
440
+ git clone https://github.com/YOUR-USERNAME/meo-agent.git
441
+ cd meo-agent
442
+ npm install
443
+ npm link
444
+ npm run build
445
+ ```
446
+
447
+ Commit messages follow [Conventional Commits](https://www.conventionalcommits.org/):
448
+
449
+ - `feat:` — new feature
450
+ - `fix:` — bug fix
451
+ - `chore:` — maintenance / tooling
452
+ - `docs:` — documentation only
453
+ - `refactor:` — code change with no behavior change
454
+
455
+ ---
456
+
457
+ ## Roadmap
458
+
459
+ All initial roadmap items shipped.
460
+
461
+ - [x] Progress bar for large downloads — **shipped in 1.1.0**
462
+ - [x] Resume support (`--continue`) — **shipped in 1.1.0**
463
+ - [x] Custom output filename (`--output <name>`) — **shipped in 1.1.0**
464
+ - [x] JSON output mode for AI agents (`--json`) — **shipped in 1.1.0**
465
+ - [x] `meo-agent doctor` — environment diagnostics — **shipped in 1.1.0**
466
+ - [x] Checksum verification (`--sha256`) — **shipped in 1.2.0**
467
+ - [x] Mirror mode (recursive, with depth & limit) — **shipped in 1.2.0**
468
+ - [x] Config file (`~/.meo-agent.json`) — **shipped in 1.2.0**
469
+ - [x] Plugin architecture with hooks (`before_download`, `after_download`) — **shipped in 1.2.0**
470
+
471
+ Future ideas:
472
+ - [ ] WebDAV / S3 backend support
473
+ - [ ] Interactive TUI mode (`meo-agent tui`)
474
+ - [ ] Auto-update via GitHub Releases API
475
+ - [ ] Multi-URL batch downloads (`meo-agent urls.txt`)
476
+
477
+ ---
478
+
479
+ ## License
480
+
481
+ [MIT](LICENSE) © 2026 [Meo Code Labs](https://meocode.com). Maintained by [@penadidik](https://github.com/penadidik).
482
+
483
+ > *"Small tools, well made, used often."* — Meo Code Labs