create-merlin-brain 3.22.0 → 4.0.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/README.md +38 -4
- package/bin/merlin-ask.cjs +111 -0
- package/bin/merlin-cli.cjs +22 -0
- package/bin/runtime-adapters.cjs +709 -28
- package/dist/server/api/client.d.ts +2 -0
- package/dist/server/api/client.d.ts.map +1 -1
- package/dist/server/api/client.js +4 -0
- package/dist/server/api/client.js.map +1 -1
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +56 -4
- package/dist/server/server.js.map +1 -1
- package/dist/server/tools/auto-mode.d.ts +9 -0
- package/dist/server/tools/auto-mode.d.ts.map +1 -0
- package/dist/server/tools/auto-mode.js +231 -0
- package/dist/server/tools/auto-mode.js.map +1 -0
- package/dist/server/tools/computer-use.d.ts +8 -0
- package/dist/server/tools/computer-use.d.ts.map +1 -0
- package/dist/server/tools/computer-use.js +355 -0
- package/dist/server/tools/computer-use.js.map +1 -0
- package/dist/server/tools/dream.d.ts +9 -0
- package/dist/server/tools/dream.d.ts.map +1 -0
- package/dist/server/tools/dream.js +246 -0
- package/dist/server/tools/dream.js.map +1 -0
- package/dist/server/tools/help.d.ts +3 -0
- package/dist/server/tools/help.d.ts.map +1 -0
- package/dist/server/tools/help.js +110 -0
- package/dist/server/tools/help.js.map +1 -0
- package/dist/server/tools/hud.d.ts +13 -0
- package/dist/server/tools/hud.d.ts.map +1 -0
- package/dist/server/tools/hud.js +295 -0
- package/dist/server/tools/hud.js.map +1 -0
- package/dist/server/tools/index.d.ts +5 -0
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +5 -0
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/provider-ask.d.ts +10 -0
- package/dist/server/tools/provider-ask.d.ts.map +1 -0
- package/dist/server/tools/provider-ask.js +234 -0
- package/dist/server/tools/provider-ask.js.map +1 -0
- package/dist/server/tools/rate-limit.d.ts +8 -0
- package/dist/server/tools/rate-limit.d.ts.map +1 -0
- package/dist/server/tools/rate-limit.js +184 -0
- package/dist/server/tools/rate-limit.js.map +1 -0
- package/dist/server/tools/skills.d.ts +16 -0
- package/dist/server/tools/skills.d.ts.map +1 -0
- package/dist/server/tools/skills.js +326 -0
- package/dist/server/tools/skills.js.map +1 -0
- package/dist/server/tools/team-workers.d.ts +7 -0
- package/dist/server/tools/team-workers.d.ts.map +1 -0
- package/dist/server/tools/team-workers.js +271 -0
- package/dist/server/tools/team-workers.js.map +1 -0
- package/dist/server/utils/merlin-manifest.d.ts +6 -1
- package/dist/server/utils/merlin-manifest.d.ts.map +1 -1
- package/dist/server/utils/merlin-manifest.js +34 -1
- package/dist/server/utils/merlin-manifest.js.map +1 -1
- package/files/CLAUDE.md +22 -0
- package/files/hooks/rate-limit-watch.sh +120 -0
- package/files/hooks/statusline.sh +148 -0
- package/files/merlin/skills/SKILLS-INDEX.md +82 -0
- package/files/merlin/skills/automation/payments.md +14 -0
- package/files/merlin/skills/automation/webhooks.md +14 -0
- package/files/merlin/skills/coding/accessibility.md +14 -0
- package/files/merlin/skills/coding/api-design.md +14 -0
- package/files/merlin/skills/coding/debug-mode.md +14 -0
- package/files/merlin/skills/coding/focus-mode.md +14 -0
- package/files/merlin/skills/coding/loop.md +14 -0
- package/files/merlin/skills/coding/performance.md +14 -0
- package/files/merlin/skills/coding/react-patterns.md +51 -0
- package/files/merlin/skills/coding/security-hardening.md +56 -0
- package/files/merlin/skills/coding/verify.md +14 -0
- package/files/merlin/skills/communication/dispatcher.md +40 -0
- package/files/merlin/skills/communication/email-gmail.md +31 -0
- package/files/merlin/skills/communication/telegram.md +50 -0
- package/files/merlin/skills/communication/whatsapp.md +47 -0
- package/files/merlin/skills/data/google-sheets.md +14 -0
- package/files/merlin/skills/design/animation.md +14 -0
- package/files/merlin/skills/devops/docker-containers.md +14 -0
- package/files/merlin/skills/research/brainstorm.md +14 -0
- package/files/merlin/skills/testing/tdd-workflow.md +58 -0
- package/package.json +4 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: animation
|
|
3
|
+
name: Motion Design
|
|
4
|
+
domain: coding
|
|
5
|
+
category: design
|
|
6
|
+
tags: [animation, framer-motion, gsap, motion, transitions]
|
|
7
|
+
version: 1
|
|
8
|
+
source: builtin
|
|
9
|
+
successRate: 0
|
|
10
|
+
usageCount: 0
|
|
11
|
+
evolution: []
|
|
12
|
+
---
|
|
13
|
+
# Motion Design
|
|
14
|
+
Create smooth, performant animations. Use Framer Motion for React component enter/exit/layout animations. Use CSS transitions for simple hover/focus states (cheaper than JS). Use GSAP for complex timelines and scroll-triggered animations. Always target 60fps — prefer `transform` and `opacity` (GPU-composited) over `width`, `height`, `top`, `left` (trigger layout). Use `will-change` sparingly. Respect `prefers-reduced-motion` media query.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docker-containers
|
|
3
|
+
name: Docker & Containers
|
|
4
|
+
domain: coding
|
|
5
|
+
category: devops
|
|
6
|
+
tags: [docker, containers, dockerfile, docker-compose, devops]
|
|
7
|
+
version: 1
|
|
8
|
+
source: builtin
|
|
9
|
+
successRate: 0
|
|
10
|
+
usageCount: 0
|
|
11
|
+
evolution: []
|
|
12
|
+
---
|
|
13
|
+
# Docker & Containers
|
|
14
|
+
Use Docker best practices: multi-stage builds (build stage + runtime stage), minimal base images (alpine/distroless), non-root users (USER node), health checks (HEALTHCHECK CMD), proper layer caching (COPY package.json first, then npm install, then COPY source), .dockerignore for node_modules/dist/.git. Docker Compose for multi-service local dev. Pin image versions (node:20-alpine, not node:latest).
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: brainstorm
|
|
3
|
+
name: Brainstorm
|
|
4
|
+
domain: research
|
|
5
|
+
category: ideation
|
|
6
|
+
tags: [brainstorm, ideation, exploration, approaches]
|
|
7
|
+
version: 1
|
|
8
|
+
source: builtin
|
|
9
|
+
successRate: 0
|
|
10
|
+
usageCount: 0
|
|
11
|
+
evolution: []
|
|
12
|
+
---
|
|
13
|
+
# Brainstorm
|
|
14
|
+
Before implementing, brainstorm 3-5 different approaches. Present them to the user with pros/cons for each. Wait for selection before proceeding. Consider: simplicity, maintainability, performance, time-to-implement, and alignment with existing architecture.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: tdd-workflow
|
|
3
|
+
name: Test-Driven Development
|
|
4
|
+
domain: coding
|
|
5
|
+
category: testing
|
|
6
|
+
tags: [tdd, testing, jest, vitest, pytest, red-green-refactor]
|
|
7
|
+
version: 1
|
|
8
|
+
source: builtin
|
|
9
|
+
successRate: 0
|
|
10
|
+
usageCount: 0
|
|
11
|
+
evolution: []
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Test-Driven Development
|
|
15
|
+
|
|
16
|
+
Follow the RED-GREEN-REFACTOR cycle for every feature.
|
|
17
|
+
|
|
18
|
+
## The Cycle
|
|
19
|
+
1. **RED** — Write a failing test that describes the desired behavior
|
|
20
|
+
2. **GREEN** — Write the minimum code to make the test pass
|
|
21
|
+
3. **REFACTOR** — Clean up without changing behavior, tests still pass
|
|
22
|
+
|
|
23
|
+
## Rules
|
|
24
|
+
- Never write production code without a failing test first
|
|
25
|
+
- Each test should test ONE behavior (not one function — one behavior)
|
|
26
|
+
- Test names describe the behavior: `should return 404 when user not found`
|
|
27
|
+
- Run tests after every change — the cycle takes minutes, not hours
|
|
28
|
+
|
|
29
|
+
## What to Test
|
|
30
|
+
- Happy path (expected input → expected output)
|
|
31
|
+
- Edge cases (empty input, null, boundary values, max length)
|
|
32
|
+
- Error cases (invalid input, network failure, permission denied)
|
|
33
|
+
- Integration points (API contracts, database queries, external services)
|
|
34
|
+
|
|
35
|
+
## What NOT to Test
|
|
36
|
+
- Implementation details (private methods, internal state)
|
|
37
|
+
- Framework code (React rendering, Express routing)
|
|
38
|
+
- Third-party libraries (they have their own tests)
|
|
39
|
+
- Trivial code (getters, setters, simple pass-through)
|
|
40
|
+
|
|
41
|
+
## Test Structure
|
|
42
|
+
```
|
|
43
|
+
describe('[Unit Under Test]', () => {
|
|
44
|
+
describe('[Scenario]', () => {
|
|
45
|
+
it('should [expected behavior] when [condition]', () => {
|
|
46
|
+
// Arrange — set up test data and dependencies
|
|
47
|
+
// Act — call the function / trigger the behavior
|
|
48
|
+
// Assert — verify the result
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Mocking
|
|
55
|
+
- Mock at boundaries: external APIs, databases, file system, time
|
|
56
|
+
- Don't mock the thing you're testing
|
|
57
|
+
- Prefer dependency injection over module mocking
|
|
58
|
+
- Reset mocks between tests (`afterEach(() => jest.restoreAllMocks())`)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-merlin-brain",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Merlin - The Ultimate AI Brain for Claude Code. One install: workflows, agents, loop, and Sights MCP server.",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"description": "Merlin - The Ultimate AI Brain for Claude Code, Codex, and other AI CLIs. One install: workflows, agents, loop, and Sights MCP server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/server/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
"keywords": [
|
|
24
24
|
"claude",
|
|
25
25
|
"claude-code",
|
|
26
|
+
"codex",
|
|
27
|
+
"codex-cli",
|
|
26
28
|
"merlin",
|
|
27
29
|
"mcp",
|
|
28
30
|
"model-context-protocol",
|