@aiready/cli 0.14.15 → 0.14.17

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.
Files changed (4) hide show
  1. package/README.md +152 -52
  2. package/dist/cli.js +73 -12
  3. package/dist/cli.mjs +73 -12
  4. package/package.json +23 -14
package/README.md CHANGED
@@ -1,93 +1,193 @@
1
1
  # @aiready/cli
2
2
 
3
- > Unified command-line interface for the AIReady framework.
3
+ > Assess and improve your codebase's AI-readiness. Get an AI Readiness Score (0-100) and detect issues that confuse AI models.
4
4
 
5
- ## 🏛️ Architecture
5
+ [![npm version](https://img.shields.io/npm/v/@aiready/cli)](https://www.npmjs.com/package/@aiready/cli)
6
+ [![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/pengcao.aiready?label=VS%20Code)](https://marketplace.visualstudio.com/items?itemName=pengcao.aiready)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+ [![GitHub Actions](https://github.com/caopengau/aiready-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/caopengau/aiready-cli/actions)
6
9
 
7
- ```markdown
8
- # @aiready/cli
10
+ ## 🚀 Quick Start
9
11
 
10
- > Unified command-line interface for the AIReady framework.
12
+ ```bash
13
+ # Install globally
14
+ npm install -g @aiready/cli
11
15
 
12
- ## 🏛️ Architecture
16
+ # Scan your codebase
17
+ aiready scan .
18
+
19
+ # Get detailed analysis
20
+ aiready scan . --output report.json
13
21
  ```
14
22
 
15
- 🎯 USER
16
-
17
-
18
- 🎛️ @aiready/cli (orchestrator) ← YOU ARE HERE
19
- │ │ │ │ │ │ │ │ │
20
- ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
21
- [PAT] [CTX] [CON] [AMP] [DEP] [DOC] [SIG] [AGT] [TST]
22
- │ │ │ │ │ │ │ │ │
23
- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
24
-
25
-
26
- 🏢 @aiready/core
23
+ ## 🤖 Why AIReady?
24
+
25
+ As AI becomes deeply integrated into software development, codebases become harder for AI models to understand due to:
26
+
27
+ - **Knowledge cutoff limitations** in AI models
28
+ - **Context fragmentation** that breaks AI understanding
29
+ - **Duplicated patterns** AI doesn't recognize
30
+ - **Inconsistent naming** across the codebase
27
31
 
28
- Legend:
29
- PAT = pattern-detect CTX = context-analyzer
30
- CON = consistency AMP = change-amplification
31
- DEP = deps-health DOC = doc-drift
32
- SIG = ai-signal-clarity AGT = agent-grounding
33
- TST = testability
32
+ AIReady helps teams **assess, visualize, and prepare** repositories for better AI adoption.
34
33
 
35
- ````
34
+ ## 🌟 The AIReady Ecosystem
36
35
 
37
- ## Language Support
36
+ | Integration | Package | Description |
37
+ | ----------------- | -------------------------------------------------------------------------------- | ----------------------------------------------- |
38
+ | **CLI** | [`@aiready/cli`](https://www.npmjs.com/package/@aiready/cli) | Unified command-line interface |
39
+ | **VS Code** | [`aiready`](https://marketplace.visualstudio.com/items?itemName=pengcao.aiready) | Real-time AI readiness analysis in VS Code |
40
+ | **GitHub Action** | [`aiready-action`](https://github.com/marketplace/actions/aiready-action) | CI/CD integration for automated scans |
41
+ | **MCP Server** | [`@aiready/mcp-server`](https://www.npmjs.com/package/@aiready/mcp-server) | Model Context Protocol server for AI assistants |
42
+ | **Skills** | [`@aiready/skills`](https://github.com/caopengau/aiready-skills) | AI-friendly coding practices for agents |
43
+ | **Docker** | [`aiready/cli`](https://hub.docker.com/r/aiready/cli) | Containerized CLI |
44
+ | **Homebrew** | `brew install caopengau/aiready/aiready` | macOS package |
38
45
 
39
- Analyzes **TypeScript, JavaScript, Python, Java, Go, and C#** (95% market coverage).
46
+ ## Features
40
47
 
41
- ## Overview
48
+ - **AI Readiness Score** - Get a 0-100 score indicating how AI-ready your codebase is
49
+ - **Semantic Duplicate Detection** - Find duplicate patterns that waste AI context window tokens
50
+ - **Context Analysis** - Analyze context window costs, import depth, and dependency fragmentation
51
+ - **Consistency Checks** - Ensure naming conventions and pattern consistency
52
+ - **Documentation Drift** - Track documentation freshness vs code churn
53
+ - **Testability Assessment** - Measure code testability for AI agents
54
+ - **Agent Grounding** - Evaluate how well code aids AI agents
55
+ - **Interactive Visualization** - Generate force-directed graph visualizations
56
+ - **CI/CD Integration** - Quality gates for AI readiness in your pipeline
42
57
 
43
- The CLI provides both unified analysis (scan multiple tools at once) and individual tool access for pattern detection, context analysis, and consistency checking.
58
+ ## 📋 Commands
44
59
 
45
- ## Usage
60
+ ### Unified Scan
61
+
62
+ Run all analysis tools at once:
46
63
 
47
64
  ```bash
48
- # Scan a codebase
49
65
  aiready scan .
50
-
51
- # Run a specific tool
52
- aiready patterns . --similarity 0.6
66
+ aiready scan . --output report.json
67
+ aiready scan . --threshold 70
53
68
  ```
54
69
 
55
- ## 🛠️ Building Your Own Tool (Spokes)
70
+ ### Individual Tools
56
71
 
57
- Want to build your own analysis tool that integrates with the AIReady ecosystem? Check out our [Spoke Development Guide](./docs/SPOKE_GUIDE.md).
72
+ | Command | Description |
73
+ | --------------------- | ------------------------------------------ |
74
+ | `aiready patterns` | Detect semantic duplicates and patterns |
75
+ | `aiready context` | Analyze context window cost & dependencies |
76
+ | `aiready consistency` | Check naming conventions |
77
+ | `aiready testability` | Assess code testability |
78
+ | `aiready visualize` | Generate interactive visualizations |
79
+ | `aiready upload` | Upload results to AIReady platform |
58
80
 
59
- ## 🌐 Platform Integration
81
+ ## 📦 Installation
60
82
 
83
+ ### npm / pnpm / yarn
61
84
 
62
- Connect your local scans to the [AIReady Dashboard](https://platform.getaiready.dev/dashboard).
85
+ ```bash
86
+ # npm
87
+ npm install -g @aiready/cli
63
88
 
64
- ### Automatic Upload
89
+ # pnpm
90
+ pnpm add -g @aiready/cli
91
+
92
+ # yarn
93
+ yarn global add @aiready/cli
94
+ ```
65
95
 
66
- Scan and upload results in one step:
96
+ ### Docker
67
97
 
68
98
  ```bash
69
- aiready scan . --upload --api-key ar_...
70
- ```
99
+ # Pull from Docker Hub
100
+ docker pull aiready/cli
101
+
102
+ # Run
103
+ docker run aiready/cli scan .
71
104
 
72
- ### Manual Upload
105
+ # Or use the image directly
106
+ docker run -v $(pwd):/app aiready/cli scan /app
107
+ ```
73
108
 
74
- Upload an existing report JSON:
109
+ ### Homebrew
75
110
 
76
111
  ```bash
77
- aiready upload .aiready/latest.json --api-key ar_...
112
+ brew install caopengau/aiready/aiready
78
113
  ```
79
114
 
80
- ### Options
115
+ ### VS Code Extension
81
116
 
82
- - `--upload`: Automatically upload results after scan
83
- - `--api-key <key>`: Your platform API key (or set `AIREADY_API_KEY`)
84
- - `--server <url>`: Custom platform URL (optional)
117
+ Install from [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=pengcao.aiready) or search for "AIReady" in VS Code extensions.
85
118
 
86
- ## License
119
+ ### GitHub Action
87
120
 
88
- MIT
121
+ ```yaml
122
+ - name: AIReady Code Analysis
123
+ uses: caopengau/aiready-action@v1
124
+ with:
125
+ threshold: 70
126
+ ```
89
127
 
128
+ ### MCP Server
129
+
130
+ ```bash
131
+ npm install -g @aiready/mcp-server
132
+ aiready-mcp
90
133
  ```
91
134
 
135
+ ## 🔧 Configuration
136
+
137
+ Create an `aiready.json` config file:
138
+
139
+ ```json
140
+ {
141
+ "scan": {
142
+ "exclude": ["**/dist/**", "**/node_modules/**"]
143
+ },
144
+ "tools": {
145
+ "pattern-detect": { "minSimilarity": 0.5 },
146
+ "context-analyzer": { "maxContextBudget": 15000 }
147
+ },
148
+ "output": { "format": "json", "directory": ".aiready" }
149
+ }
92
150
  ```
93
- ````
151
+
152
+ ## 🌐 Language Support
153
+
154
+ **Currently Supported (95% market coverage):**
155
+
156
+ - ✅ TypeScript / JavaScript
157
+ - ✅ Python
158
+ - ✅ Java
159
+ - ✅ Go
160
+ - ✅ C#
161
+
162
+ ## 🏗️ Architecture
163
+
164
+ ```text
165
+ 🎯 USER
166
+
167
+
168
+ 🎛️ @aiready/cli (orchestrator)
169
+ │ │ │ │ │
170
+ ▼ ▼ ▼ ▼ ▼
171
+ [PAT] [CTX] [CON] [DOC] [TEST]
172
+ │ │ │ │ │
173
+ └─────┴─────┴─────┴─────┘
174
+
175
+
176
+ 🏢 @aiready/core
177
+ ```
178
+
179
+ ## 🤝 Contributing
180
+
181
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
182
+
183
+ ## 📄 License
184
+
185
+ MIT License - see [LICENSE](./LICENSE) for details.
186
+
187
+ ## 🔗 Related Links
188
+
189
+ - 🌐 [Website](https://getaiready.dev)
190
+ - 📖 [Documentation](https://docs.getaiready.dev)
191
+ - 📦 [npm](https://www.npmjs.com/package/@aiready/cli)
192
+ - 📊 [GitHub Actions](https://github.com/marketplace/actions/aiready-action)
193
+ - 🔌 [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=pengcao.aiready)
package/dist/cli.js CHANGED
@@ -1039,29 +1039,64 @@ async function initAction(options) {
1039
1039
  // Tool-specific configurations
1040
1040
  tools: {
1041
1041
  [import_core7.ToolName.PatternDetect]: {
1042
- minSimilarity: 0.8,
1042
+ // Core detection thresholds
1043
+ minSimilarity: 0.4,
1044
+ // Jaccard similarity threshold (0-1)
1043
1045
  minLines: 5,
1044
- minSharedTokens: 10,
1046
+ // Minimum lines to consider a duplicate
1047
+ minSharedTokens: 8,
1048
+ // Minimum shared tokens for candidate matching
1045
1049
  approx: true,
1050
+ // Use approximate matching for performance
1051
+ // Performance tuning
1052
+ batchSize: 100,
1053
+ // Batch size for comparisons
1054
+ maxCandidatesPerBlock: 100,
1055
+ // Max candidates per code block
1056
+ maxResults: 10,
1057
+ // Max results in console output
1058
+ // Cluster reporting
1059
+ minClusterFiles: 3,
1060
+ // Min files for cluster reporting
1061
+ minClusterTokenCost: 1e3,
1062
+ // Min token cost for cluster reporting
1063
+ // Output
1064
+ outputFormat: "console",
1065
+ // Output format (console, json, html)
1046
1066
  ...options.full ? {
1047
- batchSize: 300,
1048
- maxCandidatesPerBlock: 500,
1049
- minClusterFiles: 3,
1050
- minClusterTokenCost: 1e3
1067
+ // Advanced options (only included with --full)
1068
+ // Add any additional advanced options here
1051
1069
  } : {}
1052
1070
  },
1053
1071
  [import_core7.ToolName.ContextAnalyzer]: {
1054
- maxContextBudget: 128e3,
1055
- minCohesion: 0.6,
1072
+ // Smart defaults are generated dynamically based on repository size
1073
+ // These are fallback values for when smart defaults can't be calculated
1074
+ maxContextBudget: 25e3,
1075
+ // Max acceptable token budget for a single context
1076
+ minCohesion: 0.4,
1077
+ // Minimum acceptable cohesion score (0-1)
1056
1078
  maxDepth: 7,
1057
- maxFragmentation: 0.4,
1079
+ // Maximum acceptable import depth
1080
+ maxFragmentation: 0.7,
1081
+ // Maximum acceptable fragmentation score (0-1)
1082
+ // Analysis focus
1058
1083
  focus: "all",
1084
+ // Analysis focus: fragmentation, cohesion, depth, or all
1059
1085
  includeNodeModules: false
1086
+ // Whether to include node_modules in analysis
1060
1087
  },
1061
1088
  [import_core7.ToolName.NamingConsistency]: {
1089
+ // Core checks
1062
1090
  checkNaming: true,
1091
+ // Check naming conventions and quality
1063
1092
  checkPatterns: true,
1093
+ // Check code pattern consistency
1064
1094
  checkArchitecture: true,
1095
+ // Check architectural consistency
1096
+ // Minimum severity to report
1097
+ minSeverity: "info",
1098
+ // Severity filter: critical, major, minor, info
1099
+ // Custom vocabulary
1065
1100
  shortWords: ["id", "db", "ui", "ai"],
1066
1101
  acceptedAbbreviations: [
1067
1102
  "API",
@@ -1098,34 +1133,60 @@ async function initAction(options) {
1098
1133
  ...options.full ? { disableChecks: [] } : {}
1099
1134
  },
1100
1135
  [import_core7.ToolName.AiSignalClarity]: {
1136
+ // All signal clarity checks enabled by default
1101
1137
  checkMagicLiterals: true,
1138
+ // Detect magic numbers and strings
1102
1139
  checkBooleanTraps: true,
1140
+ // Detect boolean trap parameters
1103
1141
  checkAmbiguousNames: true,
1142
+ // Detect ambiguous function/variable names
1104
1143
  checkUndocumentedExports: true,
1144
+ // Detect exports without documentation
1105
1145
  checkImplicitSideEffects: true,
1146
+ // Detect functions with hidden side effects
1106
1147
  checkDeepCallbacks: true,
1148
+ // Detect deeply nested callbacks
1107
1149
  checkOverloadedSymbols: true,
1150
+ // Detect overloaded function signatures
1108
1151
  checkLargeFiles: true
1152
+ // Detect files that are too large
1109
1153
  },
1110
1154
  [import_core7.ToolName.AgentGrounding]: {
1111
- maxRecommendedDepth: 5,
1112
- readmeStaleDays: 30,
1155
+ // Structure clarity
1156
+ maxRecommendedDepth: 4,
1157
+ // Max directory depth before flagging as "too deep"
1158
+ // Documentation freshness
1159
+ readmeStaleDays: 90,
1160
+ // Days after which README is considered stale
1161
+ // File naming
1113
1162
  additionalVagueNames: ["stuff", "misc", "temp", "test"]
1163
+ // Custom vague file names
1114
1164
  },
1115
1165
  [import_core7.ToolName.TestabilityIndex]: {
1116
- minCoverageRatio: 0.7,
1166
+ // Coverage thresholds
1167
+ minCoverageRatio: 0.3,
1168
+ // Minimum acceptable test/source ratio
1169
+ // Test file patterns
1117
1170
  testPatterns: ["**/*.test.ts", "**/__tests__/**", "**/*.spec.ts"],
1171
+ // Scan depth
1118
1172
  maxDepth: 10
1173
+ // Maximum scan depth
1119
1174
  },
1120
1175
  [import_core7.ToolName.DocDrift]: {
1176
+ // Drift detection
1121
1177
  maxCommits: 50,
1178
+ // Maximum commit distance to check for drift
1122
1179
  staleMonths: 3
1180
+ // Consider comments older than this as outdated
1123
1181
  },
1124
1182
  [import_core7.ToolName.DependencyHealth]: {
1183
+ // Training cutoff for AI knowledge assessment
1125
1184
  trainingCutoffYear: 2023
1185
+ // Year cutoff for AI training data
1126
1186
  },
1127
1187
  [import_core7.ToolName.ChangeAmplification]: {
1128
1188
  // Change amplification primarily relies on global scan settings
1189
+ // No additional tool-specific configuration required
1129
1190
  }
1130
1191
  },
1131
1192
  // Visualizer settings (interactive graph)
package/dist/cli.mjs CHANGED
@@ -776,29 +776,64 @@ async function initAction(options) {
776
776
  // Tool-specific configurations
777
777
  tools: {
778
778
  [ToolName2.PatternDetect]: {
779
- minSimilarity: 0.8,
779
+ // Core detection thresholds
780
+ minSimilarity: 0.4,
781
+ // Jaccard similarity threshold (0-1)
780
782
  minLines: 5,
781
- minSharedTokens: 10,
783
+ // Minimum lines to consider a duplicate
784
+ minSharedTokens: 8,
785
+ // Minimum shared tokens for candidate matching
782
786
  approx: true,
787
+ // Use approximate matching for performance
788
+ // Performance tuning
789
+ batchSize: 100,
790
+ // Batch size for comparisons
791
+ maxCandidatesPerBlock: 100,
792
+ // Max candidates per code block
793
+ maxResults: 10,
794
+ // Max results in console output
795
+ // Cluster reporting
796
+ minClusterFiles: 3,
797
+ // Min files for cluster reporting
798
+ minClusterTokenCost: 1e3,
799
+ // Min token cost for cluster reporting
800
+ // Output
801
+ outputFormat: "console",
802
+ // Output format (console, json, html)
783
803
  ...options.full ? {
784
- batchSize: 300,
785
- maxCandidatesPerBlock: 500,
786
- minClusterFiles: 3,
787
- minClusterTokenCost: 1e3
804
+ // Advanced options (only included with --full)
805
+ // Add any additional advanced options here
788
806
  } : {}
789
807
  },
790
808
  [ToolName2.ContextAnalyzer]: {
791
- maxContextBudget: 128e3,
792
- minCohesion: 0.6,
809
+ // Smart defaults are generated dynamically based on repository size
810
+ // These are fallback values for when smart defaults can't be calculated
811
+ maxContextBudget: 25e3,
812
+ // Max acceptable token budget for a single context
813
+ minCohesion: 0.4,
814
+ // Minimum acceptable cohesion score (0-1)
793
815
  maxDepth: 7,
794
- maxFragmentation: 0.4,
816
+ // Maximum acceptable import depth
817
+ maxFragmentation: 0.7,
818
+ // Maximum acceptable fragmentation score (0-1)
819
+ // Analysis focus
795
820
  focus: "all",
821
+ // Analysis focus: fragmentation, cohesion, depth, or all
796
822
  includeNodeModules: false
823
+ // Whether to include node_modules in analysis
797
824
  },
798
825
  [ToolName2.NamingConsistency]: {
826
+ // Core checks
799
827
  checkNaming: true,
828
+ // Check naming conventions and quality
800
829
  checkPatterns: true,
830
+ // Check code pattern consistency
801
831
  checkArchitecture: true,
832
+ // Check architectural consistency
833
+ // Minimum severity to report
834
+ minSeverity: "info",
835
+ // Severity filter: critical, major, minor, info
836
+ // Custom vocabulary
802
837
  shortWords: ["id", "db", "ui", "ai"],
803
838
  acceptedAbbreviations: [
804
839
  "API",
@@ -835,34 +870,60 @@ async function initAction(options) {
835
870
  ...options.full ? { disableChecks: [] } : {}
836
871
  },
837
872
  [ToolName2.AiSignalClarity]: {
873
+ // All signal clarity checks enabled by default
838
874
  checkMagicLiterals: true,
875
+ // Detect magic numbers and strings
839
876
  checkBooleanTraps: true,
877
+ // Detect boolean trap parameters
840
878
  checkAmbiguousNames: true,
879
+ // Detect ambiguous function/variable names
841
880
  checkUndocumentedExports: true,
881
+ // Detect exports without documentation
842
882
  checkImplicitSideEffects: true,
883
+ // Detect functions with hidden side effects
843
884
  checkDeepCallbacks: true,
885
+ // Detect deeply nested callbacks
844
886
  checkOverloadedSymbols: true,
887
+ // Detect overloaded function signatures
845
888
  checkLargeFiles: true
889
+ // Detect files that are too large
846
890
  },
847
891
  [ToolName2.AgentGrounding]: {
848
- maxRecommendedDepth: 5,
849
- readmeStaleDays: 30,
892
+ // Structure clarity
893
+ maxRecommendedDepth: 4,
894
+ // Max directory depth before flagging as "too deep"
895
+ // Documentation freshness
896
+ readmeStaleDays: 90,
897
+ // Days after which README is considered stale
898
+ // File naming
850
899
  additionalVagueNames: ["stuff", "misc", "temp", "test"]
900
+ // Custom vague file names
851
901
  },
852
902
  [ToolName2.TestabilityIndex]: {
853
- minCoverageRatio: 0.7,
903
+ // Coverage thresholds
904
+ minCoverageRatio: 0.3,
905
+ // Minimum acceptable test/source ratio
906
+ // Test file patterns
854
907
  testPatterns: ["**/*.test.ts", "**/__tests__/**", "**/*.spec.ts"],
908
+ // Scan depth
855
909
  maxDepth: 10
910
+ // Maximum scan depth
856
911
  },
857
912
  [ToolName2.DocDrift]: {
913
+ // Drift detection
858
914
  maxCommits: 50,
915
+ // Maximum commit distance to check for drift
859
916
  staleMonths: 3
917
+ // Consider comments older than this as outdated
860
918
  },
861
919
  [ToolName2.DependencyHealth]: {
920
+ // Training cutoff for AI knowledge assessment
862
921
  trainingCutoffYear: 2023
922
+ // Year cutoff for AI training data
863
923
  },
864
924
  [ToolName2.ChangeAmplification]: {
865
925
  // Change amplification primarily relies on global scan settings
926
+ // No additional tool-specific configuration required
866
927
  }
867
928
  },
868
929
  // Visualizer settings (interactive graph)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aiready/cli",
3
- "version": "0.14.15",
4
- "description": "Unified CLI for AIReady analysis tools",
3
+ "version": "0.14.17",
4
+ "description": "Assess and improve your codebase's AI-readiness. Get an AI Readiness Score (0-100) and detect semantic duplicates, context fragmentation, and naming inconsistencies.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
7
7
  "types": "./dist/index.d.ts",
@@ -24,17 +24,17 @@
24
24
  "dependencies": {
25
25
  "chalk": "^5.3.0",
26
26
  "commander": "^14.0.0",
27
- "@aiready/agent-grounding": "0.13.12",
28
- "@aiready/context-analyzer": "0.21.16",
29
- "@aiready/consistency": "0.20.12",
30
- "@aiready/core": "0.23.13",
31
- "@aiready/deps": "0.13.13",
32
- "@aiready/ai-signal-clarity": "0.13.13",
33
- "@aiready/pattern-detect": "0.16.12",
34
- "@aiready/doc-drift": "0.13.12",
35
- "@aiready/visualizer": "0.6.12",
36
- "@aiready/testability": "0.6.12",
37
- "@aiready/change-amplification": "0.13.12"
27
+ "@aiready/agent-grounding": "0.13.14",
28
+ "@aiready/doc-drift": "0.13.14",
29
+ "@aiready/context-analyzer": "0.21.18",
30
+ "@aiready/core": "0.23.15",
31
+ "@aiready/change-amplification": "0.13.14",
32
+ "@aiready/pattern-detect": "0.16.14",
33
+ "@aiready/ai-signal-clarity": "0.13.15",
34
+ "@aiready/testability": "0.6.14",
35
+ "@aiready/visualizer": "0.6.14",
36
+ "@aiready/deps": "0.13.15",
37
+ "@aiready/consistency": "0.20.14"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^24.0.0",
@@ -44,7 +44,16 @@
44
44
  "aiready",
45
45
  "cli",
46
46
  "ai-readiness",
47
- "code-analysis"
47
+ "code-analysis",
48
+ "semantic-duplicates",
49
+ "context-window",
50
+ "agentic-development",
51
+ "code-quality",
52
+ "static-analysis",
53
+ "developer-tools",
54
+ "mcp",
55
+ "model-context-protocol",
56
+ "vscode-extension"
48
57
  ],
49
58
  "author": "AIReady Team",
50
59
  "license": "MIT",