@techwavedev/agi-agent-kit 1.1.5 → 1.2.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.

Potentially problematic release.


This version of @techwavedev/agi-agent-kit might be problematic. Click here for more details.

Files changed (237) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/README.md +190 -12
  3. package/bin/init.js +30 -2
  4. package/package.json +6 -3
  5. package/templates/base/AGENTS.md +54 -23
  6. package/templates/base/README.md +325 -0
  7. package/templates/base/directives/memory_integration.md +95 -0
  8. package/templates/base/execution/memory_manager.py +309 -0
  9. package/templates/base/execution/session_boot.py +218 -0
  10. package/templates/base/execution/session_init.py +320 -0
  11. package/templates/base/skill-creator/LICENSE.txt +0 -0
  12. package/templates/base/skill-creator/references/output-patterns.md +0 -0
  13. package/templates/base/skill-creator/references/workflows.md +0 -0
  14. package/templates/base/skill-creator/scripts/init_skill.py +0 -0
  15. package/templates/base/skill-creator/scripts/package_skill.py +0 -0
  16. package/templates/base/skill-creator/scripts/quick_validate.py +0 -0
  17. package/templates/skills/core/documentation/SKILL.md +0 -0
  18. package/templates/skills/core/documentation/references/best_practices.md +0 -0
  19. package/templates/skills/core/documentation/scripts/analyze_code.py +0 -0
  20. package/templates/skills/core/documentation/scripts/detect_changes.py +0 -0
  21. package/templates/skills/core/documentation/scripts/generate_changelog.py +0 -0
  22. package/templates/skills/core/documentation/scripts/sync_docs.py +0 -0
  23. package/templates/skills/core/documentation/scripts/update_skill_docs.py +0 -0
  24. package/templates/skills/core/pdf-reader/SKILL.md +0 -0
  25. package/templates/skills/core/pdf-reader/references/pdf_libraries.md +0 -0
  26. package/templates/skills/core/pdf-reader/scripts/extract_text.py +0 -0
  27. package/templates/skills/core/qdrant-memory/SKILL.md +0 -0
  28. package/templates/skills/core/qdrant-memory/references/advanced_patterns.md +0 -0
  29. package/templates/skills/core/qdrant-memory/references/collection_schemas.md +0 -0
  30. package/templates/skills/core/qdrant-memory/references/complete_guide.md +0 -0
  31. package/templates/skills/core/qdrant-memory/references/embedding_models.md +0 -0
  32. package/templates/skills/core/qdrant-memory/scripts/__pycache__/embedding_utils.cpython-314.pyc +0 -0
  33. package/templates/skills/core/qdrant-memory/scripts/__pycache__/init_collection.cpython-314.pyc +0 -0
  34. package/templates/skills/core/qdrant-memory/scripts/benchmark_token_savings.py +0 -0
  35. package/templates/skills/core/qdrant-memory/scripts/embedding_utils.py +0 -0
  36. package/templates/skills/core/qdrant-memory/scripts/hybrid_search.py +0 -0
  37. package/templates/skills/core/qdrant-memory/scripts/init_collection.py +0 -0
  38. package/templates/skills/core/qdrant-memory/scripts/memory_retrieval.py +0 -0
  39. package/templates/skills/core/qdrant-memory/scripts/semantic_cache.py +0 -0
  40. package/templates/skills/core/qdrant-memory/scripts/test_skill.py +0 -0
  41. package/templates/skills/core/webcrawler/references/advanced_crawling.md +0 -0
  42. package/templates/skills/core/webcrawler/scripts/crawl_docs.py +0 -0
  43. package/templates/skills/core/webcrawler/scripts/extract_page.py +0 -0
  44. package/templates/skills/core/webcrawler/scripts/filter_docs.py +0 -0
  45. package/templates/skills/ec/README.md +31 -0
  46. package/templates/skills/ec/aws/SKILL.md +1020 -0
  47. package/templates/skills/ec/aws/defaults.yaml +13 -0
  48. package/templates/skills/ec/aws/references/common_patterns.md +80 -0
  49. package/templates/skills/ec/aws/references/mcp_servers.md +98 -0
  50. package/templates/skills/ec/aws-terraform/SKILL.md +349 -0
  51. package/templates/skills/ec/aws-terraform/references/best_practices.md +394 -0
  52. package/templates/skills/ec/aws-terraform/references/checkov_reference.md +337 -0
  53. package/templates/skills/ec/aws-terraform/scripts/configure_mcp.py +150 -0
  54. package/templates/skills/ec/confluent-kafka/SKILL.md +655 -0
  55. package/templates/skills/ec/confluent-kafka/references/ansible_playbooks.md +792 -0
  56. package/templates/skills/ec/confluent-kafka/references/ec_deployment.md +579 -0
  57. package/templates/skills/ec/confluent-kafka/references/kraft_migration.md +490 -0
  58. package/templates/skills/ec/confluent-kafka/references/troubleshooting.md +778 -0
  59. package/templates/skills/ec/confluent-kafka/references/upgrade_7x_to_8x.md +488 -0
  60. package/templates/skills/ec/confluent-kafka/scripts/kafka_health_check.py +435 -0
  61. package/templates/skills/ec/confluent-kafka/scripts/upgrade_preflight.py +568 -0
  62. package/templates/skills/ec/confluent-kafka/scripts/validate_config.py +455 -0
  63. package/templates/skills/ec/consul/SKILL.md +427 -0
  64. package/templates/skills/ec/consul/references/acl_setup.md +168 -0
  65. package/templates/skills/ec/consul/references/ha_config.md +196 -0
  66. package/templates/skills/ec/consul/references/troubleshooting.md +267 -0
  67. package/templates/skills/ec/consul/references/upgrades.md +213 -0
  68. package/templates/skills/ec/consul/scripts/consul_health_report.py +530 -0
  69. package/templates/skills/ec/consul/scripts/consul_status.py +264 -0
  70. package/templates/skills/ec/consul/scripts/generate_values.py +170 -0
  71. package/templates/skills/ec/documentation/SKILL.md +351 -0
  72. package/templates/skills/ec/documentation/references/best_practices.md +201 -0
  73. package/templates/skills/ec/documentation/scripts/analyze_code.py +307 -0
  74. package/templates/skills/ec/documentation/scripts/detect_changes.py +460 -0
  75. package/templates/skills/ec/documentation/scripts/generate_changelog.py +312 -0
  76. package/templates/skills/ec/documentation/scripts/sync_docs.py +272 -0
  77. package/templates/skills/ec/documentation/scripts/update_skill_docs.py +366 -0
  78. package/templates/skills/ec/gitlab/SKILL.md +529 -0
  79. package/templates/skills/ec/gitlab/references/agent_installation.md +416 -0
  80. package/templates/skills/ec/gitlab/references/api_reference.md +508 -0
  81. package/templates/skills/ec/gitlab/references/gitops_flux.md +465 -0
  82. package/templates/skills/ec/gitlab/references/troubleshooting.md +518 -0
  83. package/templates/skills/ec/gitlab/scripts/generate_agent_values.py +329 -0
  84. package/templates/skills/ec/gitlab/scripts/gitlab_agent_status.py +414 -0
  85. package/templates/skills/ec/jira/SKILL.md +484 -0
  86. package/templates/skills/ec/jira/references/jql_reference.md +148 -0
  87. package/templates/skills/ec/jira/scripts/add_comment.py +91 -0
  88. package/templates/skills/ec/jira/scripts/bulk_log_work.py +124 -0
  89. package/templates/skills/ec/jira/scripts/create_ticket.py +162 -0
  90. package/templates/skills/ec/jira/scripts/get_ticket.py +191 -0
  91. package/templates/skills/ec/jira/scripts/jira_client.py +383 -0
  92. package/templates/skills/ec/jira/scripts/log_work.py +154 -0
  93. package/templates/skills/ec/jira/scripts/search_tickets.py +104 -0
  94. package/templates/skills/ec/jira/scripts/update_comment.py +67 -0
  95. package/templates/skills/ec/jira/scripts/update_ticket.py +161 -0
  96. package/templates/skills/ec/karpenter/SKILL.md +301 -0
  97. package/templates/skills/ec/karpenter/references/ec2nodeclasses.md +421 -0
  98. package/templates/skills/ec/karpenter/references/migration.md +396 -0
  99. package/templates/skills/ec/karpenter/references/nodepools.md +400 -0
  100. package/templates/skills/ec/karpenter/references/troubleshooting.md +359 -0
  101. package/templates/skills/ec/karpenter/scripts/generate_ec2nodeclass.py +187 -0
  102. package/templates/skills/ec/karpenter/scripts/generate_nodepool.py +245 -0
  103. package/templates/skills/ec/karpenter/scripts/karpenter_status.py +359 -0
  104. package/templates/skills/ec/opensearch/SKILL.md +720 -0
  105. package/templates/skills/ec/opensearch/references/ml_neural_search.md +576 -0
  106. package/templates/skills/ec/opensearch/references/operator.md +532 -0
  107. package/templates/skills/ec/opensearch/references/query_dsl.md +532 -0
  108. package/templates/skills/ec/opensearch/scripts/configure_mcp.py +148 -0
  109. package/templates/skills/ec/victoriametrics/SKILL.md +598 -0
  110. package/templates/skills/ec/victoriametrics/references/kubernetes.md +531 -0
  111. package/templates/skills/ec/victoriametrics/references/prometheus_migration.md +333 -0
  112. package/templates/skills/ec/victoriametrics/references/troubleshooting.md +442 -0
  113. package/templates/skills/knowledge/SKILLS_CATALOG.md +1066 -0
  114. package/templates/skills/knowledge/api-patterns/SKILL.md +0 -0
  115. package/templates/skills/knowledge/api-patterns/api-style.md +0 -0
  116. package/templates/skills/knowledge/api-patterns/auth.md +0 -0
  117. package/templates/skills/knowledge/api-patterns/documentation.md +0 -0
  118. package/templates/skills/knowledge/api-patterns/graphql.md +0 -0
  119. package/templates/skills/knowledge/api-patterns/rate-limiting.md +0 -0
  120. package/templates/skills/knowledge/api-patterns/response.md +0 -0
  121. package/templates/skills/knowledge/api-patterns/rest.md +0 -0
  122. package/templates/skills/knowledge/api-patterns/scripts/api_validator.py +0 -0
  123. package/templates/skills/knowledge/api-patterns/security-testing.md +0 -0
  124. package/templates/skills/knowledge/api-patterns/trpc.md +0 -0
  125. package/templates/skills/knowledge/api-patterns/versioning.md +0 -0
  126. package/templates/skills/knowledge/app-builder/SKILL.md +0 -0
  127. package/templates/skills/knowledge/app-builder/agent-coordination.md +0 -0
  128. package/templates/skills/knowledge/app-builder/feature-building.md +0 -0
  129. package/templates/skills/knowledge/app-builder/project-detection.md +0 -0
  130. package/templates/skills/knowledge/app-builder/scaffolding.md +0 -0
  131. package/templates/skills/knowledge/app-builder/tech-stack.md +0 -0
  132. package/templates/skills/knowledge/app-builder/templates/SKILL.md +0 -0
  133. package/templates/skills/knowledge/app-builder/templates/astro-static/TEMPLATE.md +0 -0
  134. package/templates/skills/knowledge/app-builder/templates/chrome-extension/TEMPLATE.md +0 -0
  135. package/templates/skills/knowledge/app-builder/templates/cli-tool/TEMPLATE.md +0 -0
  136. package/templates/skills/knowledge/app-builder/templates/electron-desktop/TEMPLATE.md +0 -0
  137. package/templates/skills/knowledge/app-builder/templates/express-api/TEMPLATE.md +0 -0
  138. package/templates/skills/knowledge/app-builder/templates/flutter-app/TEMPLATE.md +0 -0
  139. package/templates/skills/knowledge/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -0
  140. package/templates/skills/knowledge/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -0
  141. package/templates/skills/knowledge/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -0
  142. package/templates/skills/knowledge/app-builder/templates/nextjs-static/TEMPLATE.md +0 -0
  143. package/templates/skills/knowledge/app-builder/templates/nuxt-app/TEMPLATE.md +0 -0
  144. package/templates/skills/knowledge/app-builder/templates/python-fastapi/TEMPLATE.md +0 -0
  145. package/templates/skills/knowledge/app-builder/templates/react-native-app/TEMPLATE.md +0 -0
  146. package/templates/skills/knowledge/architecture/SKILL.md +0 -0
  147. package/templates/skills/knowledge/architecture/context-discovery.md +0 -0
  148. package/templates/skills/knowledge/architecture/examples.md +0 -0
  149. package/templates/skills/knowledge/architecture/pattern-selection.md +0 -0
  150. package/templates/skills/knowledge/architecture/patterns-reference.md +0 -0
  151. package/templates/skills/knowledge/architecture/trade-off-analysis.md +0 -0
  152. package/templates/skills/knowledge/bash-linux/SKILL.md +0 -0
  153. package/templates/skills/knowledge/behavioral-modes/SKILL.md +0 -0
  154. package/templates/skills/knowledge/brainstorming/SKILL.md +0 -0
  155. package/templates/skills/knowledge/brainstorming/dynamic-questioning.md +0 -0
  156. package/templates/skills/knowledge/clean-code/SKILL.md +0 -0
  157. package/templates/skills/knowledge/code-review-checklist/SKILL.md +0 -0
  158. package/templates/skills/knowledge/database-design/SKILL.md +0 -0
  159. package/templates/skills/knowledge/database-design/database-selection.md +0 -0
  160. package/templates/skills/knowledge/database-design/indexing.md +0 -0
  161. package/templates/skills/knowledge/database-design/migrations.md +0 -0
  162. package/templates/skills/knowledge/database-design/optimization.md +0 -0
  163. package/templates/skills/knowledge/database-design/orm-selection.md +0 -0
  164. package/templates/skills/knowledge/database-design/schema-design.md +0 -0
  165. package/templates/skills/knowledge/database-design/scripts/schema_validator.py +0 -0
  166. package/templates/skills/knowledge/deployment-procedures/SKILL.md +0 -0
  167. package/templates/skills/knowledge/documentation-templates/SKILL.md +0 -0
  168. package/templates/skills/knowledge/frontend-design/SKILL.md +0 -0
  169. package/templates/skills/knowledge/frontend-design/animation-guide.md +0 -0
  170. package/templates/skills/knowledge/frontend-design/color-system.md +0 -0
  171. package/templates/skills/knowledge/frontend-design/decision-trees.md +0 -0
  172. package/templates/skills/knowledge/frontend-design/motion-graphics.md +0 -0
  173. package/templates/skills/knowledge/frontend-design/scripts/accessibility_checker.py +0 -0
  174. package/templates/skills/knowledge/frontend-design/scripts/ux_audit.py +0 -0
  175. package/templates/skills/knowledge/frontend-design/typography-system.md +0 -0
  176. package/templates/skills/knowledge/frontend-design/ux-psychology.md +0 -0
  177. package/templates/skills/knowledge/frontend-design/visual-effects.md +0 -0
  178. package/templates/skills/knowledge/game-development/2d-games/SKILL.md +0 -0
  179. package/templates/skills/knowledge/game-development/3d-games/SKILL.md +0 -0
  180. package/templates/skills/knowledge/game-development/SKILL.md +0 -0
  181. package/templates/skills/knowledge/game-development/game-art/SKILL.md +0 -0
  182. package/templates/skills/knowledge/game-development/game-audio/SKILL.md +0 -0
  183. package/templates/skills/knowledge/game-development/game-design/SKILL.md +0 -0
  184. package/templates/skills/knowledge/game-development/mobile-games/SKILL.md +0 -0
  185. package/templates/skills/knowledge/game-development/multiplayer/SKILL.md +0 -0
  186. package/templates/skills/knowledge/game-development/pc-games/SKILL.md +0 -0
  187. package/templates/skills/knowledge/game-development/vr-ar/SKILL.md +0 -0
  188. package/templates/skills/knowledge/game-development/web-games/SKILL.md +0 -0
  189. package/templates/skills/knowledge/geo-fundamentals/SKILL.md +0 -0
  190. package/templates/skills/knowledge/geo-fundamentals/scripts/geo_checker.py +0 -0
  191. package/templates/skills/knowledge/i18n-localization/SKILL.md +0 -0
  192. package/templates/skills/knowledge/i18n-localization/scripts/i18n_checker.py +0 -0
  193. package/templates/skills/knowledge/intelligent-routing/SKILL.md +237 -164
  194. package/templates/skills/knowledge/jira/scripts/__pycache__/jira_client.cpython-314.pyc +0 -0
  195. package/templates/skills/knowledge/lint-and-validate/SKILL.md +0 -0
  196. package/templates/skills/knowledge/lint-and-validate/scripts/lint_runner.py +0 -0
  197. package/templates/skills/knowledge/lint-and-validate/scripts/type_coverage.py +0 -0
  198. package/templates/skills/knowledge/mcp-builder/SKILL.md +0 -0
  199. package/templates/skills/knowledge/mobile-design/SKILL.md +0 -0
  200. package/templates/skills/knowledge/mobile-design/decision-trees.md +0 -0
  201. package/templates/skills/knowledge/mobile-design/mobile-backend.md +0 -0
  202. package/templates/skills/knowledge/mobile-design/mobile-color-system.md +0 -0
  203. package/templates/skills/knowledge/mobile-design/mobile-debugging.md +0 -0
  204. package/templates/skills/knowledge/mobile-design/mobile-design-thinking.md +0 -0
  205. package/templates/skills/knowledge/mobile-design/mobile-navigation.md +0 -0
  206. package/templates/skills/knowledge/mobile-design/mobile-performance.md +0 -0
  207. package/templates/skills/knowledge/mobile-design/mobile-testing.md +0 -0
  208. package/templates/skills/knowledge/mobile-design/mobile-typography.md +0 -0
  209. package/templates/skills/knowledge/mobile-design/platform-android.md +0 -0
  210. package/templates/skills/knowledge/mobile-design/platform-ios.md +0 -0
  211. package/templates/skills/knowledge/mobile-design/scripts/mobile_audit.py +0 -0
  212. package/templates/skills/knowledge/mobile-design/touch-psychology.md +0 -0
  213. package/templates/skills/knowledge/nextjs-best-practices/SKILL.md +0 -0
  214. package/templates/skills/knowledge/nodejs-best-practices/SKILL.md +0 -0
  215. package/templates/skills/knowledge/parallel-agents/SKILL.md +345 -73
  216. package/templates/skills/knowledge/performance-profiling/SKILL.md +0 -0
  217. package/templates/skills/knowledge/performance-profiling/scripts/lighthouse_audit.py +0 -0
  218. package/templates/skills/knowledge/plan-writing/SKILL.md +0 -0
  219. package/templates/skills/knowledge/plugin-discovery/SKILL.md +582 -0
  220. package/templates/skills/knowledge/plugin-discovery/scripts/platform_setup.py +1083 -0
  221. package/templates/skills/knowledge/powershell-windows/SKILL.md +0 -0
  222. package/templates/skills/knowledge/python-patterns/SKILL.md +0 -0
  223. package/templates/skills/knowledge/react-patterns/SKILL.md +0 -0
  224. package/templates/skills/knowledge/red-team-tactics/SKILL.md +0 -0
  225. package/templates/skills/knowledge/seo-fundamentals/SKILL.md +0 -0
  226. package/templates/skills/knowledge/seo-fundamentals/scripts/seo_checker.py +0 -0
  227. package/templates/skills/knowledge/server-management/SKILL.md +0 -0
  228. package/templates/skills/knowledge/systematic-debugging/SKILL.md +0 -0
  229. package/templates/skills/knowledge/tailwind-patterns/SKILL.md +0 -0
  230. package/templates/skills/knowledge/tdd-workflow/SKILL.md +0 -0
  231. package/templates/skills/knowledge/testing-patterns/SKILL.md +0 -0
  232. package/templates/skills/knowledge/testing-patterns/scripts/test_runner.py +0 -0
  233. package/templates/skills/knowledge/vulnerability-scanner/SKILL.md +0 -0
  234. package/templates/skills/knowledge/vulnerability-scanner/checklists.md +0 -0
  235. package/templates/skills/knowledge/vulnerability-scanner/scripts/security_scan.py +0 -0
  236. package/templates/skills/knowledge/webapp-testing/SKILL.md +0 -0
  237. package/templates/skills/knowledge/webapp-testing/scripts/playwright_runner.py +0 -0
