aidevops 2.85.0 → 2.86.1

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
@@ -71,7 +71,7 @@ The result: AI agents that work *with* your development process, not around it.
71
71
  [![Services Supported](https://img.shields.io/badge/Services%20Supported-30+-brightgreen.svg)](#comprehensive-service-coverage)
72
72
  [![AGENTS.md](https://img.shields.io/badge/AGENTS.md-Compliant-blue.svg)](https://agents.md/)
73
73
  [![AI Optimized](https://img.shields.io/badge/AI%20Optimized-Yes-brightgreen.svg)](https://github.com/marcusquinn/aidevops/blob/main/AGENTS.md)
74
- [![MCP Servers](https://img.shields.io/badge/MCP%20Servers-18-orange.svg)](#mcp-integrations)
74
+ [![MCP Servers](https://img.shields.io/badge/MCP%20Servers-19-orange.svg)](#mcp-integrations)
75
75
  [![API Integrations](https://img.shields.io/badge/API%20Integrations-30+-blue.svg)](#comprehensive-service-coverage)
76
76
 
77
77
  <!-- AI-CONTEXT-START -->
@@ -92,8 +92,8 @@ The result: AI agents that work *with* your development process, not around it.
92
92
  ### Agent Structure
93
93
 
94
94
  - 18 primary agents (Plan+, Build+, SEO, WordPress, etc.)
95
- - 536+ subagent markdown files organized by domain
96
- - 141+ helper scripts in `.agent/scripts/`
95
+ - 560+ subagent markdown files organized by domain
96
+ - 146+ helper scripts in `.agent/scripts/`
97
97
  - 41 slash commands for common workflows
98
98
 
99
99
  <!-- AI-CONTEXT-END -->
@@ -584,7 +584,7 @@ The setup script offers to install these tools automatically.
584
584
  - **[Hetzner Cloud](https://www.hetzner.com/cloud)**: VPS servers, networking, load balancers
585
585
  - **[Closte](https://closte.com/)**: Managed hosting, application deployment
586
586
  - **[Coolify](https://coolify.io/)** *Enhanced with CLI*: Self-hosted PaaS with CLI integration
587
- - **[Cloudron](https://www.cloudron.io/)**: Server and app management platform
587
+ - **[Cloudron](https://www.cloudron.io/)** *Enhanced with packaging guide*: Server and app management platform with custom app packaging support
588
588
  - **[Vercel](https://vercel.com/)** *Enhanced with CLI*: Modern web deployment platform with CLI integration
589
589
  - **[AWS](https://aws.amazon.com/)**: Cloud infrastructure support via standard protocols
590
590
  - **[DigitalOcean](https://www.digitalocean.com/)**: Cloud infrastructure support via standard protocols
@@ -646,6 +646,11 @@ The setup script offers to install these tools automatically.
646
646
  - **[DSPyGround](https://dspyground.com/)**: Interactive playground for prompt optimization
647
647
  - **[TOON Format](https://github.com/marcusquinn/aidevops/blob/main/.agent/toon-format.md)**: Token-Oriented Object Notation - 20-60% token reduction for LLM prompts
648
648
 
649
+ ### **Document Processing**
650
+
651
+ - **[LibPDF](https://libpdf.dev/)**: PDF form filling, digital signatures (PAdES B-B/T/LT/LTA), encryption, merge/split, text extraction
652
+ - **[Unstract](https://github.com/Zipstack/unstract)**: LLM-powered structured data extraction from unstructured documents (PDF, images, DOCX)
653
+
649
654
  ### **Communications**
650
655
 
651
656
  - **[Twilio](https://www.twilio.com/)**: SMS, voice calls, WhatsApp, phone verification (Verify API), call recording & transcription
@@ -671,7 +676,7 @@ The setup script offers to install these tools automatically.
671
676
 
672
677
  **Model Context Protocol servers for real-time AI assistant integration.** The framework configures these MCPs primarily for **[OpenCode](https://opencode.ai/)** (recommended). Configuration support is also available for 17 other AI assistants including Cursor, Claude Code/Desktop, Windsurf, Continue.dev, Cody, Zed, GitHub Copilot, Kilo Code, Kiro, AntiGravity, Gemini CLI, Droid, Warp AI, Aider, and Qwen.
673
678
 
674
- ### **All Supported MCPs (18 active)**
679
+ ### **All Supported MCPs (19 active)**
675
680
 
676
681
  MCP packages are installed globally via `bun install -g` for instant startup (no `npx` registry lookups). Run `setup.sh` or `aidevops update-tools` to update to latest versions.
677
682
 
@@ -695,11 +700,14 @@ MCP packages are installed globally via `bun install -g` for instant startup (no
695
700
  | [Repomix](https://github.com/yamadashy/repomix) | Codebase packing for AI context | Per-agent | No |
696
701
  | [Sentry](https://sentry.io/) | Error tracking | Per-agent | Yes |
697
702
  | [Socket](https://socket.dev/) | Dependency security | Per-agent | No |
703
+ | [Unstract](https://github.com/Zipstack/unstract) | Document data extraction | Per-agent | Yes |
698
704
 
699
705
  **Tier explanation:**
700
706
  - **Global** - Tools always available (loaded into every session)
701
707
  - **Per-agent** - Tools disabled globally, enabled per-agent via config (zero context overhead when unused)
702
708
 
709
+ **Performance optimization:** MCP packages are installed globally via `bun install -g` for instant startup (~0.1s vs 2-3s with `npx`). The framework uses a three-tier loading strategy: 8 MCPs load eagerly at startup, 12 MCPs load on-demand when their subagent is invoked. This reduces OpenCode startup time by 12-24 seconds.
710
+
703
711
  ### **SEO Integrations (curl subagents - no MCP overhead)**
704
712
 
705
713
  These use direct API calls via curl, avoiding MCP server startup entirely:
@@ -721,16 +729,20 @@ These use direct API calls via curl, avoiding MCP server startup entirely:
721
729
  - [Context7](https://context7.com/) - Real-time documentation access for thousands of libraries
722
730
  - [Repomix](https://github.com/yamadashy/repomix) - Pack codebases into AI-friendly context
723
731
 
724
- **Browser Automation** (6 tools + anti-detect stack, [benchmarked](#browser-automation)):
732
+ **Browser Automation** (8 tools + anti-detect stack, [benchmarked](#browser-automation)):
725
733
 
726
734
  - [Playwright](https://playwright.dev/) - Fastest engine (0.9s form fill), parallel contexts, extensions, proxy (auto-installed)
735
+ - [playwright-cli](https://github.com/microsoft/playwright-cli) - Microsoft official CLI for AI agents, `--session` isolation, built-in tracing
727
736
  - [dev-browser](https://github.com/nicholasgriffintn/dev-browser) - Persistent profile, stays logged in, ARIA snapshots, pairs with DevTools
728
737
  - [agent-browser](https://github.com/vercel-labs/agent-browser) - CLI/CI/CD, `--session` parallel, ref-based element targeting
729
738
  - [Crawl4AI](https://github.com/unclecode/crawl4ai) - Bulk extraction, `arun_many` parallel (1.7x), LLM-ready markdown
739
+ - [WaterCrawl](https://github.com/watercrawl/watercrawl) - Self-hosted crawling with web search, sitemap generation, JS rendering, proxy support
730
740
  - [Playwriter](https://github.com/nicholasgriffintn/playwriter) - Your browser's extensions/passwords/proxy, already unlocked
731
741
  - [Stagehand](https://github.com/browserbase/stagehand) - Natural language automation, self-healing selectors
732
742
  - [Chrome DevTools MCP](https://github.com/nicholasgriffintn/chrome-devtools-mcp) - Companion: Lighthouse, network throttling, CSS coverage (pairs with any tool)
733
743
  - [Cloudflare Browser Rendering](https://developers.cloudflare.com/browser-rendering/) - Server-side web scraping
744
+ - [Peekaboo](https://github.com/steipete/Peekaboo) - macOS screen capture and GUI automation (pixel-accurate captures, AI vision analysis)
745
+ - [Sweet Cookie](https://github.com/steipete/sweet-cookie) - Browser cookie extraction for API calls without launching a browser
734
746
  - **Anti-Detect Stack** ([details](#anti-detect-browser)):
735
747
  - [Camoufox](https://github.com/daijro/camoufox) (4.9k stars) - Firefox anti-detect, C++ fingerprint injection, WebRTC/Canvas/WebGL spoofing
736
748
  - [rebrowser-patches](https://github.com/nicedayfor/rebrowser-patches) (1.2k stars) - Chromium CDP leak prevention, automation signal removal
@@ -760,13 +772,23 @@ These use direct API calls via curl, avoiding MCP server startup entirely:
760
772
  **WordPress & Development:**
761
773
 
762
774
  - [LocalWP](https://localwp.com/) - Direct WordPress database access
775
+ - [WordPress MCP Adapter](https://github.com/WordPress/mcp-adapter) - Official WordPress MCP for content management (STDIO, HTTP, and SSH transports)
763
776
  - [Next.js DevTools](https://nextjs.org/docs) - React/Next.js development assistance
764
777
 
778
+ **CRM & Marketing:**
779
+
780
+ - [FluentCRM](https://fluentcrm.com/) - WordPress CRM: contacts, tags, lists, campaigns, automations, smart links, webhooks
781
+
765
782
  **Accounts & Finance:**
766
783
 
767
784
  - [QuickFile](https://github.com/marcusquinn/quickfile-mcp) - Accounting API integration (MCP)
768
785
  - [Amazon Order History](https://github.com/marcusquinn/amazon-order-history-csv-download-mcp) - Order data extraction (MCP)
769
786
 
787
+ **Document Processing:**
788
+
789
+ - [LibPDF](https://libpdf.dev/) - PDF form filling, digital signatures, encryption, merge/split (via helper script)
790
+ - [Unstract](https://github.com/Zipstack/unstract) - LLM-powered structured data extraction from PDFs, images, DOCX (MCP)
791
+
770
792
  ### **Quick Setup**
771
793
 
772
794
  ```bash
@@ -810,42 +832,46 @@ These catch formatting and syntax issues during editing, reducing preflight/post
810
832
 
811
833
  ## **Browser Automation**
812
834
 
813
- 6 browser tools + anti-detect stack, benchmarked and integrated for AI-assisted web automation, dev testing, data extraction, and bot detection evasion. Agents automatically select the optimal tool based on task requirements.
835
+ 8 browser tools + anti-detect stack, benchmarked and integrated for AI-assisted web automation, dev testing, data extraction, and bot detection evasion. Agents automatically select the optimal tool based on task requirements.
814
836
 
815
837
  ### Performance Benchmarks
816
838
 
817
839
  Tested on macOS ARM64, all headless, warm daemon:
818
840
 
819
- | Test | Playwright | dev-browser | agent-browser | Crawl4AI | Playwriter | Stagehand |
820
- |------|-----------|-------------|---------------|----------|------------|-----------|
821
- | **Navigate + Screenshot** | **1.43s** | 1.39s | 1.90s | 2.78s | 2.95s | 7.72s |
822
- | **Form Fill** (4 fields) | **0.90s** | 1.34s | 1.37s | N/A | 2.24s | 2.58s |
823
- | **Data Extraction** (5 items) | 1.33s | **1.08s** | 1.53s | 2.53s | 2.68s | 3.48s |
824
- | **Multi-step** (click + nav) | **1.49s** | 1.49s | 3.06s | N/A | 4.37s | 4.48s |
825
- | **Parallel** (3 sessions) | **1.6s** | N/A | 2.0s | 3.0s | N/A | Slow |
841
+ | Test | Playwright | playwright-cli | dev-browser | agent-browser | Crawl4AI | Playwriter | Stagehand |
842
+ |------|-----------|----------------|-------------|---------------|----------|------------|-----------|
843
+ | **Navigate + Screenshot** | **1.43s** | ~1.9s | 1.39s | 1.90s | 2.78s | 2.95s | 7.72s |
844
+ | **Form Fill** (4 fields) | **0.90s** | ~1.4s | 1.34s | 1.37s | N/A | 2.24s | 2.58s |
845
+ | **Data Extraction** (5 items) | 1.33s | ~1.5s | **1.08s** | 1.53s | 2.53s | 2.68s | 3.48s |
846
+ | **Multi-step** (click + nav) | **1.49s** | ~2.0s | 1.49s | 3.06s | N/A | 4.37s | 4.48s |
847
+ | **Parallel** (3 sessions) | **1.6s** | ~2.0s | N/A | 2.0s | 3.0s | N/A | Slow |
826
848
 
827
849
  ### Feature Matrix
828
850
 
829
- | Feature | Playwright | dev-browser | agent-browser | Crawl4AI | Playwriter | Stagehand |
830
- |---------|-----------|-------------|---------------|----------|------------|-----------|
831
- | **Headless** | Yes | Yes | Yes | Yes | No (your browser) | Yes |
832
- | **Proxy/VPN** | Full | Via args | No | Full | Your browser | Via args |
833
- | **Extensions** | Yes (persistent) | Yes (profile) | No | No | Yes (yours) | Possible |
834
- | **Password managers** | Partial (needs unlock) | Partial | No | No | **Yes** (unlocked) | No |
835
- | **Parallel sessions** | 5 ctx/2.1s | Shared | 3 sess/2.0s | arun_many 1.7x | Shared | Per-instance |
836
- | **Session persistence** | storageState | Profile dir | state save/load | user_data_dir | Your browser | Per-instance |
837
- | **Natural language** | No | No | No | LLM extraction | No | Yes |
838
- | **Self-healing** | No | No | No | No | No | Yes |
851
+ | Feature | Playwright | playwright-cli | dev-browser | agent-browser | Crawl4AI | Playwriter | Stagehand |
852
+ |---------|-----------|----------------|-------------|---------------|----------|------------|-----------|
853
+ | **Headless** | Yes | Yes (default) | Yes | Yes (default) | Yes | No (your browser) | Yes |
854
+ | **Proxy/VPN** | Full | No | Via args | No | Full | Your browser | Via args |
855
+ | **Extensions** | Yes (persistent) | No | Yes (profile) | No | No | Yes (yours) | Possible |
856
+ | **Password managers** | Partial (needs unlock) | No | Partial | No | No | **Yes** (unlocked) | No |
857
+ | **Parallel sessions** | 5 ctx/2.1s | --session | Shared | 3 sess/2.0s | arun_many 1.7x | Shared | Per-instance |
858
+ | **Session persistence** | storageState | Profile dir | Profile dir | state save/load | user_data_dir | Your browser | Per-instance |
859
+ | **Tracing** | Full API | Built-in CLI | Via Playwright | Via Playwright | No | Via CDP | Via Playwright |
860
+ | **Natural language** | No | No | No | No | LLM extraction | No | Yes |
861
+ | **Self-healing** | No | No | No | No | No | No | Yes |
862
+ | **Maintainer** | Microsoft | Microsoft | Community | Vercel | Community | Community | Browserbase |
839
863
 
840
864
  ### Tool Selection
841
865
 
842
866
  | Need | Tool | Why |
843
867
  |------|------|-----|
844
868
  | **Fastest automation** | Playwright | 0.9s form fill, parallel contexts |
869
+ | **AI agent (CLI)** | playwright-cli | Microsoft official, `--session` isolation, built-in tracing |
845
870
  | **Stay logged in** | dev-browser | Profile persists across restarts |
846
871
  | **Your extensions/passwords** | Playwriter | Already unlocked in your browser |
847
872
  | **Bulk extraction** | Crawl4AI | Purpose-built, parallel, LLM-ready output |
848
- | **CLI/CI/CD** | agent-browser | No server needed, `--session` isolation |
873
+ | **Self-hosted crawling** | WaterCrawl | Docker deployment, web search, sitemap generation |
874
+ | **CLI/CI/CD** | playwright-cli or agent-browser | No server needed, `--session` isolation |
849
875
  | **Unknown pages** | Stagehand | Natural language, self-healing |
850
876
  | **Performance debugging** | Chrome DevTools MCP | Companion tool, pairs with any browser |
851
877
  | **Bot detection evasion** | Anti-detect stack | Camoufox (full) or rebrowser-patches (quick) |
@@ -1814,6 +1840,31 @@ bash .agent/scripts/setup-mcp-integrations.sh all
1814
1840
  - Set proper file permissions (600 for configs)
1815
1841
  - Regular key rotation and access audits
1816
1842
 
1843
+ ### Multi-Tenant Credential Storage
1844
+
1845
+ Manage multiple accounts/clients per service with isolated credential sets:
1846
+
1847
+ ```bash
1848
+ # Create a new tenant
1849
+ credential-helper.sh create client-acme
1850
+
1851
+ # Switch active tenant
1852
+ credential-helper.sh switch client-acme
1853
+
1854
+ # Set credentials for current tenant
1855
+ credential-helper.sh set GITHUB_TOKEN ghp_xxx
1856
+
1857
+ # Per-project override (gitignored)
1858
+ echo "client-acme" > .aidevops-tenant
1859
+
1860
+ # Export for scripts
1861
+ eval $(credential-helper.sh export)
1862
+ ```
1863
+
1864
+ **Resolution priority:** Project `.aidevops-tenant` → Global active tenant → Default
1865
+
1866
+ See `.agent/tools/credentials/multi-tenant.md` for complete documentation.
1867
+
1817
1868
  **Quality Assurance:**
1818
1869
 
1819
1870
  - Multi-platform analysis (SonarCloud, CodeFactor, Codacy, CodeRabbit, Qlty, Snyk, Gemini Code Assist)
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.85.0
1
+ 2.86.1
package/aidevops.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  # AI DevOps Framework CLI
4
4
  # Usage: aidevops <command> [options]
5
5
  #
6
- # Version: 2.85.0
6
+ # Version: 2.86.1
7
7
 
8
8
  set -euo pipefail
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "2.85.0",
3
+ "version": "2.86.1",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/setup.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  # AI Assistant Server Access Framework Setup Script
4
4
  # Helps developers set up the framework for their infrastructure
5
5
  #
6
- # Version: 2.85.0
6
+ # Version: 2.86.1
7
7
  #
8
8
  # Quick Install (one-liner):
9
9
  # bash <(curl -fsSL https://aidevops.dev/install)
@@ -192,6 +192,7 @@ cleanup_deprecated_mcps() {
192
192
  "dataforseo"
193
193
  "hostinger-api"
194
194
  "shadcn"
195
+ "repomix"
195
196
  )
196
197
 
197
198
  # Tool rules to remove (for MCPs that no longer exist)
@@ -202,6 +203,7 @@ cleanup_deprecated_mcps() {
202
203
  "dataforseo_*"
203
204
  "serper_*"
204
205
  "shadcn_*"
206
+ "repomix_*"
205
207
  )
206
208
 
207
209
  local cleaned=0
@@ -233,7 +235,6 @@ cleanup_deprecated_mcps() {
233
235
  local -a mcp_pkgs=(
234
236
  "chrome-devtools-mcp"
235
237
  "mcp-server-gsc"
236
- "repomix"
237
238
  "playwriter"
238
239
  "@steipete/macos-automator-mcp"
239
240
  "@steipete/claude-code-mcp"
@@ -242,7 +243,6 @@ cleanup_deprecated_mcps() {
242
243
  local -a mcp_bins=(
243
244
  "chrome-devtools-mcp"
244
245
  "mcp-server-gsc"
245
- "repomix"
246
246
  "playwriter"
247
247
  "macos-automator-mcp"
248
248
  "claude-code-mcp"
@@ -262,12 +262,7 @@ cleanup_deprecated_mcps() {
262
262
  local full_path
263
263
  full_path=$(resolve_mcp_binary_path "$bin_name")
264
264
  if [[ -n "$full_path" ]]; then
265
- # Preserve --mcp flag for repomix
266
- if [[ "$bin_name" == "repomix" ]]; then
267
- jq --arg k "$mcp_key" --arg p "$full_path" '.mcp[$k].command = [$p, "--mcp"]' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
268
- else
269
- jq --arg k "$mcp_key" --arg p "$full_path" '.mcp[$k].command = [$p]' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
270
- fi
265
+ jq --arg k "$mcp_key" --arg p "$full_path" '.mcp[$k].command = [$p]' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
271
266
  ((cleaned++))
272
267
  fi
273
268
  fi
@@ -2157,7 +2152,6 @@ install_mcp_packages() {
2157
2152
  local -a node_mcps=(
2158
2153
  "chrome-devtools-mcp"
2159
2154
  "mcp-server-gsc"
2160
- "repomix"
2161
2155
  "playwriter"
2162
2156
  "@steipete/macos-automator-mcp"
2163
2157
  "@steipete/claude-code-mcp"