diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aaa7f639..601173e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -411,10 +411,10 @@ jobs: run: ${{ matrix.dist_command }} --publish never - name: Validate packaged bundle (macOS ${{ matrix.arch }}) - run: node ./scripts/electron-builder/verifyBundle.cjs "release/mac-${{ matrix.arch }}/Agent Teams UI.app" darwin ${{ matrix.arch }} + run: node ./scripts/electron-builder/verifyBundle.cjs "release/mac-${{ matrix.arch }}/Agent Teams AI.app" darwin ${{ matrix.arch }} - name: Smoke packaged app (macOS ${{ matrix.arch }}) - run: node ./scripts/electron-builder/smokePackagedApp.cjs "release/mac-${{ matrix.arch }}/Agent Teams UI.app" darwin + run: node ./scripts/electron-builder/smokePackagedApp.cjs "release/mac-${{ matrix.arch }}/Agent Teams AI.app" darwin - name: Upload assets to release if: ${{ env.IS_RELEASE_BUILD == 'true' }} @@ -682,6 +682,13 @@ jobs: trap 'rm -rf "$TMP_DIR"' EXIT declare -A COMPATIBILITY_ALIASES=( + ["Agent.Teams.AI-arm64.dmg"]="Agent.Teams.AI-${VERSION}-arm64.dmg" + ["Agent.Teams.AI-x64.dmg"]="Agent.Teams.AI-${VERSION}-x64.dmg" + ["Agent.Teams.AI.Setup.exe"]="Agent.Teams.AI.Setup.${VERSION}.exe" + ["Agent.Teams.AI.AppImage"]="Agent.Teams.AI-${VERSION}.AppImage" + ["agent-teams-ai-amd64.deb"]="agent-teams-ai_${VERSION}_amd64.deb" + ["agent-teams-ai-x86_64.rpm"]="agent-teams-ai-${VERSION}.x86_64.rpm" + ["agent-teams-ai.pacman"]="agent-teams-ai-${VERSION}.pacman" ["Claude-Agent-Teams-UI-arm64.dmg"]="Agent.Teams.AI-${VERSION}-arm64.dmg" ["Claude-Agent-Teams-UI-x64.dmg"]="Agent.Teams.AI-${VERSION}-x64.dmg" ["Claude-Agent-Teams-UI-Setup.exe"]="Agent.Teams.AI.Setup.${VERSION}.exe" diff --git a/.gitignore b/.gitignore index 480a728f..87a82200 100644 --- a/.gitignore +++ b/.gitignore @@ -53,6 +53,7 @@ temp/ eslint-fix/ .eslintcache +.eslintcache-fast remotion/* .home/ diff --git a/AGENTS.md b/AGENTS.md index 836b2b5b..e6c9f728 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -22,6 +22,22 @@ Default local run target: - Do not start the browser/web dev mode for normal development or smoke checks. The browser path is limited and lacks the full desktop runtime, IPC, terminal, provider auth, and team lifecycle behavior. - When documenting or recommending startup commands, point contributors to the desktop app unless a task explicitly asks for browser-mode internals. +Live team smoke runtime: + +- Use the orchestrator source launcher by default for live/dev smoke loops: `/Users/belief/dev/projects/claude/agent_teams_orchestrator/cli-source` +- The source launcher runs `src/entrypoints/cli.tsx` through Bun, so it reflects local orchestrator source edits immediately and cannot accidentally test stale `dist` output. +- The source launcher normalizes inherited `NODE_ENV=production` to `NODE_ENV=development`. Release or production-like smoke must use the built wrapper instead of preserving production mode on source. +- Local live/prove scripts should use `scripts/lib/live-smoke-runtime.mjs`, which defaults to `cli-source` unless `CLAUDE_AGENT_TEAMS_ORCHESTRATOR_CLI_PATH` is explicitly set. +- Source-mode teammate startup can be slower than bundled startup. Live smoke harnesses may raise `CLAUDE_TEAM_PROCESS_RUNTIME_READY_TIMEOUT_MS` and `CLAUDE_TEAM_PROCESS_INBOX_POLLER_READY_TIMEOUT_MS` when the test is validating source behavior instead of watchdog latency. +- Use the built wrapper only for release or production-like smoke checks. Build first in `/Users/belief/dev/projects/claude/agent_teams_orchestrator` with `bun run build`, then set `CLAUDE_AGENT_TEAMS_ORCHESTRATOR_CLI_PATH=/Users/belief/dev/projects/claude/agent_teams_orchestrator/cli`. +- Do not use `cli-dev` or `bun run build:dev` as proof for the production wrapper. `cli` reads `dist/local-cli/cli.js`; `cli-dev` reads `dist/local-cli-dev/cli.js`. +Fast local lint: + +- Use `pnpm lint:fast:files -- ` for quick preflight on files you touched. +- Use `pnpm lint:fast` for a faster source-tree lint pass when full type-aware lint is too slow. +- `lint:fast` intentionally uses `eslint.fast.config.js` without TypeScript project-service rules. It is not a replacement for `pnpm typecheck` or the full `pnpm lint` gate. +- Keep using `pnpm typecheck` after TypeScript changes, and use full `pnpm lint` when validating a broad PR or changing lint-sensitive architecture boundaries. + For new features: - Default home for medium and large features: `src/features//` diff --git a/README.md b/README.md index 70c59ce3..1e8e02bc 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@

- Free desktop app for AI agent teams. Auto-detects Claude/Codex/OpenCode (200+ models). Use the provider access you already have - subscriptions or API keys. Not just coding agents. + Free desktop app for AI agent teams. Start with a free model with no auth - no signup, API key, or card - or connect Claude/Codex/OpenCode provider access for more models. Not just coding agents.