@@ -0,0 +1,150 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Script: configure_mcp.py
4
+ Purpose: Configure the Terraform MCP server for the current environment
5
+
6
+ Usage:
7
+ python configure_mcp.py [--profile PROFILE] [--region REGION] [--config-path PATH]
8
+
9
+ Arguments:
10
+ --profile AWS profile to use (default: "default")
11
+ --region AWS region (default: "eu-west-1")
12
+ --config-path Path to MCP config file (auto-detected if not specified)
13
+
14
+ Exit Codes:
15
+ 0 - Success
16
+ 1 - Invalid arguments
17
+ 2 - Config file not found
18
+ 3 - JSON parse error
19
+ 4 - Write error
20
+ """
21
+
22
+ import argparse
23
+ import json
24
+ import os
25
+ import sys
26
+ from pathlib import Path
27
+
28
+
29
+ def get_default_config_path() -> Path:
30
+ """Get the default MCP configuration path based on the environment."""
31
+ # Check common MCP client config locations
32
+ home = Path.home()
33
+
34
+ candidates = [
35
+ home / ".gemini" / "settings.json",
36
+ home / ".kiro" / "settings" / "mcp.json",
37
+ home / ".cursor" / "mcp.json",
38
+ home / ".vscode" / "mcp.json",
39
+ home / ".config" / "mcp" / "settings.json",
40
+ ]
41
+
42
+ for path in candidates:
43
+ if path.exists():
44
+ return path
45
+
46
+ # Default to Gemini settings if none found
47
+ return home / ".gemini" / "settings.json"
48
+
49
+
50
+ def create_terraform_mcp_config(profile: str, region: str) -> dict:
51
+ """Create the Terraform MCP server configuration."""
52
+ return {
53
+ "awslabs.terraform-mcp-server": {
54
+ "command": "uvx",
55
+ "args": ["awslabs.terraform-mcp-server@latest"],
56
+ "env": {
57
+ "FASTMCP_LOG_LEVEL": "ERROR",
58
+ "AWS_PROFILE": profile,
59
+ "AWS_REGION": region
60
+ },
61
+ "disabled": False,
62
+ "autoApprove": []
63
+ }
64
+ }
65
+
66
+
67
+ def main():
68
+ parser = argparse.ArgumentParser(
69
+ description="Configure the Terraform MCP server for AWS deployments"
70
+ )
71
+ parser.add_argument(
72
+ "--profile",
73
+ default="default",
74
+ help="AWS profile to use (default: default)"
75
+ )
76
+ parser.add_argument(
77
+ "--region",
78
+ default="eu-west-1",
79
+ help="AWS region (default: eu-west-1)"
80
+ )
81
+ parser.add_argument(
82
+ "--config-path",
83
+ type=Path,
84
+ help="Path to MCP config file (auto-detected if not specified)"
85
+ )
86
+ parser.add_argument(
87
+ "--dry-run",
88
+ action="store_true",
89
+ help="Print configuration without writing"
90
+ )
91
+ args = parser.parse_args()
92
+
93
+ # Determine config path
94
+ config_path = args.config_path or get_default_config_path()
95
+
96
+ # Create the new server config
97
+ new_server_config = create_terraform_mcp_config(args.profile, args.region)
98
+
99
+ if args.dry_run:
100
+ print(f"Config path: {config_path}")
101
+ print("\nTerraform MCP Server configuration:")
102
+ print(json.dumps(new_server_config, indent=2))
103
+ sys.exit(0)
104
+
105
+ # Load existing config or create new
106
+ if config_path.exists():
107
+ try:
108
+ with open(config_path, 'r') as f:
109
+ config = json.load(f)
110
+ except json.JSONDecodeError as e:
111
+ print(json.dumps({
112
+ "status": "error",
113
+ "message": f"Failed to parse config: {e}"
114
+ }), file=sys.stderr)
115
+ sys.exit(3)
116
+ else:
117
+ config = {}
118
+ config_path.parent.mkdir(parents=True, exist_ok=True)
119
+
120
+ # Ensure mcpServers key exists
121
+ if "mcpServers" not in config:
122
+ config["mcpServers"] = {}
123
+
124
+ # Add/update the Terraform server
125
+ config["mcpServers"].update(new_server_config)
126
+
127
+ # Write updated config
128
+ try:
129
+ with open(config_path, 'w') as f:
130
+ json.dump(config, f, indent=2)
131
+
132
+ print(json.dumps({
133
+ "status": "success",
134
+ "config_path": str(config_path),
135
+ "server": "awslabs.terraform-mcp-server",
136
+ "profile": args.profile,
137
+ "region": args.region
138
+ }, indent=2))
139
+ sys.exit(0)
140
+
141
+ except IOError as e:
142
+ print(json.dumps({
143
+ "status": "error",
144
+ "message": f"Failed to write config: {e}"
145
+ }), file=sys.stderr)
146
+ sys.exit(4)
147
+
148
+
149
+ if __name__ == "__main__":
150
+ main()