@corbat-tech/coco 2.22.2 → 2.23.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/README.md CHANGED
@@ -1,378 +1,155 @@
1
1
  <div align="center">
2
2
 
3
- <img src="docs/assets/logo.png" alt="Coco autonomous AI coding agent" width="640"/>
3
+ <img src="docs/assets/logo.png" alt="Coco - autonomous coding agent" width="560"/>
4
4
 
5
5
  <br/>
6
6
 
7
- [![npm](https://img.shields.io/npm/v/@corbat-tech/coco?style=flat-square&color=a855f7&label=npm)](https://www.npmjs.com/package/@corbat-tech/coco)
8
- [![Node](https://img.shields.io/badge/Node.js-22+-22c55e?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/)
9
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-3178c6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
7
+ [![npm](https://img.shields.io/npm/v/@corbat-tech/coco?style=flat-square&label=npm)](https://www.npmjs.com/package/@corbat-tech/coco)
8
+ [![Node](https://img.shields.io/badge/Node.js-22%2B-22c55e?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/)
10
9
  [![License](https://img.shields.io/badge/license-MIT-f59e0b?style=flat-square)](LICENSE)
11
- [![Tests](https://img.shields.io/badge/tests-5738_passing-22c55e?style=flat-square)](https://github.com/corbat-tech/coco/actions)
12
10
 
13
- <br/>
14
-
15
- [Install](#install) · [Quick Start](#quick-start) · [How It Works](#how-it-works) · [Providers](#providers) · [Skills](#skills) · [Docs](#documentation)
11
+ [Install](#install) · [Quick Start](#quick-start) · [What Coco Does](#what-coco-does) · [Providers](#providers) · [Documentation](#documentation)
16
12
 
17
13
  </div>
18
14
 
19
15
  ---
20
16
 
21
- ## The one-line pitch
17
+ ## What Is Coco?
22
18
 
23
- Most AI tools write code and hand it back. If tests fail or security is off that's your problem. **Coco runs the loop for you**: write → test → measure → fix, until your code actually hits a quality bar worth shipping.
24
-
25
- ---
19
+ Coco is a CLI coding agent for real projects. It can plan work, edit files, run tools and tests, and iterate until a quality threshold is reached.
26
20
 
27
- ## What it looks like
21
+ Core idea: instead of a single "here is some code" response, Coco runs an implementation loop with validation and fixes.
28
22
 
29
- ```
30
- $ coco "Add JWT authentication to the Express API"
31
-
32
- ◆ Converging on requirements...
33
- ◆ Designing architecture — 3 tasks planned
34
-
35
- Task 1/3 JWT middleware
36
- · iter 1 ── score 58 missing error handling, 0 tests written
37
- · iter 2 ── score 79 tests added, OWASP issue detected
38
- · iter 3 ── score 91 ✓ converged
39
-
40
- Task 2/3 Auth routes /login · /refresh · /logout
41
- · iter 1 ── score 71 coverage 42%, input not validated
42
- · iter 2 ── score 89 ✓ converged
43
-
44
- Task 3/3 Integration tests
45
- · iter 1 ── score 94 ✓ converged first try
46
-
47
- ╭───────────── Quality Report ─────────────╮
48
- │ Correctness 96 ████████████████ │
49
- │ Security 100 ████████████████ │
50
- │ Test Coverage 88 ██████████████░░ │
51
- │ Complexity 91 ████████████████ │
52
- │ Documentation 84 █████████████░░░ │
53
- │ ───────────────────────────────────── │
54
- │ Overall 92 ████████████████ │
55
- ╰──────────────────────────────────────────╯
56
-
57
- 3 files written · 47 tests · 88% coverage · 0 vulnerabilities
58
- ```
23
+ ## What Coco Does
59
24
 
60
- ---
25
+ - Multi-step execution in one run: explore -> implement -> test -> refine.
26
+ - Quality mode with convergence scoring (configurable threshold and max iterations).
27
+ - Native tool use: files, git, shell, search/web, review, diff, build/test, MCP servers.
28
+ - Multi-provider support (API, subscription, and local models).
29
+ - Session-oriented REPL with slash commands, context compaction, and resumable workflows.
61
30
 
62
- ## Why Coco
63
-
64
- | What you usually do | What Coco does |
65
- |---------------------|----------------|
66
- | Write code, run tests manually, fix, repeat | Autonomous iterate-until-quality loop |
67
- | Hope your reviewer catches security issues | OWASP pattern analysis on every iteration |
68
- | Guess at test coverage | c8/v8 instrumentation, measured per task |
69
- | One model, one provider, take it or leave it | 12 providers, switch any time |
70
- | Workflows live in your head or Confluence | Reusable skills committed to the repo |
71
-
72
- ### How Coco compares
73
-
74
- | | Coco | Aider | Claude Code | Cursor |
75
- |---|---|---|---|---|
76
- | Quality convergence loop | ✅ | ❌ | ❌ | ❌ |
77
- | Runs tests + measures coverage | ✅ | ❌ | ❌ | ❌ |
78
- | Provider-agnostic (12 providers) | ✅ | ✅ | ❌ Anthropic only | Partial |
79
- | Works in terminal | ✅ | ✅ | ✅ | ❌ IDE only |
80
- | Reusable team workflows (Skills) | ✅ | ❌ | ✅ CLAUDE.md | ❌ |
81
- | MCP tool integration | ✅ | ❌ | ✅ | ✅ |
82
- | Local models (Ollama, LM Studio) | ✅ | ✅ | ❌ | Partial |
83
- | Subscription-based providers | ✅ ChatGPT, Kimi Code | ❌ | ✅ Claude Max | ✅ |
84
-
85
- ---
31
+ Coco is designed to be useful on medium and large repos, not only toy examples.
86
32
 
87
33
  ## Install
88
34
 
89
35
  ### Prerequisites
90
36
 
91
- Coco requires **Node.js 22 or higher**. Check your version:
37
+ - Node.js `22+`
38
+ - macOS or Linux
39
+ - Windows: use WSL2
92
40
 
93
41
  ```bash
94
- node --version # should print v22.x.x or higher
42
+ node --version
95
43
  ```
96
44
 
97
- Don't have Node.js? Install it for your platform:
98
-
99
- **macOS**
100
- ```bash
101
- # Homebrew (recommended)
102
- brew install node
103
-
104
- # Or use the official installer: https://nodejs.org
105
- ```
106
-
107
- **Linux (Debian/Ubuntu)**
108
- ```bash
109
- # Via NodeSource (keeps Node up to date)
110
- curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
111
- sudo apt-get install -y nodejs
112
- ```
113
-
114
- **Linux (Fedora/RHEL)**
115
- ```bash
116
- sudo dnf install nodejs
117
- ```
118
-
119
- **WSL2 (Windows)**
120
-
121
- Coco works great on WSL2. If you don't have WSL2 set up yet:
122
-
123
- ```powershell
124
- # In PowerShell (as Administrator)
125
- wsl --install
126
- ```
127
-
128
- Then open your WSL2 terminal and follow the Linux instructions above.
129
-
130
- > **Native Windows is not supported.** Use WSL2 — it gives you a full Linux environment on Windows with better performance and tool compatibility.
131
-
132
- ---
133
-
134
- ### Install Coco
135
-
136
- Once Node.js 22+ is ready:
45
+ ### Global install
137
46
 
138
47
  ```bash
139
- # npm
140
48
  npm install -g @corbat-tech/coco
141
-
142
- # pnpm
49
+ # or
143
50
  pnpm add -g @corbat-tech/coco
144
-
145
- # bun
146
- bun add -g @corbat-tech/coco
147
51
  ```
148
52
 
149
- Verify the installation:
53
+ Verify:
150
54
 
151
55
  ```bash
152
56
  coco --version
153
57
  ```
154
58
 
155
- ---
156
-
157
59
  ## Quick Start
158
60
 
159
61
  ```bash
160
- # Set your API key (Anthropic recommended, others work too)
161
- export ANTHROPIC_API_KEY="sk-ant-..."
62
+ # Example with Anthropic
63
+ export ANTHROPIC_API_KEY="..."
162
64
 
163
- # Start the interactive REPL — first run guides you through setup
65
+ # Start interactive mode
164
66
  coco
165
67
 
166
- # Or go straight to a task
167
- coco "Build a REST API for user management with tests"
168
- ```
169
-
170
- That's it. On first launch Coco walks you through choosing a provider and model.
171
-
172
- **[5-minute tutorial →](docs/guides/QUICK_START.md)**
173
-
174
- ---
175
-
176
- ## How It Works
177
-
178
- Coco uses the **COCO methodology** — four phases, fully automated:
179
-
180
- ```
181
- CONVERGE ORCHESTRATE COMPLETE OUTPUT
182
- ┌────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────┐
183
- │ Understand │ ──► │ Design │ ──► │ Build with │ ► │ Generate │
184
- │ the task │ │ + backlog │ │ convergence │ │ CI/CD │
185
- └────────────┘ └─────────────┘ └──────────────┘ └──────────┘
186
- ↑ │
187
- │ loop│ score < threshold
188
- └────┘
68
+ # Or run a direct task
69
+ coco "Add JWT auth to this API with tests"
189
70
  ```
190
71
 
191
- **The convergence loop** is what sets Coco apart. After writing each task:
192
-
193
- 1. Runs your test suite
194
- 2. Scores the result across **12 quality dimensions**
195
- 3. Identifies the weakest areas with specific diagnostics
196
- 4. Generates a targeted fix and repeats
197
- 5. Stops when the score meets your threshold (default: **85/100**)
72
+ On first run, Coco guides provider/model setup.
198
73
 
199
- **[Architecture deep dive →](docs/architecture/ARCHITECTURE.md)**
74
+ ## Typical Workflow
200
75
 
201
- ---
202
-
203
- ## 12-Dimension Quality Scoring
204
-
205
- Not vibes real measurements from static analysis and test instrumentation:
206
-
207
- | Dimension | How it's measured |
208
- |-----------|-------------------|
209
- | **Correctness** | Test pass rate + build verification |
210
- | **Security** | OWASP pattern matching (must be 100 to ship) |
211
- | **Test Coverage** | c8/v8 line + branch instrumentation |
212
- | **Complexity** | Cyclomatic complexity via AST |
213
- | **Duplication** | Line-based similarity detection |
214
- | **Style** | oxlint / eslint / biome (your config) |
215
- | **Documentation** | JSDoc / Javadoc coverage |
216
- | **Readability** | Derived from complexity + naming |
217
- | **Maintainability** | Maintainability Index (MI) |
218
- | **Test Quality** | Assertion density, coverage distribution |
219
- | **Completeness** | Requirements traceability |
220
- | **Robustness** | Error handling, edge case coverage |
221
-
222
- Language-specific analyzers for **TypeScript/JavaScript**, **React/TSX**, and **Java**.
223
-
224
- **[Quality guide →](docs/guides/QUALITY.md)**
225
-
226
- ---
227
-
228
- ## Commands
229
-
230
- Type `/help` inside the REPL to see everything. The most useful ones day-to-day:
231
-
232
- | Command | What it does |
233
- |---------|--------------|
234
- | `/quality [on\|off]` | Toggle quality convergence mode (default: on) |
235
- | `/check` | Run typecheck + lint + tests inline |
236
- | `/review` | Code review with severity-rated findings |
237
- | `/diff` | Visual diff with syntax highlighting |
238
- | `/ship` | Full release: review → test → lint → branch → PR → merge |
239
- | `/full-access [on\|off]` | Auto-approve safe tool calls |
240
- | `/permissions` | Show trust status and manage tool allowlist |
241
- | `/permissions allow-commits` | Auto-approve git commits for this project |
242
- | `/status` | Project status, git info, session stats |
243
- | `/compact` | Compress context when the conversation grows long |
244
- | `/copy [N]` or `/cp [N]` | Copy code block #N to clipboard (omit N for last block) |
245
- | `/image [prompt]` | Paste clipboard image and send to agent with optional prompt |
76
+ 1. You give a task.
77
+ 2. Coco proposes or derives a plan.
78
+ 3. Coco edits code and runs tools/tests.
79
+ 4. In quality mode, Coco scores output and iterates on weak points.
80
+ 5. Coco returns summary + diffs/results.
246
81
 
247
- **Keyboard shortcuts:**
82
+ Quality mode is configurable and can be turned on/off per session.
248
83
 
249
- | Key | What it does |
250
- |-----|--------------|
251
- | `Option+C` (macOS) / `Alt+C` (Linux) | Copy last rendered code block to clipboard instantly |
252
- | `Ctrl+V` | Paste clipboard image — accumulates multiple images before Enter |
253
- | `Tab` | Accept ghost-text completion for slash commands |
254
- | `↑` / `↓` | Navigate history / completion menu |
84
+ ## Commands (REPL)
255
85
 
256
- You don't have to use slash commands. Natural language works:
257
-
258
- ```
259
- "review the auth module" → /review
260
- "let's ship this" → /ship
261
- "what changed since yesterday?" → /diff
262
- "update coco" → updates to latest version
263
- ```
86
+ Common commands:
264
87
 
265
- Bilingual: English and Spanish both work out of the box.
88
+ - `/help` show available commands and skills.
89
+ - `/provider` switch provider.
90
+ - `/model` switch model.
91
+ - `/quality [on|off]` toggle convergence mode.
92
+ - `/check` run checks in project context.
93
+ - `/review` run code review workflow.
94
+ - `/diff` inspect current changes.
95
+ - `/ship` run release-oriented workflow.
96
+ - `/permissions` inspect/update tool trust.
97
+ - `/compact` compact session context.
266
98
 
267
- **[Full cookbook and examples →](docs/guides/COOKBOOK.md)**
268
-
269
- ---
99
+ Natural language requests are supported too; commands are optional.
270
100
 
271
101
  ## Providers
272
102
 
273
- Coco is provider-agnostic. Bring your own key or run fully local:
274
-
275
- | Provider | Models | Auth |
276
- |----------|--------|------|
277
- | **Anthropic** ⭐ | Claude Opus, Sonnet, Haiku | API key / OAuth |
278
- | **OpenAI** | GPT-4.1, o4-mini, Codex | API key / OAuth |
279
- | **Google** | Gemini 2.5 Pro/Flash | API key / gcloud |
280
- | **Groq** | Llama 4, Mixtral, Gemma | API key |
281
- | **OpenRouter** | 200+ models | API key |
282
- | **Mistral AI** | Mistral Large, Codestral | API key |
283
- | **DeepSeek** | DeepSeek-V3, DeepSeek-R1 | API key |
284
- | **Together AI** | Llama 4, Qwen, Falcon | API key |
285
- | **xAI** | Grok-2, Grok-2-vision | API key |
286
- | **Cohere** | Command R+ | API key |
287
- | **Ollama** | Any local model | Local |
288
- | **LM Studio** | Any GGUF model | Local |
289
-
290
- Switch provider mid-session: `coco config set provider groq`
291
-
292
- **[Provider guide + compatibility matrix →](docs/guides/PROVIDERS.md)**
293
-
294
- ---
295
-
296
- ## Skills
297
-
298
- Skills are reusable workflows committed to your repo. They're discovered automatically — no registration step.
299
-
300
- **Three scopes, one system:**
301
-
302
- ```
303
- ~/.coco/skills/ # your machine — personal workflows
304
- .coco/skills/ # this repo — shared with the team
305
- built-in # shipped with coco
306
- ```
307
-
308
- **Using a skill:**
103
+ Coco currently supports these provider IDs:
309
104
 
310
- ```
311
- /ship # full release pipeline
312
- /review # code review
313
- /check # quality gate
314
- ```
315
-
316
- **Creating a project skill** — create `.coco/skills/deploy.md`:
317
-
318
- ```markdown
319
- ---
320
- name: deploy
321
- description: Deploy to staging and run smoke tests
322
- ---
323
-
324
- Run `pnpm build`, then deploy to staging with `./scripts/deploy.sh staging`,
325
- then hit the health endpoint and verify 200. Report any failures clearly.
326
- ```
105
+ - `anthropic`
106
+ - `openai`
107
+ - `copilot`
108
+ - `gemini`
109
+ - `kimi`
110
+ - `kimi-code`
111
+ - `groq`
112
+ - `openrouter`
113
+ - `mistral`
114
+ - `deepseek`
115
+ - `together`
116
+ - `huggingface`
117
+ - `qwen`
118
+ - `ollama` (local)
119
+ - `lmstudio` (local)
327
120
 
328
- Now anyone on the team can type `/deploy`.
121
+ Notes:
329
122
 
330
- Skills support Markdown, YAML, and JSON. The skills system auto-reloads on change.
123
+ - `openai` supports API-key mode and OAuth flow (mapped internally when needed).
124
+ - `copilot` and subscription-backed providers rely on their own auth flow.
125
+ - Local providers run through OpenAI-compatible endpoints.
331
126
 
332
- **[Skills cookbook →](docs/guides/COOKBOOK.md#skills)**
127
+ For setup details and model matrix:
333
128
 
334
- ---
129
+ - [Provider Guide](docs/guides/PROVIDERS.md)
335
130
 
336
- ## MCP Integration
131
+ ## Skills and MCP
337
132
 
338
- Connect Coco to any MCP-compatible server — filesystem, databases, APIs, browser automation:
133
+ Coco supports:
339
134
 
340
- ```bash
341
- # Add the official filesystem server
342
- coco mcp add filesystem \
343
- --command "npx" \
344
- --args "-y,@modelcontextprotocol/server-filesystem,/home/user"
345
-
346
- # Add a database server
347
- coco mcp add postgres \
348
- --command "npx" \
349
- --args "-y,@modelcontextprotocol/server-postgres" \
350
- --env "DATABASE_URL=postgresql://..."
351
- ```
135
+ - Built-in skills (for example `/review`, `/ship`, `/open`, `/diff`).
136
+ - Project/user skills loaded from skill files.
137
+ - MCP servers for external tools and systems.
352
138
 
353
- Once connected, MCP tools are registered and available to the agent alongside built-in tools.
139
+ References:
354
140
 
355
- **[MCP guide →](docs/MCP.md)**
356
-
357
- ---
141
+ - [MCP Guide](docs/MCP.md)
142
+ - [Cookbook](docs/guides/COOKBOOK.md)
358
143
 
359
144
  ## Configuration
360
145
 
361
- ```bash
362
- # Project config (committed to the repo)
363
- cat .coco.config.json
364
-
365
- # CLI config
366
- coco config list
367
- coco config set quality.minScore 90
368
- coco config set provider deepseek
369
- ```
146
+ Project-level config in `.coco.config.json` and CLI-level config via `coco config`.
370
147
 
371
- `.coco.config.json` example:
148
+ Example:
372
149
 
373
150
  ```json
374
151
  {
375
- "name": "my-api",
152
+ "name": "my-service",
376
153
  "language": "typescript",
377
154
  "quality": {
378
155
  "minScore": 88,
@@ -381,40 +158,19 @@ coco config set provider deepseek
381
158
  }
382
159
  ```
383
160
 
384
- **[Configuration reference →](docs/guides/CONFIGURATION.md)**
385
-
386
- ---
387
-
388
- ## Multi-Agent Architecture
389
-
390
- Six specialized agents route automatically based on the task:
391
-
392
- - **Researcher** — codebase exploration, context gathering
393
- - **Coder** — implementation (default for most tasks)
394
- - **Tester** — test generation and coverage improvement
395
- - **Reviewer** — quality audits, security analysis
396
- - **Optimizer** — refactoring, performance improvements
397
- - **Planner** — architecture, task decomposition
161
+ See:
398
162
 
399
- For complex tasks, agents run in parallel where dependencies allow.
400
-
401
- ---
163
+ - [Configuration Guide](docs/guides/CONFIGURATION.md)
402
164
 
403
165
  ## Documentation
404
166
 
405
- | Guide | What's in it |
406
- |-------|-------------|
407
- | [Quick Start](docs/guides/QUICK_START.md) | Install, setup, first project |
408
- | **[Cookbook & Examples](docs/guides/COOKBOOK.md)** | Prompting patterns, skills, MCP, daily workflows |
409
- | [Configuration](docs/guides/CONFIGURATION.md) | Full config reference |
410
- | [Providers](docs/guides/PROVIDERS.md) | Provider setup, compatibility, cost table |
411
- | [Quality Guide](docs/guides/QUALITY.md) | 12-dimension analysis, language support, CI |
412
- | [GitHub Actions](docs/guides/GITHUB-ACTIONS.md) | CI/CD integration, PR comments |
413
- | [MCP Integration](docs/MCP.md) | Connecting external tools |
414
- | [Architecture](docs/architecture/ARCHITECTURE.md) | System design, ADRs |
415
- | [Troubleshooting](docs/guides/TROUBLESHOOTING.md) | Common issues |
416
-
417
- ---
167
+ - [Quick Start](docs/guides/QUICK_START.md)
168
+ - [Cookbook](docs/guides/COOKBOOK.md)
169
+ - [Quality Guide](docs/guides/QUALITY.md)
170
+ - [Providers](docs/guides/PROVIDERS.md)
171
+ - [Architecture](docs/architecture/ARCHITECTURE.md)
172
+ - [Troubleshooting](docs/guides/TROUBLESHOOTING.md)
173
+ - [Release Workflow](docs/RELEASE_WORKFLOW.md)
418
174
 
419
175
  ## Development
420
176
 
@@ -423,57 +179,39 @@ git clone https://github.com/corbat-tech/coco
423
179
  cd coco
424
180
  pnpm install
425
181
 
426
- pnpm dev # run with tsx (hot reload)
427
- pnpm check # typecheck + lint + test
428
- pnpm test # 5604 tests
429
- pnpm format:fix # fix formatting
182
+ pnpm build
183
+ pnpm test
184
+ pnpm check
430
185
  ```
431
186
 
432
- **Stack:** TypeScript · Node.js 22 · Vitest · oxlint · oxfmt · Zod · Commander
187
+ Tech stack:
433
188
 
434
- ---
435
-
436
- ## Known Limitations
189
+ - TypeScript (ESM)
190
+ - Vitest
191
+ - oxlint / oxfmt
192
+ - Zod
193
+ - Commander
437
194
 
438
- - **CLI only** no VS Code extension yet
439
- - **Convergence takes time** — expect 2–5 min per task depending on complexity
440
- - **Quality depends on the model** — Claude Opus gives the best results; smaller models score lower
441
- - **Not yet battle-tested at enterprise scale** — production use at medium-scale projects, feedback welcome
195
+ ## Current Scope and Limitations
442
196
 
443
- ---
197
+ - CLI-first product; VS Code extension source is in `vscode-extension/`.
198
+ - Quality scores depend on project testability and model/tool quality.
199
+ - Provider behavior can vary by endpoint/model generation.
200
+ - Some advanced flows require external tooling (git, CI, MCP servers) to be installed/configured.
444
201
 
445
202
  ## Privacy
446
203
 
447
- Coco sends your prompts and relevant code context to the LLM provider you configure. Your code is not stored by Coco and is not used to train models — that is governed by each provider's own data policy:
204
+ Coco sends prompts and selected context to the configured provider.
448
205
 
449
- - **Anthropic**: https://www.anthropic.com/privacy
450
- - **OpenAI**: https://openai.com/policies/privacy-policy
451
- - **Google Gemini**: https://policies.google.com/privacy
452
- - **Local models** (Ollama, LM Studio): nothing leaves your machine
453
-
454
- Coco does not collect telemetry. No usage data is sent to Corbat.
455
-
456
- ---
206
+ - Coco itself does not claim ownership of your code.
207
+ - Provider-side data handling depends on each provider policy.
208
+ - Local providers (`ollama`, `lmstudio`) keep inference on your machine.
457
209
 
458
210
  ## Contributing
459
211
 
460
- Contributions welcome — especially new quality analyzers and providers.
461
-
462
- - Bug reports: [GitHub Issues](https://github.com/corbat-tech/coco/issues)
463
- - See [CONTRIBUTING.md](./CONTRIBUTING.md) for the development workflow
464
-
465
- ---
212
+ - [CONTRIBUTING.md](CONTRIBUTING.md)
213
+ - Issues and proposals: [GitHub Issues](https://github.com/corbat-tech/coco/issues)
466
214
 
467
215
  ## License
468
216
 
469
- MIT © [Corbat](https://corbat.tech)
470
-
471
- ---
472
-
473
- <div align="center">
474
-
475
- **Write the requirement. Coco does the rest.** 🥥
476
-
477
- [npm](https://www.npmjs.com/package/@corbat-tech/coco) · [GitHub](https://github.com/corbat-tech/coco) · [corbat.tech](https://corbat.tech)
478
-
479
- </div>
217
+ MIT © Corbat