codymaster 7.0.0 → 7.0.2

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
@@ -6,7 +6,7 @@
6
6
 
7
7
  **50+ skills. One install. Your AI coding agent becomes a full team.**
8
8
 
9
- **v7.0 — Browse Hybrid Bridge:** AI-native browser automation with a11y snapshots, error collection, video recording.
9
+ **v7.0.2 — Browse Hybrid Bridge:** AI-native browser automation with a11y snapshots, error collection, video recording.
10
10
 
11
11
  ```
12
12
  ( . \ --- / . )
@@ -17,6 +17,9 @@
17
17
  Meet Cody 🐹
18
18
  ```
19
19
 
20
+ [![npm version](https://img.shields.io/npm/v/codymaster.svg)](https://www.npmjs.com/package/codymaster)
21
+ [![npm downloads](https://img.shields.io/npm/dm/codymaster.svg)](https://www.npmjs.com/package/codymaster)
22
+ [![license](https://img.shields.io/npm/l/codymaster.svg)](https://github.com/tody-agent/codymaster/blob/main/LICENSE)
20
23
  [![Discord](https://img.shields.io/badge/Discord-Join-7289da?logo=discord&logoColor=white)](https://discord.gg/codymaster)
21
24
 
22
25
  ---
@@ -249,6 +252,14 @@ cm dashboard # Open the visual dashboard
249
252
  bash <(curl -fsSL https://raw.githubusercontent.com/tody-agent/codymaster/main/install.sh) --all --profile core
250
253
  ```
251
254
 
255
+ ### What's in the package
256
+
257
+ - **50+ skills** — ready-to-use SKILL.md files for every major AI coding agent
258
+ - **CLI (`cm`)** — install wizard, doctor, dashboard, MCP server, browse daemon
259
+ - **Skill profiles** — curated bundles: `core`, `growth`, `full`, `knowledge`
260
+ - **Multi-platform** — installs to Claude Code, Cursor, Gemini, Codex, OpenCode, Windsurf, Cline, Aider, Continue, Kiro, Amazon Q, Amp, Copilot, Claude Desktop
261
+ - **Zero config** — detects your tools, installs skills, you're done
262
+
252
263
  ---
253
264
 
254
265
  ## The Dashboard
@@ -315,6 +326,71 @@ cm mcp-serve --print-config # Paste into Goose config
315
326
 
316
327
  ---
317
328
 
329
+ ## CLI Commands
330
+
331
+ | Command | Description |
332
+ |---------|-------------|
333
+ | `cm` | Launch interactive wizard (auto-detect AI tools) |
334
+ | `cm doctor` | Check installation health across all platforms |
335
+ | `cm status` | View current tasks and progress |
336
+ | `cm dashboard` | Open visual mission control |
337
+ | `cm install <platform> --profile <name>` | Install skills to a specific platform |
338
+ | `cm update --full` | Update all skills to latest |
339
+ | `cm upgrade` | Upgrade CodyMaster itself |
340
+ | `cm mcp-serve` | Run as MCP server for Claude Desktop |
341
+ | `cm browse` | Open a URL in the browse daemon |
342
+ | `cm browse screenshot <url>` | Capture a screenshot |
343
+ | `cm browse snapshot <url>` | Get accessibility tree snapshot |
344
+
345
+ ### Skill Profiles
346
+
347
+ | Profile | Skills | Best For |
348
+ |---------|--------|----------|
349
+ | `core` | 15 | Daily coding — planning, TDD, debug, review, deploy |
350
+ | `growth` | 25 | + design system, i18n, content factory |
351
+ | `full` | 50+ | Everything — full senior team |
352
+ | `knowledge` | 10 | Docs, code intelligence, retros |
353
+
354
+ ```bash
355
+ cm install claude-code --profile core
356
+ cm install cursor --profile growth
357
+ cm install gemini --profile full
358
+ ```
359
+
360
+ ---
361
+
362
+ ## Troubleshooting
363
+
364
+ ### `cm: command not found`
365
+
366
+ ```bash
367
+ # Make sure global npm bin is in PATH
368
+ npm config get prefix
369
+ # Add the output bin/ folder to your PATH
370
+ ```
371
+
372
+ ### Skills not showing in AI agent
373
+
374
+ ```bash
375
+ cm doctor # Check what's installed where
376
+ cm install --all # Re-install to all detected platforms
377
+ ```
378
+
379
+ ### Build fails
380
+
381
+ ```bash
382
+ npm run build # Rebuild TypeScript
383
+ npm run test:gate:kit # Run full quality gate
384
+ ```
385
+
386
+ ### Permission errors (macOS/Linux)
387
+
388
+ ```bash
389
+ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
390
+ ```
391
+
392
+ ---
393
+
318
394
  ## Contributing
319
395
 
320
396
  1. ⭐ **Star the repo** — helps more builders find this
@@ -335,6 +411,8 @@ CI runs `npm run test:gate:kit` on every push and PR.
335
411
  | 🎨 Design Pipeline | [docs/design-pipeline.md](docs/design-pipeline.md) |
336
412
  | 🛠️ Skills | [skills/](skills/) |
337
413
  | 📖 Our Story | [cody.todyle.com/story](https://cody.todyle.com/story) |
414
+ | 📋 Changelog | [CHANGELOG.md](CHANGELOG.md) |
415
+ | 🐛 Issues | [GitHub Issues](https://github.com/tody-agent/codymaster/issues) |
338
416
 
339
417
  ---
340
418
 
@@ -55,7 +55,7 @@ const advisory_report_1 = require("./advisory-report");
55
55
  const advisory_handoff_1 = require("./advisory-handoff");
56
56
  // ─── Config ──────────────────────────────────────────────────────────────────
57
57
  const SERVER_NAME = 'cm-context';
58
- const SERVER_VERSION = '1.0.0';
58
+ const SERVER_VERSION = JSON.parse(require('fs').readFileSync(require('path').join(__dirname, '..', 'package.json'), 'utf-8')).version;
59
59
  function getProjectPath() {
60
60
  const args = process.argv.slice(2);
61
61
  const idx = args.indexOf('--project');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codymaster",
3
- "version": "7.0.0",
3
+ "version": "7.0.2",
4
4
  "description": "CodyMaster v7.0 — 50+ AI agent skills with Browse Hybrid Bridge (agent-browser + Playwright), a11y snapshots, structured error collection, video recording. Hybrid browser automation for visual QA and testing.",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -43,6 +43,11 @@
43
43
  "update:sync": "cm update --sync",
44
44
  "update:changelog": "cm update --changelog",
45
45
  "upgrade": "cm upgrade",
46
+ "release": "bash scripts/release.sh",
47
+ "release:patch": "bash scripts/release.sh patch",
48
+ "release:minor": "bash scripts/release.sh minor",
49
+ "release:major": "bash scripts/release.sh major",
50
+ "install:curl": "curl -fsSL https://raw.githubusercontent.com/todyle/codymaster/main/scripts/install.sh | bash",
46
51
  "docs:dev": "vitepress dev docs",
47
52
  "docs:build": "vitepress build docs",
48
53
  "docs:preview": "vitepress preview docs"
@@ -76,18 +81,19 @@
76
81
  },
77
82
  "dependencies": {
78
83
  "@clack/prompts": "^1.1.0",
84
+ "ajv": "^8.20.0",
79
85
  "async-mutex": "^0.5.0",
80
86
  "better-sqlite3": "^12.8.0",
81
87
  "chalk": "^5.6.2",
82
88
  "chokidar": "^5.0.0",
89
+ "codymaster": "^7.0.2",
83
90
  "commander": "^14.0.3",
84
91
  "express": "^5.2.1",
92
+ "pino": "^10.0.0",
93
+ "pino-http": "^11.0.0",
85
94
  "prompts": "^2.4.2",
86
95
  "ws": "^8.20.0",
87
- "yaml": "^2.8.3",
88
- "ajv": "^8.20.0",
89
- "pino": "^10.0.0",
90
- "pino-http": "^11.0.0"
96
+ "yaml": "^2.8.3"
91
97
  },
92
98
  "devDependencies": {
93
99
  "@types/better-sqlite3": "^7.6.13",
@@ -104,6 +110,8 @@
104
110
  "vitest": "^4.1.0"
105
111
  },
106
112
  "overrides": {
107
- "path-to-regexp": "^8.4.0"
113
+ "path-to-regexp": "^8.4.0",
114
+ "esbuild": "^0.25.0",
115
+ "vite": "^8.0.0"
108
116
  }
109
117
  }
@@ -0,0 +1,126 @@
1
+ #!/bin/bash
2
+ # CodyMaster Release Script
3
+ # Usage: bash scripts/release.sh [patch|minor|major|v1.2.3]
4
+ #
5
+ # Bumps version, updates changelog, commits, tags, and pushes.
6
+ # GitHub Actions will handle npm publish on tag push.
7
+
8
+ set -e
9
+
10
+ RED='\033[0;31m'
11
+ GREEN='\033[0;32m'
12
+ YELLOW='\033[1;33m'
13
+ BLUE='\033[0;34m'
14
+ BOLD='\033[1m'
15
+ RESET='\033[0m'
16
+
17
+ info() { echo -e "${BLUE} ℹ ${RESET}$1"; }
18
+ ok() { echo -e "${GREEN} ✅ ${RESET}$1"; }
19
+ warn() { echo -e "${YELLOW} ⚠️ ${RESET}$1"; }
20
+ err() { echo -e "${RED} ❌ ${RESET}$1"; exit 1; }
21
+
22
+ BUMP_TYPE="${1:-patch}"
23
+ REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
24
+ PKG_JSON="$REPO_ROOT/package.json"
25
+
26
+ # ─── Pre-checks ──────────────────────────────────────────────────
27
+ echo ""
28
+ echo -e "${BOLD} 🐹 CodyMaster Release${RESET}"
29
+ echo ""
30
+
31
+ # Ensure clean working tree
32
+ if [ -n "$(git status --porcelain)" ]; then
33
+ err "Working tree is not clean. Commit or stash changes first."
34
+ fi
35
+
36
+ # Ensure on main/master
37
+ CURRENT_BRANCH=$(git branch --show-current)
38
+ if [ "$CURRENT_BRANCH" != "main" ] && [ "$CURRENT_BRANCH" != "master" ]; then
39
+ warn "Not on main branch (currently on: $CURRENT_BRANCH)"
40
+ read -p " Continue anyway? (y/N) " -n 1 -r
41
+ echo ""
42
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
43
+ exit 1
44
+ fi
45
+ fi
46
+
47
+ # ─── Calculate new version ───────────────────────────────────────
48
+ CURRENT_VERSION=$(node -p "require('./package.json').version" 2>/dev/null)
49
+ info "Current version: v$CURRENT_VERSION"
50
+
51
+ case "$BUMP_TYPE" in
52
+ patch) NEW_VERSION=$(echo "$CURRENT_VERSION" | awk -F. '{print $1"."$2"."$3+1}') ;;
53
+ minor) NEW_VERSION=$(echo "$CURRENT_VERSION" | awk -F. '{print $1"."$2+1".0"}') ;;
54
+ major) NEW_VERSION=$(echo "$CURRENT_VERSION" | awk -F. '{print $1+1".0.0"}' ;;
55
+ v*) NEW_VERSION="${BUMP_TYPE#v}" ;;
56
+ *)
57
+ err "Usage: $0 [patch|minor|major|v1.2.3]"
58
+ ;;
59
+ esac
60
+
61
+ info "New version: v$NEW_VERSION"
62
+ echo ""
63
+
64
+ # Confirm
65
+ read -p " Release v$NEW_VERSION? (y/N) " -n 1 -r
66
+ echo ""
67
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
68
+ info "Aborted."
69
+ exit 0
70
+ fi
71
+
72
+ # ─── Bump version in package.json ────────────────────────────────
73
+ info "Bumping version in package.json..."
74
+ node -e "
75
+ const fs = require('fs');
76
+ const pkg = JSON.parse(fs.readFileSync('$PKG_JSON', 'utf-8'));
77
+ pkg.version = '$NEW_VERSION';
78
+ fs.writeFileSync('$PKG_JSON', JSON.stringify(pkg, null, 2) + '\n');
79
+ "
80
+ ok "package.json updated"
81
+
82
+ # ─── Sync MCP server version ─────────────────────────────────────
83
+ MCP_FILE="$REPO_ROOT/src/mcp-context-server.ts"
84
+ if [ -f "$MCP_FILE" ]; then
85
+ sed -i '' "s/SERVER_VERSION = '[^']*'/SERVER_VERSION = '$NEW_VERSION'/" "$MCP_FILE" 2>/dev/null || \
86
+ sed -i "s/SERVER_VERSION = '[^']*'/SERVER_VERSION = '$NEW_VERSION'/" "$MCP_FILE" 2>/dev/null
87
+ ok "MCP server version synced"
88
+ fi
89
+
90
+ # ─── Update changelog ────────────────────────────────────────────
91
+ info "Updating changelog..."
92
+ if [ -f "$REPO_ROOT/scripts/update-changelog.sh" ]; then
93
+ bash "$REPO_ROOT/scripts/update-changelog.sh" || warn "Changelog update failed (non-fatal)"
94
+ ok "Changelog updated"
95
+ else
96
+ warn "Changelog script not found, skipping"
97
+ fi
98
+
99
+ # ─── Build ───────────────────────────────────────────────────────
100
+ info "Building..."
101
+ npm run build 2>/dev/null || npx tsc
102
+ ok "Build complete"
103
+
104
+ # ─── Commit & Tag ────────────────────────────────────────────────
105
+ info "Committing..."
106
+ git add -A
107
+ git commit -m "chore: release v$NEW_VERSION"
108
+ git tag -a "v$NEW_VERSION" -m "Release v$NEW_VERSION"
109
+ ok "Tagged v$NEW_VERSION"
110
+
111
+ # ─── Push ────────────────────────────────────────────────────────
112
+ info "Pushing to origin..."
113
+ git push origin "$CURRENT_BRANCH"
114
+ git push origin "v$NEW_VERSION"
115
+ ok "Pushed to origin"
116
+
117
+ echo ""
118
+ echo -e "${GREEN} ✅ Release v$NEW_VERSION complete!${RESET}"
119
+ echo ""
120
+ echo -e " ${BOLD}What happens next:${RESET}"
121
+ echo -e " 1. GitHub Actions will run CI tests"
122
+ echo -e " 2. On tag push, npm publish runs automatically"
123
+ echo -e " 3. GitHub Release is created with release notes"
124
+ echo ""
125
+ echo -e " ${BOLD}Monitor:${RESET} https://github.com/todyle/codymaster/actions"
126
+ echo ""