Commit Graph

10 Commits

Author SHA1 Message Date
mcfn.feng 58545129de [root]refactor: remove actionbook-rs, promote cli-v2 to packages/cli
- Delete packages/actionbook-rs/ (legacy 0.x CLI)
- Delete old packages/cli/ (JS npm wrapper for 0.x)
- Rename packages/cli-v2/ → packages/cli/ (git mv)
- Merge npm wrapper files (bin/actionbook.js, scripts/postinstall.js) into new cli/
- Update package.json: name → @actionbookdev/cli, private → false, add npm distribution fields
- Update sync-versions.js: point Cargo.toml/Cargo.lock sync at packages/cli/
- Update release.yml: build from packages/cli/ instead of packages/actionbook-rs/
- Update test.yml: paths and working-directory from cli-v2 → cli
- Update CLAUDE.md, CONTRIBUTING.md, docs, issue templates
- Delete stale changeset (fix-screenshot-timeout.md)
- Keep 6 platform binary packages unchanged
2026-04-02 00:46:12 +08:00
4bmis 4715896e2e [packages/cli]refactor: replace TypeScript CLI with Rust binary wrapper
Replace the TypeScript CLI implementation with a thin JS wrapper that
executes the native Rust binary. The npm package now ships all platform
binaries directly, with a postinstall fallback to download from GitHub
Releases if needed.

- Add bin/actionbook.js: platform detection + binary execution
- Add scripts/postinstall.js: fallback download from GitHub Releases
- Remove all TypeScript source, build config, and dependencies
- Update CI workflow to build, package, and publish with binaries
- Update README with full Rust CLI command documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 12:44:19 +08:00
junliang.feng 18e9e6732d [packages/cli]refactor: use direct playwright-core CLI instead of npx for browser installation
Replace npx playwright@{version} with direct node execution of playwright-core CLI.
Find CLI path by checking multiple node_modules structures (pnpm .pnpm/*, npm flat, npm nested).
Search both package dir and workspace root to support pnpm workspaces.

Benefits:
- Eliminates npx overhead and potential version mismatches
- Works reliably with both npm and pnpm package managers
- No need to parse agent-browser's
2026-01-28 16:40:50 +08:00
junliang.feng ffd4405e81 [packages/cli]fix: dynamically match playwright version with agent-browser
Read playwright-core version from agent-browser's package.json to ensure
binary compatibility when installing Chromium. This prevents 'executable
doesn't exist' errors that occur when npx downloads a mismatched Playwright
version.

- Add getAgentBrowserPlaywrightVersion() to read version dynamically
- Use playwright@{version} instead of hardcoded version
- Fallback to 'latest' if version detection fails
2026-01-27 23:18:12 +08:00
junliang.feng ae48421298 [packages/cli]feat: replace agent-browser text with actionbook browser in output
Transform stdout/stderr from agent-browser command to replace all
occurrences of 'agent-browser' with 'actionbook browser' for
consistent branding in user-facing output.
2026-01-27 22:34:22 +08:00
junliang.feng 26d16452bd [packages/cli]feat: use agent-browser as dependency with npx execution
- Add agent-browser ^0.8.3 as dependency in package.json
- Implement spawnAgentBrowser() using npx with cwd to CLI package root
- Update installAgentBrowser() to use 'npx playwright install chromium'
- Replace all agent-browser calls with spawnAgentBrowser()
- Update README with automatic dependency installation info
- Remove manual npm install logic (handled by package manager)

Benefits:
- agent-browser automatically installed with CLI
- No global install required for agent-browser
- Version managed by package.json
- Works seamlessly with npm/pnpm package managers
2026-01-27 22:28:38 +08:00
junliang.feng 201f0461aa [packages/cli]refactor: bundle agent-browser as dependency instead of global install
- Add agent-browser as direct dependency in package.json
- Remove automatic npm global installation logic
- Simplify installAgentBrowser() to only download Chromium binaries
- Update documentation to reflect simpler setup process
- Remove checkAgentBrowserInstalled() and showAgentBrowserSetupInstructions()
- Update help text to clarify browser install only downloads Chromium
- Keep --with-deps flag support for Linux
2026-01-27 21:36:51 +08:00
junliang.feng 2e00a8420d [packages/cli]feat: implement automatic installation for browser command
- Add installAgentBrowser() function to auto-install agent-browser
- Execute 'npm install -g agent-browser' if not already installed
- Automatically run 'agent-browser install' to download Chromium
- Support --with-deps flag for Linux system dependencies
- Show step-by-step progress during installation
- Update README with automatic installation instructions
2026-01-27 20:44:09 +08:00
junliang.feng 60edc48473 [packages/cli]feat: add setup instructions for browser install command
- Add special handling for 'actionbook browser install' command
- Show detailed setup instructions when agent-browser is not installed
- Guide users through npm installation and Chromium download
- Include Linux-specific instructions for system dependencies
- Update README with improved setup documentation
2026-01-27 20:12:50 +08:00
junliang.feng dff879d4a3 [packages/cli]feat: add browser command for agent-browser integration
- Add browser command to CLI for browser automation
- Create process utility for spawning commands with stdio inheritance
- Show installation instructions when agent-browser is not found
- Pass through all arguments to agent-browser CLI
- Add help text with examples and reference link
2026-01-27 11:44:53 +08:00