aidevops 3.32.314 → 3.32.316

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
@@ -1,7 +1,7 @@
1
1
  <!-- SPDX-License-Identifier: MIT -->
2
2
  <!-- SPDX-FileCopyrightText: 2025-2026 Marcus Quinn -->
3
3
 
4
- ![AI DevOps social graph preview](docs/assets/og-image.png)
4
+ ![AI DevOps 15 main agents, 2,250+ sub agents, 2,140+ helper scripts, and 100+ slash commands](docs/assets/og-image.png)
5
5
 
6
6
  # AI DevOps Framework
7
7
 
@@ -60,7 +60,7 @@ The result: an AI operations platform that manages projects across every busines
60
60
  [![Copyright](https://img.shields.io/badge/Copyright-Marcus%20Quinn%202025--2026-blue.svg)](https://github.com/marcusquinn)
61
61
 
62
62
  <!-- Release & Version Info -->
63
- [![Version](https://img.shields.io/badge/Version-3.32.314-blue.svg)](https://github.com/marcusquinn/aidevops/releases)
63
+ [![Version](https://img.shields.io/badge/Version-3.32.316-blue.svg)](https://github.com/marcusquinn/aidevops/releases)
64
64
  [![npm version](https://img.shields.io/npm/v/aidevops)](https://www.npmjs.com/package/aidevops)
65
65
  [![Homebrew](https://img.shields.io/badge/homebrew-marcusquinn%2Ftap-orange)](https://github.com/marcusquinn/homebrew-tap)
66
66
  [![GitHub repository](https://img.shields.io/badge/github-repository-181717.svg?logo=github)](https://github.com/marcusquinn/aidevops)
@@ -126,10 +126,12 @@ the required notices and preferred credit text.
126
126
 
127
127
  ### Agent Structure
128
128
 
129
- - 14 primary agents (Build+, Automate, Product, SEO, Marketing-Sales, etc.) with specialist @subagents on demand
130
- - 2,350+ agent and subagent markdown files organized by domain
131
- - 1,960+ helper scripts in `.agents/scripts/`
132
- - 210+ slash commands and workflow guides for common operations
129
+ - 15 primary agents (Build+, Automate, Product, SEO, Marketing-Sales, etc.) with specialist @subagents on demand
130
+ - 2,250+ supporting Markdown guides: subagents, skills, references, templates, commands, and workflows organized by domain
131
+ - 2,140+ scripts in `.agents/scripts/` (shell helpers and tests)
132
+ - 100+ slash commands and 100+ workflow guides for common operations
133
+
134
+ Counts checked on 5 September 2026: 15 root agent files (excluding `AGENTS.md`), 2,268 regular Markdown files in `.agents/` subdirectories (excluding symlink aliases), 2,146 shell scripts, 106 slash-command entry points, and 104 workflow guides. Command and workflow source guides are included in the supporting-guide total, not additional agents. See [hero count maintenance](DESIGN.md#readme-hero-counts) for sources and refresh instructions.
133
135
 
134
136
  ### What You Can Ask aidevops To Do
135
137
 
@@ -840,9 +842,9 @@ aidevops implements proven agent design patterns identified by [Lance Martin (La
840
842
 
841
843
  | Pattern | Description | aidevops Implementation |
842
844
  |---------|-------------|------------------------|
843
- | **Give Agents a Computer** | Filesystem + shell for persistent context | `~/.aidevops/.agent-workspace/`, 1,960+ helper scripts |
845
+ | **Give Agents a Computer** | Filesystem + shell for persistent context | `~/.aidevops/.agent-workspace/`, 2,140+ scripts (shell helpers and tests) |
844
846
  | **Multi-Layer Action Space** | Few tools, push actions to computer | Per-agent MCP filtering (~12-20 tools each) |
845
- | **Knowledge Graph Routing** | Indexed, cross-referenced agents instead of isolated skills | `subagent-index.toon` maps 2,350+ agents by domain, purpose, and dependency — agents discover related context through the graph, not just their own file |
847
+ | **Knowledge Graph Routing** | Indexed, cross-referenced agents instead of isolated skills | `subagent-index.toon` routes agent context within a library of 2,250+ supporting guides — agents discover related context through the graph, not just their own file |
846
848
  | **Progressive Disclosure** | Load context on-demand | Subagent routing with content summaries, YAML frontmatter, read-on-demand |
847
849
  | **Offload Context** | Write results to filesystem | `.agent-workspace/work/[project]/` for persistence |
848
850
  | **Cache Context** | Prompt caching for cost | Stable instruction prefixes |
@@ -1355,7 +1357,7 @@ The setup script offers to install these tools automatically.
1355
1357
  - **[Vaultwarden](https://github.com/dani-garcia/vaultwarden)**: Password and secrets management
1356
1358
  - **[SonarCloud](https://sonarcloud.io/)**: Security and quality analysis (A-grade ratings)
1357
1359
  - **[CodeFactor](https://www.codefactor.io/)**: Code quality metrics (A+ score)
1358
- - **[Codacy](https://www.codacy.com/)**: Multi-tool analysis (0 findings)
1360
+ - **[Codacy](https://www.codacy.com/)**: Multi-tool analysis with a live quality badge and daily A-grade monitoring
1359
1361
  - **[CodeRabbit](https://coderabbit.ai/)**: AI-powered code reviews
1360
1362
  - **[Snyk](https://snyk.io/)**: Security vulnerability scanning
1361
1363
  - **[Socket](https://socket.dev/)**: Dependency security and supply chain protection
@@ -1902,7 +1904,7 @@ aidevops is registered as a **Claude Code plugin marketplace**. Install with two
1902
1904
  /plugin install aidevops@aidevops
1903
1905
  ```
1904
1906
 
1905
- This installs the complete framework: 14 primary agents, 2,350+ subagents, and 1,960+ helper scripts.
1907
+ This installs the complete framework: 15 primary agents, 2,250+ supporting guides, and 2,140+ scripts (shell helpers and tests).
1906
1908
 
1907
1909
  ### Importing External Skills
1908
1910
 
@@ -2055,7 +2057,7 @@ The long-term direction is to make slash commands and `@mentions` unnecessary al
2055
2057
 
2056
2058
  ### **Example Subagents with MCP Integration**
2057
2059
 
2058
- These are examples of subagents that have supporting MCPs enabled. See `.agents/` for the full list of 2,350+ subagents organized by domain.
2060
+ These are examples of subagents that have supporting MCPs enabled. See `.agents/` for the library of 2,250+ supporting guides organized by domain.
2059
2061
 
2060
2062
  | Agent | Purpose | MCPs Enabled |
2061
2063
  |-------|---------|--------------|
@@ -2762,8 +2764,8 @@ aidevops/
2762
2764
  ├── AGENTS.md # AI agent guidance (dev)
2763
2765
  ├── .agents/ # Agents and documentation
2764
2766
  │ ├── AGENTS.md # User guide (deployed to ~/.aidevops/agents/)
2765
- │ ├── *.md # 12 primary agents
2766
- │ ├── scripts/ # 1,480+ helper scripts
2767
+ │ ├── *.md # 15 primary agents
2768
+ │ ├── scripts/ # 2,140+ shell scripts (helpers and tests)
2767
2769
  │ ├── tools/ # Cross-domain utilities (video, browser, git, etc.)
2768
2770
  │ ├── services/ # External service integrations
2769
2771
  │ └── workflows/ # Development process guides
@@ -2887,7 +2889,7 @@ See `.agents/tools/credentials/multi-tenant.md` for complete documentation.
2887
2889
  - Autonomous supervisor — pulse runs every 2 minutes, merging PRs, dispatching workers, killing stuck processes, advancing missions
2888
2890
  - Operational intelligence — struggle-ratio detection, orphaned PR recovery, circuit breaker, dynamic concurrency
2889
2891
  - Cost-aware routing — provider-aware model selection across OpenAI, Anthropic, Gemini, Cursor, Grok, and local models with budget tracking
2890
- - Progressive context — 2,350+ subagents loaded on demand, project bundles auto-configuring quality gates and model tiers
2892
+ - Progressive context — 2,250+ supporting guides available on demand, project bundles auto-configuring quality gates and model tiers
2891
2893
  - Self-improving — session mining extracts learnings, quality findings auto-create tasks, patterns feed back into agent prompts
2892
2894
 
2893
2895
  **Get Started:**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.32.314
1
+ 3.32.316
package/aidevops.sh CHANGED
@@ -5,7 +5,7 @@
5
5
  # AI DevOps Framework CLI
6
6
  # Usage: aidevops <command> [options]
7
7
  #
8
- # Version: 3.32.314
8
+ # Version: 3.32.316
9
9
 
10
10
  set -euo pipefail
11
11
 
@@ -1,10 +1,10 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="182" height="20" role="img" aria-label="dependencies: 123 direct">
2
- <title>dependencies: 123 direct</title>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="182" height="20" role="img" aria-label="dependencies: 125 direct">
2
+ <title>dependencies: 125 direct</title>
3
3
  <linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
4
4
  <clipPath id="r"><rect width="182" height="20" rx="3" fill="#fff"/></clipPath>
5
5
  <g clip-path="url(#r)"><rect width="98" height="20" fill="#555"/><rect x="98" width="84" height="20" fill="#4c1"/><rect width="182" height="20" fill="url(#s)"/></g>
6
6
  <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
7
7
  <text x="49.0" y="15" fill="#010101" fill-opacity=".3">dependencies</text><text x="49.0" y="14">dependencies</text>
8
- <text x="140.0" y="15" fill="#010101" fill-opacity=".3">123 direct</text><text x="140.0" y="14">123 direct</text>
8
+ <text x="140.0" y="15" fill="#010101" fill-opacity=".3">125 direct</text><text x="140.0" y="14">125 direct</text>
9
9
  </g>
10
10
  </svg>
@@ -3,21 +3,21 @@
3
3
  <rect width="520" height="96" fill="#ffffff"/>
4
4
  <rect x="20" y="10" width="480" height="14" rx="3" fill="#eaecef"/>
5
5
  <rect x="20" y="10" width="271" height="14" fill="#89e051"/>
6
- <rect x="291" y="10" width="117" height="14" fill="#083fa1"/>
7
- <rect x="408" y="10" width="61" height="14" fill="#e34c26"/>
8
- <rect x="469" y="10" width="12" height="14" fill="#3572A5"/>
9
- <rect x="481" y="10" width="10" height="14" fill="#f1e05a"/>
10
- <rect x="491" y="10" width="9" height="14" fill="#292929"/>
6
+ <rect x="291" y="10" width="91" height="14" fill="#083fa1"/>
7
+ <rect x="382" y="10" width="44" height="14" fill="#3572A5"/>
8
+ <rect x="426" y="10" width="41" height="14" fill="#e34c26"/>
9
+ <rect x="467" y="10" width="21" height="14" fill="#f1e05a"/>
10
+ <rect x="488" y="10" width="12" height="14" fill="#292929"/>
11
11
  <rect x="20" y="34" width="10" height="10" rx="2" fill="#89e051"/>
12
- <text x="34" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Shell <tspan fill="#57606a">54.7%</tspan></text>
12
+ <text x="34" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Shell <tspan fill="#57606a">55.1%</tspan></text>
13
13
  <rect x="270" y="34" width="10" height="10" rx="2" fill="#083fa1"/>
14
- <text x="284" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Markdown <tspan fill="#57606a">23.6%</tspan></text>
15
- <rect x="20" y="50" width="10" height="10" rx="2" fill="#e34c26"/>
16
- <text x="34" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">HTML <tspan fill="#57606a">12.4%</tspan></text>
17
- <rect x="270" y="50" width="10" height="10" rx="2" fill="#3572A5"/>
18
- <text x="284" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Python <tspan fill="#57606a">2.5%</tspan></text>
14
+ <text x="284" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Markdown <tspan fill="#57606a">18.5%</tspan></text>
15
+ <rect x="20" y="50" width="10" height="10" rx="2" fill="#3572A5"/>
16
+ <text x="34" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Python <tspan fill="#57606a">9.0%</tspan></text>
17
+ <rect x="270" y="50" width="10" height="10" rx="2" fill="#e34c26"/>
18
+ <text x="284" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">HTML <tspan fill="#57606a">8.5%</tspan></text>
19
19
  <rect x="20" y="66" width="10" height="10" rx="2" fill="#f1e05a"/>
20
- <text x="34" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JavaScript <tspan fill="#57606a">2.1%</tspan></text>
20
+ <text x="34" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JavaScript <tspan fill="#57606a">4.4%</tspan></text>
21
21
  <rect x="270" y="66" width="10" height="10" rx="2" fill="#292929"/>
22
- <text x="284" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JSON <tspan fill="#57606a">1.4%</tspan></text>
22
+ <text x="284" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JSON <tspan fill="#57606a">1.7%</tspan></text>
23
23
  </svg>
@@ -3,21 +3,21 @@
3
3
  <rect width="520" height="96" fill="#ffffff"/>
4
4
  <rect x="20" y="10" width="480" height="14" rx="3" fill="#eaecef"/>
5
5
  <rect x="20" y="10" width="271" height="14" fill="#89e051"/>
6
- <rect x="291" y="10" width="117" height="14" fill="#083fa1"/>
7
- <rect x="408" y="10" width="61" height="14" fill="#e34c26"/>
8
- <rect x="469" y="10" width="12" height="14" fill="#3572A5"/>
9
- <rect x="481" y="10" width="10" height="14" fill="#f1e05a"/>
10
- <rect x="491" y="10" width="9" height="14" fill="#292929"/>
6
+ <rect x="291" y="10" width="91" height="14" fill="#083fa1"/>
7
+ <rect x="382" y="10" width="44" height="14" fill="#3572A5"/>
8
+ <rect x="426" y="10" width="41" height="14" fill="#e34c26"/>
9
+ <rect x="467" y="10" width="21" height="14" fill="#f1e05a"/>
10
+ <rect x="488" y="10" width="12" height="14" fill="#292929"/>
11
11
  <rect x="20" y="34" width="10" height="10" rx="2" fill="#89e051"/>
12
- <text x="34" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Shell <tspan fill="#57606a">54.7%</tspan></text>
12
+ <text x="34" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Shell <tspan fill="#57606a">55.1%</tspan></text>
13
13
  <rect x="270" y="34" width="10" height="10" rx="2" fill="#083fa1"/>
14
- <text x="284" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Markdown <tspan fill="#57606a">23.6%</tspan></text>
15
- <rect x="20" y="50" width="10" height="10" rx="2" fill="#e34c26"/>
16
- <text x="34" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">HTML <tspan fill="#57606a">12.4%</tspan></text>
17
- <rect x="270" y="50" width="10" height="10" rx="2" fill="#3572A5"/>
18
- <text x="284" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Python <tspan fill="#57606a">2.5%</tspan></text>
14
+ <text x="284" y="44" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Markdown <tspan fill="#57606a">18.5%</tspan></text>
15
+ <rect x="20" y="50" width="10" height="10" rx="2" fill="#3572A5"/>
16
+ <text x="34" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">Python <tspan fill="#57606a">9.0%</tspan></text>
17
+ <rect x="270" y="50" width="10" height="10" rx="2" fill="#e34c26"/>
18
+ <text x="284" y="60" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">HTML <tspan fill="#57606a">8.5%</tspan></text>
19
19
  <rect x="20" y="66" width="10" height="10" rx="2" fill="#f1e05a"/>
20
- <text x="34" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JavaScript <tspan fill="#57606a">2.1%</tspan></text>
20
+ <text x="34" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JavaScript <tspan fill="#57606a">4.4%</tspan></text>
21
21
  <rect x="270" y="66" width="10" height="10" rx="2" fill="#292929"/>
22
- <text x="284" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JSON <tspan fill="#57606a">1.4%</tspan></text>
22
+ <text x="284" y="76" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" fill="#24292f">JSON <tspan fill="#57606a">1.7%</tspan></text>
23
23
  </svg>
@@ -1,10 +1,10 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="154" height="20" role="img" aria-label="lines of code: 1.03M">
2
- <title>lines of code: 1.03M</title>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="154" height="20" role="img" aria-label="lines of code: 1.49M">
2
+ <title>lines of code: 1.49M</title>
3
3
  <linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
4
4
  <clipPath id="r"><rect width="154" height="20" rx="3" fill="#fff"/></clipPath>
5
5
  <g clip-path="url(#r)"><rect width="105" height="20" fill="#555"/><rect x="105" width="49" height="20" fill="#007ec6"/><rect width="154" height="20" fill="url(#s)"/></g>
6
6
  <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
7
7
  <text x="52.5" y="15" fill="#010101" fill-opacity=".3">lines of code</text><text x="52.5" y="14">lines of code</text>
8
- <text x="129.5" y="15" fill="#010101" fill-opacity=".3">1.03M</text><text x="129.5" y="14">1.03M</text>
8
+ <text x="129.5" y="15" fill="#010101" fill-opacity=".3">1.49M</text><text x="129.5" y="14">1.49M</text>
9
9
  </g>
10
10
  </svg>
@@ -1,10 +1,10 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="154" height="20" role="img" aria-label="lines of code: 1.03M">
2
- <title>lines of code: 1.03M</title>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="154" height="20" role="img" aria-label="lines of code: 1.49M">
2
+ <title>lines of code: 1.49M</title>
3
3
  <linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
4
4
  <clipPath id="r"><rect width="154" height="20" rx="3" fill="#fff"/></clipPath>
5
5
  <g clip-path="url(#r)"><rect width="105" height="20" fill="#555"/><rect x="105" width="49" height="20" fill="#007ec6"/><rect width="154" height="20" fill="url(#s)"/></g>
6
6
  <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
7
7
  <text x="52.5" y="15" fill="#010101" fill-opacity=".3">lines of code</text><text x="52.5" y="14">lines of code</text>
8
- <text x="129.5" y="15" fill="#010101" fill-opacity=".3">1.03M</text><text x="129.5" y="14">1.03M</text>
8
+ <text x="129.5" y="15" fill="#010101" fill-opacity=".3">1.49M</text><text x="129.5" y="14">1.49M</text>
9
9
  </g>
10
10
  </svg>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema": "aidevops.repo-metrics.v1",
3
3
  "schema_version": 1,
4
- "generated_at": "2026-07-03T19:02:38Z",
4
+ "generated_at": "2026-09-05T04:13:50Z",
5
5
  "tool": {
6
6
  "name": "aidevops repo-metrics",
7
7
  "version": "1.0.0"
@@ -11,111 +11,111 @@
11
11
  "slug": "marcusquinn/aidevops"
12
12
  },
13
13
  "summary": {
14
- "source_files": 5298,
15
- "code": 1025070,
16
- "comments": 148493,
17
- "blanks": 209430,
18
- "languages": 15,
19
- "dependencies": 123
14
+ "source_files": 7186,
15
+ "code": 1493498,
16
+ "comments": 160857,
17
+ "blanks": 262512,
18
+ "languages": 16,
19
+ "dependencies": 125
20
20
  },
21
21
  "languages": [
22
22
  {
23
23
  "name": "Shell",
24
- "files": 1722,
25
- "code": 561171,
26
- "comments": 135081,
27
- "blanks": 100128,
28
- "percentage": 54.74,
24
+ "files": 2318,
25
+ "code": 823273,
26
+ "comments": 144832,
27
+ "blanks": 121646,
28
+ "percentage": 55.12,
29
29
  "color": "#89e051"
30
30
  },
31
31
  {
32
32
  "name": "Markdown",
33
- "files": 2923,
34
- "code": 241678,
33
+ "files": 3163,
34
+ "code": 276146,
35
35
  "comments": 0,
36
- "blanks": 80839,
37
- "percentage": 23.58,
36
+ "blanks": 91029,
37
+ "percentage": 18.49,
38
38
  "color": "#083fa1"
39
39
  },
40
+ {
41
+ "name": "Python",
42
+ "files": 799,
43
+ "code": 135028,
44
+ "comments": 3325,
45
+ "blanks": 22343,
46
+ "percentage": 9.04,
47
+ "color": "#3572A5"
48
+ },
40
49
  {
41
50
  "name": "HTML",
42
51
  "files": 54,
43
- "code": 126975,
52
+ "code": 126973,
44
53
  "comments": 0,
45
54
  "blanks": 14712,
46
- "percentage": 12.39,
55
+ "percentage": 8.5,
47
56
  "color": "#e34c26"
48
57
  },
49
- {
50
- "name": "Python",
51
- "files": 151,
52
- "code": 25472,
53
- "comments": 1487,
54
- "blanks": 5535,
55
- "percentage": 2.48,
56
- "color": "#3572A5"
57
- },
58
58
  {
59
59
  "name": "JavaScript",
60
- "files": 131,
61
- "code": 21312,
62
- "comments": 7488,
63
- "blanks": 3230,
64
- "percentage": 2.08,
60
+ "files": 391,
61
+ "code": 65999,
62
+ "comments": 8241,
63
+ "blanks": 7221,
64
+ "percentage": 4.42,
65
65
  "color": "#f1e05a"
66
66
  },
67
67
  {
68
68
  "name": "JSON",
69
- "files": 110,
70
- "code": 14764,
69
+ "files": 213,
70
+ "code": 26031,
71
71
  "comments": 0,
72
- "blanks": 203,
73
- "percentage": 1.44,
72
+ "blanks": 205,
73
+ "percentage": 1.74,
74
74
  "color": "#292929"
75
75
  },
76
76
  {
77
77
  "name": "TypeScript",
78
- "files": 82,
79
- "code": 12227,
80
- "comments": 1771,
81
- "blanks": 1727,
82
- "percentage": 1.19,
78
+ "files": 96,
79
+ "code": 14359,
80
+ "comments": 1708,
81
+ "blanks": 1947,
82
+ "percentage": 0.96,
83
83
  "color": "#3178c6"
84
84
  },
85
85
  {
86
86
  "name": "YAML",
87
- "files": 83,
88
- "code": 9580,
89
- "comments": 2407,
90
- "blanks": 1515,
91
- "percentage": 0.93,
87
+ "files": 102,
88
+ "code": 12051,
89
+ "comments": 2489,
90
+ "blanks": 1664,
91
+ "percentage": 0.81,
92
92
  "color": "#cb171e"
93
93
  },
94
94
  {
95
95
  "name": "CSS",
96
96
  "files": 2,
97
- "code": 6215,
97
+ "code": 6862,
98
98
  "comments": 11,
99
- "blanks": 915,
100
- "percentage": 0.61,
99
+ "blanks": 1020,
100
+ "percentage": 0.46,
101
101
  "color": "#563d7c"
102
102
  },
103
103
  {
104
104
  "name": "TSX",
105
- "files": 33,
106
- "code": 5198,
105
+ "files": 37,
106
+ "code": 5863,
107
107
  "comments": 169,
108
- "blanks": 566,
109
- "percentage": 0.51,
108
+ "blanks": 638,
109
+ "percentage": 0.39,
110
110
  "color": "#3178c6"
111
111
  },
112
112
  {
113
113
  "name": "AWK",
114
- "files": 3,
115
- "code": 262,
114
+ "files": 4,
115
+ "code": 613,
116
116
  "comments": 0,
117
- "blanks": 14,
118
- "percentage": 0.03,
117
+ "blanks": 38,
118
+ "percentage": 0.04,
119
119
  "color": "#c30e9b"
120
120
  },
121
121
  {
@@ -127,13 +127,22 @@
127
127
  "percentage": 0.01,
128
128
  "color": "#e38c00"
129
129
  },
130
+ {
131
+ "name": "SVG",
132
+ "files": 3,
133
+ "code": 84,
134
+ "comments": 3,
135
+ "blanks": 3,
136
+ "percentage": 0.01,
137
+ "color": "#6e7781"
138
+ },
130
139
  {
131
140
  "name": "TOML",
132
141
  "files": 1,
133
142
  "code": 61,
134
143
  "comments": 13,
135
144
  "blanks": 11,
136
- "percentage": 0.01,
145
+ "percentage": 0.0,
137
146
  "color": "#9c4221"
138
147
  },
139
148
  {
@@ -156,19 +165,28 @@
156
165
  }
157
166
  ],
158
167
  "dependencies": {
159
- "direct": 123,
160
- "locked": 0,
161
- "total": 123,
168
+ "direct": 125,
169
+ "locked": 51,
170
+ "total": 125,
162
171
  "ecosystems": [
163
172
  "npm",
164
173
  "python"
165
174
  ],
166
175
  "manifests": [
176
+ {
177
+ "path": ".agents/package.json",
178
+ "ecosystem": "npm",
179
+ "direct": 1,
180
+ "locked": 5,
181
+ "dependencies": [
182
+ "ajv"
183
+ ]
184
+ },
167
185
  {
168
186
  "path": ".agents/plugins/opencode-aidevops/package.json",
169
187
  "ecosystem": "npm",
170
188
  "direct": 3,
171
- "locked": 0,
189
+ "locked": 46,
172
190
  "dependencies": [
173
191
  "@bufbuild/protobuf",
174
192
  "@opencode-ai/plugin",
@@ -233,7 +251,7 @@
233
251
  {
234
252
  "path": "package.json",
235
253
  "ecosystem": "npm",
236
- "direct": 12,
254
+ "direct": 14,
237
255
  "locked": 0,
238
256
  "dependencies": [
239
257
  "@secretlint/secretlint-rule-preset-recommend",
@@ -241,7 +259,9 @@
241
259
  "@types/react",
242
260
  "@types/react-dom",
243
261
  "@vitejs/plugin-react",
262
+ "ajv",
244
263
  "elysia",
264
+ "file-type",
245
265
  "hono",
246
266
  "react",
247
267
  "react-dom",
@@ -6,31 +6,32 @@ Generated by `aidevops metrics generate`.
6
6
  ## Summary
7
7
 
8
8
  | Metric | Value |
9
- |---|---:|
10
- | Source files | 5,298 |
11
- | Lines of code | 1,025,070 |
12
- | Comment lines | 148,493 |
13
- | Blank lines | 209,430 |
14
- | Languages | 15 |
15
- | Direct dependencies | 123 |
16
- | Locked/total dependencies | 123 |
9
+ | --- | ---: |
10
+ | Source files | 7,186 |
11
+ | Lines of code | 1,493,498 |
12
+ | Comment lines | 160,857 |
13
+ | Blank lines | 262,512 |
14
+ | Languages | 16 |
15
+ | Direct dependencies | 125 |
16
+ | Locked/total dependencies | 125 |
17
17
 
18
18
  ## Languages
19
19
 
20
20
  | Language | Code lines | Files | Share |
21
- |---|---:|---:|---:|
22
- | Shell | 561,171 | 1,722 | 54.7% |
23
- | Markdown | 241,678 | 2,923 | 23.6% |
24
- | HTML | 126,975 | 54 | 12.4% |
25
- | Python | 25,472 | 151 | 2.5% |
26
- | JavaScript | 21,312 | 131 | 2.1% |
27
- | JSON | 14,764 | 110 | 1.4% |
28
- | TypeScript | 12,227 | 82 | 1.2% |
29
- | YAML | 9,580 | 83 | 0.9% |
30
- | CSS | 6,215 | 2 | 0.6% |
31
- | TSX | 5,198 | 33 | 0.5% |
32
- | AWK | 262 | 3 | 0.0% |
21
+ | --- | ---: | ---: | ---: |
22
+ | Shell | 823,273 | 2,318 | 55.1% |
23
+ | Markdown | 276,146 | 3,163 | 18.5% |
24
+ | Python | 135,028 | 799 | 9.0% |
25
+ | HTML | 126,973 | 54 | 8.5% |
26
+ | JavaScript | 65,999 | 391 | 4.4% |
27
+ | JSON | 26,031 | 213 | 1.7% |
28
+ | TypeScript | 14,359 | 96 | 1.0% |
29
+ | YAML | 12,051 | 102 | 0.8% |
30
+ | CSS | 6,862 | 2 | 0.5% |
31
+ | TSX | 5,863 | 37 | 0.4% |
32
+ | AWK | 613 | 4 | 0.0% |
33
33
  | SQL | 99 | 1 | 0.0% |
34
+ | SVG | 84 | 3 | 0.0% |
34
35
  | TOML | 61 | 1 | 0.0% |
35
36
  | Ruby | 47 | 1 | 0.0% |
36
37
  | Dockerfile | 9 | 1 | 0.0% |
@@ -38,14 +39,15 @@ Generated by `aidevops metrics generate`.
38
39
  ## Dependency manifests
39
40
 
40
41
  | Ecosystem | Manifest | Direct | Locked |
41
- |---|---|---:|---:|
42
- | npm | `.agents/plugins/opencode-aidevops/package.json` | 3 | 0 |
42
+ | --- | --- | ---: | ---: |
43
+ | npm | `.agents/package.json` | 1 | 5 |
44
+ | npm | `.agents/plugins/opencode-aidevops/package.json` | 3 | 46 |
43
45
  | npm | `.agents/scripts/accessibility/package.json` | 1 | 0 |
44
46
  | npm | `.agents/scripts/higgsfield/package.json` | 1 | 0 |
45
47
  | npm | `.agents/scripts/higgsfield/remotion/package.json` | 10 | 0 |
46
48
  | npm | `.agents/scripts/package.json` | 1 | 0 |
47
49
  | npm | `.agents/scripts/simplex-bot/package.json` | 2 | 0 |
48
- | npm | `package.json` | 12 | 0 |
50
+ | npm | `package.json` | 14 | 0 |
49
51
  | npm | `packages/gui-api/package.json` | 0 | 0 |
50
52
  | npm | `packages/gui-desktop/package.json` | 0 | 0 |
51
53
  | npm | `packages/gui-shared/package.json` | 0 | 0 |
@@ -53,5 +55,7 @@ Generated by `aidevops metrics generate`.
53
55
  | python | `requirements-lock.txt` | 81 | 0 |
54
56
  | python | `requirements.txt` | 14 | 0 |
55
57
 
56
- Refresh policy: run locally when needed, or use the managed weekly/24h-fresh workflow. The scanner uses git-tracked/unignored files and does not contact external services by default.
58
+ Refresh policy: run locally when needed, or use the managed weekly/24h-fresh
59
+ workflow. The scanner uses git-tracked/unignored files and does not contact
60
+ external services by default.
57
61
  <!-- aidevops:repo-metrics:end -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "3.32.314",
3
+ "version": "3.32.316",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.11",
package/setup.sh CHANGED
@@ -17,7 +17,7 @@ fi
17
17
  # AI Assistant Server Access Framework Setup Script
18
18
  # Helps developers set up the framework for their infrastructure
19
19
  #
20
- # Version: 3.32.314
20
+ # Version: 3.32.316
21
21
  #
22
22
  # Quick Install:
23
23
  # npm install -g aidevops && aidevops update (recommended)