mirror of
https://github.com/jlengrand/Maestro.git
synced 2026-03-10 08:31:19 +00:00
- Add ESLint 9 configuration (eslint.config.mjs) with TypeScript and React hooks plugins
- Add npm run lint:eslint command for code quality checks
- Expand npm run lint to check all three TypeScript configs (renderer, main, cli)
- Update tsconfig.cli.json to include src/prompts and src/types directories
Fix 29 ESLint errors:
- Remove unused updateCliActivity import in batch-processor.ts
- Convert {false && <jsx>} patterns to comments in AutoRun components
- Wrap case block with const declarations in braces (AgentSelectionScreen)
- Fix unused expression pattern in PreparingPlanScreen
- Fix conditional hook calls in FilePreview, OfflineQueueBanner, RecentCommandChips, TerminalOutput
- Add windows-diagnostics.json to PackageContents interface
Update CLAUDE.md and CONTRIBUTING.md with new linting commands and documentation.
Claude ID: 029e8abe-5734-4967-9fb4-c85078c1973d
Maestro ID: 87ffa06e-0ecd-4eb8-b327-dad1ec24f7a9
269 lines
7.4 KiB
JSON
269 lines
7.4 KiB
JSON
{
|
|
"name": "maestro",
|
|
"version": "0.11.2",
|
|
"description": "Run AI coding agents autonomously for days.",
|
|
"main": "dist/main/index.js",
|
|
"author": {
|
|
"name": "Pedram Amini",
|
|
"email": "pedram@runmaestro.ai"
|
|
},
|
|
"license": "AGPL 3.0",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/pedramamini/maestro.git"
|
|
},
|
|
"bin": {
|
|
"maestro-cli": "./dist/cli/maestro-cli.js"
|
|
},
|
|
"scripts": {
|
|
"dev": "concurrently \"npm run dev:main\" \"npm run dev:renderer\"",
|
|
"dev:demo": "MAESTRO_DEMO_DIR=/tmp/maestro-demo npm run dev",
|
|
"dev:main": "tsc -p tsconfig.main.json && NODE_ENV=development electron .",
|
|
"dev:renderer": "vite",
|
|
"dev:web": "vite --config vite.config.web.mts",
|
|
"build": "npm run build:main && npm run build:renderer && npm run build:web && npm run build:cli",
|
|
"build:main": "tsc -p tsconfig.main.json",
|
|
"build:cli": "node scripts/build-cli.mjs",
|
|
"build:renderer": "vite build",
|
|
"build:web": "vite build --config vite.config.web.mts",
|
|
"package": "node scripts/set-version.mjs npm run build && node scripts/set-version.mjs electron-builder --mac --win --linux",
|
|
"package:mac": "node scripts/set-version.mjs npm run build && node scripts/set-version.mjs electron-builder --mac",
|
|
"package:win": "node scripts/set-version.mjs npm run build && node scripts/set-version.mjs electron-builder --win",
|
|
"package:linux": "node scripts/set-version.mjs npm run build && node scripts/set-version.mjs electron-builder --linux",
|
|
"start": "electron .",
|
|
"clean": "rm -rf dist release node_modules/.vite",
|
|
"postinstall": "electron-rebuild -f -w node-pty",
|
|
"lint": "tsc -p tsconfig.lint.json && tsc -p tsconfig.main.json --noEmit && tsc -p tsconfig.cli.json --noEmit",
|
|
"lint:eslint": "eslint src/",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "npm run build:main && npm run build:renderer && playwright test",
|
|
"test:e2e:ui": "npm run build:main && npm run build:renderer && playwright test --ui",
|
|
"test:e2e:headed": "npm run build:main && npm run build:renderer && playwright test --headed",
|
|
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
"test:integration:watch": "vitest --config vitest.integration.config.ts"
|
|
},
|
|
"build": {
|
|
"appId": "com.maestro.app",
|
|
"productName": "Maestro",
|
|
"publish": {
|
|
"provider": "github",
|
|
"owner": "pedramamini",
|
|
"repo": "Maestro"
|
|
},
|
|
"directories": {
|
|
"output": "release",
|
|
"buildResources": "build"
|
|
},
|
|
"files": [
|
|
"dist/**/*",
|
|
"package.json"
|
|
],
|
|
"asarUnpack": [
|
|
"node_modules/node-pty/**/*"
|
|
],
|
|
"mac": {
|
|
"category": "public.app-category.developer-tools",
|
|
"hardenedRuntime": true,
|
|
"gatekeeperAssess": false,
|
|
"notarize": false,
|
|
"entitlements": "build/entitlements.mac.plist",
|
|
"entitlementsInherit": "build/entitlements.mac.plist",
|
|
"target": [
|
|
{
|
|
"target": "dmg",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "zip",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "build/icon.icns",
|
|
"extraResources": [
|
|
{
|
|
"from": "dist/cli/maestro-cli.js",
|
|
"to": "maestro-cli.js"
|
|
}
|
|
]
|
|
},
|
|
"afterSign": "scripts/notarize.js",
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "portable",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "build/icon.ico",
|
|
"extraResources": [
|
|
{
|
|
"from": "dist/cli/maestro-cli.js",
|
|
"to": "maestro-cli.js"
|
|
}
|
|
]
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
{
|
|
"target": "AppImage",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "deb",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "rpm",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"category": "Development",
|
|
"icon": "build/icon.png",
|
|
"extraResources": [
|
|
{
|
|
"from": "dist/cli/maestro-cli.js",
|
|
"to": "maestro-cli.js"
|
|
}
|
|
]
|
|
},
|
|
"deb": {
|
|
"depends": [
|
|
"libgtk-3-0",
|
|
"libnotify4",
|
|
"libnss3",
|
|
"libxss1",
|
|
"libxtst6",
|
|
"xdg-utils",
|
|
"libatspi2.0-0",
|
|
"libuuid1",
|
|
"libdrm2",
|
|
"libgbm1",
|
|
"libasound2"
|
|
]
|
|
},
|
|
"rpm": {
|
|
"depends": [
|
|
"gtk3",
|
|
"libnotify",
|
|
"nss",
|
|
"libXScrnSaver",
|
|
"(libXtst or libXtst6)",
|
|
"xdg-utils",
|
|
"at-spi2-core",
|
|
"(libuuid or libuuid1)",
|
|
"libdrm",
|
|
"mesa-libgbm",
|
|
"alsa-lib"
|
|
]
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@emoji-mart/data": "^1.2.1",
|
|
"@emoji-mart/react": "^1.1.1",
|
|
"@fastify/cors": "^8.5.0",
|
|
"@fastify/rate-limit": "^9.1.0",
|
|
"@fastify/static": "^7.0.4",
|
|
"@fastify/websocket": "^9.0.0",
|
|
"@sentry/electron": "^7.5.0",
|
|
"@tanstack/react-virtual": "^3.13.13",
|
|
"@types/dompurify": "^3.0.5",
|
|
"adm-zip": "^0.5.16",
|
|
"ansi-to-html": "^0.7.2",
|
|
"archiver": "^7.0.1",
|
|
"canvas-confetti": "^1.9.4",
|
|
"chokidar": "^3.6.0",
|
|
"commander": "^14.0.2",
|
|
"diff": "^8.0.2",
|
|
"dompurify": "^3.3.0",
|
|
"electron-store": "^8.1.0",
|
|
"electron-updater": "^6.6.2",
|
|
"fastify": "^4.25.2",
|
|
"js-tiktoken": "^1.0.21",
|
|
"marked": "^17.0.1",
|
|
"mermaid": "^11.12.1",
|
|
"node-pty": "^1.0.0",
|
|
"qrcode": "^1.5.4",
|
|
"qrcode.react": "^4.2.0",
|
|
"react-diff-view": "^3.3.2",
|
|
"react-markdown": "^10.1.0",
|
|
"react-syntax-highlighter": "^16.1.0",
|
|
"rehype-raw": "^7.0.0",
|
|
"remark-frontmatter": "^5.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"ws": "^8.16.0"
|
|
},
|
|
"devDependencies": {
|
|
"@electron/notarize": "^3.1.1",
|
|
"@eslint/js": "^9.39.2",
|
|
"@playwright/test": "^1.57.0",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@types/adm-zip": "^0.5.7",
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/canvas-confetti": "^1.9.0",
|
|
"@types/node": "^20.10.6",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^18.2.47",
|
|
"@types/react-dom": "^18.2.18",
|
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
"@types/ws": "^8.5.10",
|
|
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
"@typescript-eslint/parser": "^8.50.1",
|
|
"@vitejs/plugin-react": "^4.2.1",
|
|
"@vitest/coverage-v8": "^4.0.15",
|
|
"autoprefixer": "^10.4.16",
|
|
"canvas": "^3.2.0",
|
|
"concurrently": "^8.2.2",
|
|
"electron": "^28.1.0",
|
|
"electron-builder": "^24.9.1",
|
|
"electron-playwright-helpers": "^2.0.1",
|
|
"electron-rebuild": "^3.2.9",
|
|
"esbuild": "^0.24.2",
|
|
"eslint": "^9.39.2",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"globals": "^16.5.0",
|
|
"jsdom": "^27.2.0",
|
|
"lucide-react": "^0.303.0",
|
|
"playwright": "^1.57.0",
|
|
"postcss": "^8.4.33",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"tailwindcss": "^3.4.1",
|
|
"typescript": "^5.3.3",
|
|
"typescript-eslint": "^8.50.1",
|
|
"vite": "^5.0.11",
|
|
"vite-plugin-electron": "^0.28.2",
|
|
"vitest": "^4.0.15"
|
|
}
|
|
}
|