@vfarcic/dot-ai 0.115.0 → 0.117.0

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 (143) hide show
  1. package/README.md +21 -18
  2. package/dist/core/ai-provider-factory.d.ts +4 -2
  3. package/dist/core/ai-provider-factory.d.ts.map +1 -1
  4. package/dist/core/ai-provider-factory.js +17 -6
  5. package/dist/core/capability-operations.js +1 -1
  6. package/dist/core/generic-session-manager.d.ts +67 -0
  7. package/dist/core/generic-session-manager.d.ts.map +1 -0
  8. package/dist/core/generic-session-manager.js +192 -0
  9. package/dist/core/pattern-operations.js +1 -1
  10. package/dist/core/providers/noop-provider.d.ts +47 -0
  11. package/dist/core/providers/noop-provider.d.ts.map +1 -0
  12. package/dist/core/providers/noop-provider.js +63 -0
  13. package/dist/core/schema.d.ts.map +1 -1
  14. package/dist/core/schema.js +13 -13
  15. package/dist/core/session-utils.d.ts +3 -6
  16. package/dist/core/session-utils.d.ts.map +1 -1
  17. package/dist/core/session-utils.js +5 -13
  18. package/dist/core/shared-prompt-loader.d.ts +15 -3
  19. package/dist/core/shared-prompt-loader.d.ts.map +1 -1
  20. package/dist/core/shared-prompt-loader.js +67 -14
  21. package/dist/core/unified-creation-session.d.ts +3 -10
  22. package/dist/core/unified-creation-session.d.ts.map +1 -1
  23. package/dist/core/unified-creation-session.js +34 -75
  24. package/dist/core/unified-creation-types.d.ts +31 -22
  25. package/dist/core/unified-creation-types.d.ts.map +1 -1
  26. package/dist/evaluation/eval-runner.js +12 -3
  27. package/dist/evaluation/evaluators/base-comparative.d.ts +2 -0
  28. package/dist/evaluation/evaluators/base-comparative.d.ts.map +1 -1
  29. package/dist/evaluation/evaluators/base-comparative.js +13 -1
  30. package/dist/evaluation/graph-generator.d.ts +56 -0
  31. package/dist/evaluation/graph-generator.d.ts.map +1 -0
  32. package/dist/evaluation/graph-generator.js +694 -0
  33. package/dist/evaluation/metadata-loader.d.ts +39 -0
  34. package/dist/evaluation/metadata-loader.d.ts.map +1 -0
  35. package/dist/evaluation/metadata-loader.js +74 -0
  36. package/dist/evaluation/platform-synthesizer.d.ts +5 -1
  37. package/dist/evaluation/platform-synthesizer.d.ts.map +1 -1
  38. package/dist/evaluation/platform-synthesizer.js +65 -23
  39. package/dist/evaluation/run-platform-synthesis.js +22 -5
  40. package/dist/interfaces/mcp.d.ts.map +1 -1
  41. package/dist/interfaces/mcp.js +9 -34
  42. package/dist/tools/answer-question.d.ts.map +1 -1
  43. package/dist/tools/answer-question.js +12 -12
  44. package/dist/tools/choose-solution.js +1 -1
  45. package/dist/tools/generate-manifests.d.ts.map +1 -1
  46. package/dist/tools/generate-manifests.js +9 -10
  47. package/dist/tools/index.d.ts +1 -1
  48. package/dist/tools/index.d.ts.map +1 -1
  49. package/dist/tools/index.js +6 -6
  50. package/dist/tools/organizational-data.js +12 -12
  51. package/dist/tools/project-setup/discovery.d.ts +15 -0
  52. package/dist/tools/project-setup/discovery.d.ts.map +1 -0
  53. package/dist/tools/project-setup/discovery.js +104 -0
  54. package/dist/tools/project-setup/generate-scope.d.ts +15 -0
  55. package/dist/tools/project-setup/generate-scope.d.ts.map +1 -0
  56. package/dist/tools/project-setup/generate-scope.js +237 -0
  57. package/dist/tools/project-setup/report-scan.d.ts +15 -0
  58. package/dist/tools/project-setup/report-scan.d.ts.map +1 -0
  59. package/dist/tools/project-setup/report-scan.js +156 -0
  60. package/dist/tools/project-setup/types.d.ts +111 -0
  61. package/dist/tools/project-setup/types.d.ts.map +1 -0
  62. package/dist/tools/project-setup/types.js +8 -0
  63. package/dist/tools/project-setup.d.ts +28 -0
  64. package/dist/tools/project-setup.d.ts.map +1 -0
  65. package/dist/tools/project-setup.js +134 -0
  66. package/dist/tools/recommend.js +1 -1
  67. package/dist/tools/remediate.js +1 -1
  68. package/dist/tools/version.d.ts +0 -7
  69. package/dist/tools/version.d.ts.map +1 -1
  70. package/dist/tools/version.js +5 -34
  71. package/package.json +4 -2
  72. package/prompts/capability-inference.md +2 -2
  73. package/prompts/infrastructure-trigger-expansion.md +2 -2
  74. package/prompts/intent-analysis.md +2 -2
  75. package/prompts/kyverno-generation.md +14 -14
  76. package/prompts/manifest-generation.md +5 -5
  77. package/prompts/map-intent-to-operation.md +2 -2
  78. package/prompts/pattern-complete-error.md +1 -1
  79. package/prompts/pattern-complete-success.md +4 -4
  80. package/prompts/pattern-rationale.md +1 -1
  81. package/prompts/pattern-resources.md +1 -1
  82. package/prompts/pattern-review.md +5 -5
  83. package/prompts/policy-complete-apply.md +4 -4
  84. package/prompts/policy-complete-discard.md +1 -1
  85. package/prompts/policy-complete-error.md +1 -1
  86. package/prompts/policy-complete-save.md +4 -4
  87. package/prompts/policy-complete-success.md +4 -4
  88. package/prompts/policy-namespace-scope.md +1 -1
  89. package/prompts/question-generation.md +5 -5
  90. package/prompts/resource-analysis.md +3 -3
  91. package/prompts/resource-selection.md +3 -3
  92. package/prompts/solution-enhancement.md +4 -4
  93. package/scripts/anthropic.nu +9 -13
  94. package/scripts/common.nu +31 -33
  95. package/scripts/ingress.nu +5 -4
  96. package/scripts/kubernetes.nu +38 -53
  97. package/dist/core/doc-discovery.d.ts +0 -38
  98. package/dist/core/doc-discovery.d.ts.map +0 -1
  99. package/dist/core/doc-discovery.js +0 -231
  100. package/dist/core/doc-testing-session.d.ts +0 -109
  101. package/dist/core/doc-testing-session.d.ts.map +0 -1
  102. package/dist/core/doc-testing-session.js +0 -696
  103. package/dist/core/doc-testing-types.d.ts +0 -127
  104. package/dist/core/doc-testing-types.d.ts.map +0 -1
  105. package/dist/core/doc-testing-types.js +0 -53
  106. package/dist/core/nushell-runtime.d.ts +0 -39
  107. package/dist/core/nushell-runtime.d.ts.map +0 -1
  108. package/dist/core/nushell-runtime.js +0 -103
  109. package/dist/core/platform-operations.d.ts +0 -70
  110. package/dist/core/platform-operations.d.ts.map +0 -1
  111. package/dist/core/platform-operations.js +0 -294
  112. package/dist/tools/build-platform.d.ts +0 -25
  113. package/dist/tools/build-platform.d.ts.map +0 -1
  114. package/dist/tools/build-platform.js +0 -277
  115. package/dist/tools/test-docs.d.ts +0 -22
  116. package/dist/tools/test-docs.d.ts.map +0 -1
  117. package/dist/tools/test-docs.js +0 -351
  118. package/prompts/doc-testing-done.md +0 -51
  119. package/prompts/doc-testing-fix.md +0 -120
  120. package/prompts/doc-testing-scan.md +0 -140
  121. package/prompts/doc-testing-test-section.md +0 -169
  122. package/prompts/platform-operations-parse-script-help.md +0 -68
  123. package/scripts/ack.nu +0 -195
  124. package/scripts/argo-workflows.nu +0 -47
  125. package/scripts/argocd.nu +0 -85
  126. package/scripts/aso.nu +0 -74
  127. package/scripts/backstage.nu +0 -349
  128. package/scripts/cert-manager.nu +0 -13
  129. package/scripts/cnpg.nu +0 -14
  130. package/scripts/dot.nu +0 -32
  131. package/scripts/external-secrets.nu +0 -110
  132. package/scripts/gatekeeper.nu +0 -19
  133. package/scripts/github.nu +0 -42
  134. package/scripts/image.nu +0 -67
  135. package/scripts/kro.nu +0 -11
  136. package/scripts/kubevela.nu +0 -22
  137. package/scripts/port.nu +0 -71
  138. package/scripts/prometheus.nu +0 -21
  139. package/scripts/registry.nu +0 -55
  140. package/scripts/storage.nu +0 -210
  141. package/scripts/tests.nu +0 -12
  142. package/scripts/velero.nu +0 -45
  143. package/shared-prompts/validate-docs.md +0 -22
@@ -1,12 +1,12 @@
1
1
  🚀 **Policy Applied Successfully!**
2
2
 
3
- **Description**: {description}
4
- **Triggers**: {triggers}
5
- **Rationale**: {rationale}
3
+ **Description**: {{description}}
4
+ **Triggers**: {{triggers}}
5
+ **Rationale**: {{rationale}}
6
6
 
7
7
  **Applied Kyverno Policy:**
8
8
  ```yaml
9
- {kyvernoPolicy}
9
+ {{kyvernoPolicy}}
10
10
  ```
11
11
 
12
12
  The policy intent has been saved and the Kyverno policy has been applied to your cluster. The policy is now active and will enforce the defined rules on new and updated resources.
@@ -1,5 +1,5 @@
1
1
  ❌ **Policy Creation Cancelled**
2
2
 
3
- **Description**: {description}
3
+ **Description**: {{description}}
4
4
 
5
5
  The policy intent creation has been cancelled and no data has been stored.
@@ -1 +1 @@
1
- Error creating policy intent: {error}
1
+ Error creating policy intent: {{error}}
@@ -1,12 +1,12 @@
1
1
  💾 **Policy Saved Successfully!**
2
2
 
3
- **Description**: {description}
4
- **Triggers**: {triggers}
5
- **Rationale**: {rationale}
3
+ **Description**: {{description}}
4
+ **Triggers**: {{triggers}}
5
+ **Rationale**: {{rationale}}
6
6
 
7
7
  **Generated Kyverno Policy:**
8
8
  ```yaml
9
- {kyvernoPolicy}
9
+ {{kyvernoPolicy}}
10
10
  ```
11
11
 
12
12
  The policy intent has been saved and the Kyverno YAML should be saved to your local file system. The policy is ready for manual deployment when needed.
@@ -1,7 +1,7 @@
1
1
  ✅ **Policy Intent Created Successfully!**
2
2
 
3
- **Description**: {description}
4
- **Triggers**: {triggers}
5
- **Rationale**: {rationale}
3
+ **Description**: {{description}}
4
+ **Triggers**: {{triggers}}
5
+ **Rationale**: {{rationale}}
6
6
 
7
- **Action**: {deploymentAction}
7
+ **Action**: {{deploymentAction}}
@@ -3,7 +3,7 @@
3
3
  Your policy can be applied cluster-wide or limited to specific namespaces.
4
4
 
5
5
  ## Available Namespaces in Your Cluster:
6
- {namespaces}
6
+ {{namespaces}}
7
7
 
8
8
  ## Choose the scope for your policy:
9
9
 
@@ -1,19 +1,19 @@
1
1
  # Question Generation for Kubernetes Resource Configuration
2
2
 
3
3
  ## User Intent
4
- {intent}
4
+ {{intent}}
5
5
 
6
6
  ## Recommended Solution
7
- {solution_description}
7
+ {{solution_description}}
8
8
 
9
9
  ## Resources in Solution
10
- {resource_details}
10
+ {{resource_details}}
11
11
 
12
12
  ## Available Cluster Options
13
- {cluster_options}
13
+ {{cluster_options}}
14
14
 
15
15
  ## Organizational Policies
16
- {policy_context}
16
+ {{policy_context}}
17
17
 
18
18
  ## Instructions
19
19
 
@@ -1,13 +1,13 @@
1
1
  # Resource Analysis for Enhancement
2
2
 
3
3
  ## Current Solution
4
- {current_solution}
4
+ {{current_solution}}
5
5
 
6
6
  ## User Request
7
- {user_request}
7
+ {{user_request}}
8
8
 
9
9
  ## Available Resource Types
10
- {available_resource_types}
10
+ {{available_resource_types}}
11
11
 
12
12
  ## Instructions
13
13
 
@@ -3,13 +3,13 @@
3
3
  You are a Kubernetes expert. Given this user intent, available resources, and organizational patterns, create and rank complete solutions that address the user's needs.
4
4
 
5
5
  ## User Intent
6
- {intent}
6
+ {{intent}}
7
7
 
8
8
  ## Available Resources
9
- {resources}
9
+ {{{resources}}}
10
10
 
11
11
  ## Organizational Patterns
12
- {patterns}
12
+ {{patterns}}
13
13
 
14
14
  ## Instructions
15
15
 
@@ -1,16 +1,16 @@
1
1
  # Single-Pass Solution Enhancement
2
2
 
3
3
  ## Current Solution
4
- {current_solution}
4
+ {{current_solution}}
5
5
 
6
6
  ## Detailed Resource Schemas
7
- {detailed_schemas}
7
+ {{detailed_schemas}}
8
8
 
9
9
  ## Analysis Result
10
- {analysis_result}
10
+ {{analysis_result}}
11
11
 
12
12
  ## User Response
13
- {open_response}
13
+ {{open_response}}
14
14
 
15
15
  ## Instructions
16
16
 
@@ -2,23 +2,19 @@
2
2
 
3
3
  # Retrieves Anthropic token
4
4
  #
5
- # Parameters:
6
- # --anthropic-api-key: Anthropic API key (optional, falls back to ANTHROPIC_API_KEY env var)
7
- #
8
5
  # Returns:
9
6
  # A record with token, and saves values to .env file
10
- def --env "main get anthropic" [
11
- --anthropic-api-key: string
12
- ] {
7
+ def --env "main get anthropic" [] {
13
8
 
14
- mut key = $anthropic_api_key
15
- if ($key | is-empty) and ("ANTHROPIC_API_KEY" in $env) {
16
- $key = $env.ANTHROPIC_API_KEY
17
- } else if ($key | is-empty) {
18
- error make { msg: "Anthropic API key required via --anthropic-api-key parameter or ANTHROPIC_API_KEY environment variable" }
9
+ mut anthropic_api_key = ""
10
+ if "ANTHROPIC_API_KEY" in $env {
11
+ $anthropic_api_key = $env.ANTHROPIC_API_KEY
12
+ } else {
13
+ let value = input $"(ansi green_bold)Enter Anthropic token:(ansi reset) "
14
+ $anthropic_api_key = $value
19
15
  }
20
- $"export ANTHROPIC_API_KEY=($key)\n" | save --append .env
16
+ $"export ANTHROPIC_API_KEY=($anthropic_api_key)\n" | save --append .env
21
17
 
22
- {token: $key}
18
+ {token: $anthropic_api_key}
23
19
 
24
20
  }
package/scripts/common.nu CHANGED
@@ -47,10 +47,6 @@ def "main delete temp_files" [] {
47
47
  # > main get creds azure
48
48
  def --env "main get creds" [
49
49
  provider: string, # The cloud provider to configure credentials for (aws, azure, google)
50
- --aws-access-key-id: string, # AWS Access Key ID (optional, falls back to AWS_ACCESS_KEY_ID env var)
51
- --aws-secret-access-key: string, # AWS Secret Access Key (optional, falls back to AWS_SECRET_ACCESS_KEY env var)
52
- --aws-account-id: string, # AWS Account ID (optional, falls back to AWS_ACCOUNT_ID env var)
53
- --azure-tenant: string # Azure Tenant ID (optional, falls back to AZURE_TENANT env var)
54
50
  ] {
55
51
 
56
52
  mut creds = {provider: $provider}
@@ -62,47 +58,49 @@ def --env "main get creds" [
62
58
 
63
59
  } else if $provider == "aws" {
64
60
 
65
- mut access_key = $aws_access_key_id
66
- if ($access_key | is-empty) and ("AWS_ACCESS_KEY_ID" in $env) {
67
- $access_key = $env.AWS_ACCESS_KEY_ID
68
- } else if ($access_key | is-empty) {
69
- error make { msg: "AWS Access Key ID required via --aws-access-key-id parameter or AWS_ACCESS_KEY_ID environment variable" }
61
+ mut aws_access_key_id = ""
62
+ if AWS_ACCESS_KEY_ID in $env {
63
+ $aws_access_key_id = $env.AWS_ACCESS_KEY_ID
64
+ } else {
65
+ $aws_access_key_id = input $"(ansi green_bold)Enter AWS Access Key ID: (ansi reset)"
70
66
  }
71
- $"export AWS_ACCESS_KEY_ID=($access_key)\n"
67
+ $"export AWS_ACCESS_KEY_ID=($aws_access_key_id)\n"
72
68
  | save --append .env
73
- $creds = ( $creds | upsert aws_access_key_id $access_key )
74
-
75
- mut secret_key = $aws_secret_access_key
76
- if ($secret_key | is-empty) and ("AWS_SECRET_ACCESS_KEY" in $env) {
77
- $secret_key = $env.AWS_SECRET_ACCESS_KEY
78
- } else if ($secret_key | is-empty) {
79
- error make { msg: "AWS Secret Access Key required via --aws-secret-access-key parameter or AWS_SECRET_ACCESS_KEY environment variable" }
69
+ $creds = ( $creds | upsert aws_access_key_id $aws_access_key_id )
70
+
71
+ mut aws_secret_access_key = ""
72
+ if AWS_SECRET_ACCESS_KEY in $env {
73
+ $aws_secret_access_key = $env.AWS_SECRET_ACCESS_KEY
74
+ } else {
75
+ $aws_secret_access_key = input $"(ansi green_bold)Enter AWS Secret Access Key: (ansi reset)" --suppress-output
76
+ print ""
80
77
  }
81
- $"export AWS_SECRET_ACCESS_KEY=($secret_key)\n"
78
+ $"export AWS_SECRET_ACCESS_KEY=($aws_secret_access_key)\n"
82
79
  | save --append .env
83
- $creds = ( $creds | upsert aws_secret_access_key $secret_key )
80
+ $creds = ( $creds | upsert aws_secret_access_key $aws_secret_access_key )
84
81
 
85
- mut account_id = $aws_account_id
86
- if ($account_id | is-empty) and ("AWS_ACCOUNT_ID" in $env) {
87
- $account_id = $env.AWS_ACCOUNT_ID
88
- } else if ($account_id | is-empty) {
89
- error make { msg: "AWS Account ID required via --aws-account-id parameter or AWS_ACCOUNT_ID environment variable" }
82
+ mut aws_account_id = ""
83
+ if AWS_ACCOUNT_ID in $env {
84
+ $aws_account_id = $env.AWS_ACCOUNT_ID
85
+ } else {
86
+ $aws_account_id = input $"(ansi green_bold)Enter AWS Account ID: (ansi reset)"
90
87
  }
91
- $"export AWS_ACCOUNT_ID=($account_id)\n"
88
+ $"export AWS_ACCOUNT_ID=($aws_account_id)\n"
92
89
  | save --append .env
93
- $creds = ( $creds | upsert aws_account_id $account_id )
90
+ $creds = ( $creds | upsert aws_account_id $aws_account_id )
94
91
 
95
92
  } else if $provider == "azure" {
96
93
 
97
- mut tenant = $azure_tenant
98
- if ($tenant | is-empty) and ("AZURE_TENANT" in $env) {
99
- $tenant = $env.AZURE_TENANT
100
- } else if ($tenant | is-empty) {
101
- error make { msg: "Azure Tenant ID required via --azure-tenant parameter or AZURE_TENANT environment variable" }
94
+ mut tenant_id = ""
95
+
96
+ if AZURE_TENANT in $env {
97
+ $tenant_id = $env.AZURE_TENANT
98
+ } else {
99
+ $tenant_id = input $"(ansi green_bold)Enter Azure Tenant ID: (ansi reset)"
102
100
  }
103
- $creds = ( $creds | upsert tenant_id $tenant )
101
+ $creds = ( $creds | upsert tenant_id $tenant_id )
104
102
 
105
- az login --tenant $tenant
103
+ az login --tenant $tenant_id
106
104
 
107
105
  } else {
108
106
 
@@ -39,12 +39,13 @@ def --env "main apply ingress" [
39
39
 
40
40
  (
41
41
  kubectl --namespace ingress-nginx wait
42
- --for=condition=Available
43
- deployment ingress-nginx-controller
42
+ --for=condition=Ready
43
+ pods
44
+ --selector app.kubernetes.io/name=ingress-nginx
45
+ --selector app.kubernetes.io/component=controller
46
+ --timeout=120s
44
47
  )
45
48
 
46
- sleep 5sec
47
-
48
49
  }
49
50
 
50
51
  } else {
@@ -13,11 +13,6 @@ def --env "main create kubernetes" [
13
13
  --node-size = "small" # Supported values: small, medium, large
14
14
  --auth = true # Whether to perform authentication with the cloud provider
15
15
  --enable-ingress = true # Whether to enable ingress for the kind provider
16
- --aws-access-key-id: string, # AWS Access Key ID (optional, falls back to AWS_ACCESS_KEY_ID env var)
17
- --aws-secret-access-key: string, # AWS Secret Access Key (optional, falls back to AWS_SECRET_ACCESS_KEY env var)
18
- --azure-tenant: string, # Azure Tenant ID (optional, falls back to AZURE_TENANT env var)
19
- --upcloud-username: string, # UpCloud username (optional, falls back to UPCLOUD_USERNAME env var)
20
- --upcloud-password: string # UpCloud password (optional, falls back to UPCLOUD_PASSWORD env var)
21
16
  ] {
22
17
 
23
18
  $env.KUBECONFIG = $"($env.PWD)/kubeconfig-($name).yaml"
@@ -37,8 +32,6 @@ def --env "main create kubernetes" [
37
32
  (
38
33
  create eks --name $name --node_size $node_size
39
34
  --min_nodes $min_nodes --max_nodes $max_nodes
40
- --aws-access-key-id $aws_access_key_id
41
- --aws-secret-access-key $aws_secret_access_key
42
35
  )
43
36
 
44
37
  } else if $provider == "azure" {
@@ -46,7 +39,6 @@ def --env "main create kubernetes" [
46
39
  (
47
40
  create aks --name $name --node_size $node_size
48
41
  --min_nodes $min_nodes --max_nodes $max_nodes
49
- --azure-tenant $azure_tenant
50
42
  )
51
43
 
52
44
  } else if $provider == "upcloud" {
@@ -54,8 +46,6 @@ def --env "main create kubernetes" [
54
46
  (
55
47
  create upcloud --name $name --node_size $node_size
56
48
  --min_nodes $min_nodes --max_nodes $max_nodes
57
- --upcloud-username $upcloud_username
58
- --upcloud-password $upcloud_password
59
49
  )
60
50
 
61
51
  } else if $provider == "kind" {
@@ -317,8 +307,6 @@ def --env "create upcloud" [
317
307
  --node_size = "small" # Supported values: small, medium, large
318
308
  --min_nodes = 2 # Minimum number of nodes in the cluster
319
309
  --max_nodes = 4 # Maximum number of nodes in the cluster
320
- --upcloud-username: string, # UpCloud username (optional, falls back to UPCLOUD_USERNAME env var)
321
- --upcloud-password: string # UpCloud password (optional, falls back to UPCLOUD_PASSWORD env var)
322
310
  ] {
323
311
 
324
312
  print $"
@@ -329,24 +317,24 @@ Press the (ansi yellow_bold)enter key(ansi reset) to continue.
329
317
  "
330
318
  input
331
319
 
332
- mut username = $upcloud_username
333
- if ($username | is-empty) and ("UPCLOUD_USERNAME" in $env) {
334
- $username = $env.UPCLOUD_USERNAME
335
- } else if ($username | is-empty) {
336
- error make { msg: "UpCloud username required via --upcloud-username parameter or UPCLOUD_USERNAME environment variable" }
320
+ mut upcloud_username = ""
321
+ if UPCLOUD_USERNAME in $env {
322
+ $upcloud_username = $env.UPCLOUD_USERNAME
323
+ } else {
324
+ $upcloud_username = input $"(ansi green_bold)Enter UpCloud username: (ansi reset)"
325
+ $env.UPCLOUD_USERNAME = $upcloud_username
337
326
  }
338
- $env.UPCLOUD_USERNAME = $username
339
- $"export UPCLOUD_USERNAME=($username)\n"
327
+ $"export UPCLOUD_USERNAME=($upcloud_username)\n"
340
328
  | save --append .env
341
-
342
- mut password = $upcloud_password
343
- if ($password | is-empty) and ("UPCLOUD_PASSWORD" in $env) {
344
- $password = $env.UPCLOUD_PASSWORD
345
- } else if ($password | is-empty) {
346
- error make { msg: "UpCloud password required via --upcloud-password parameter or UPCLOUD_PASSWORD environment variable" }
329
+
330
+ mut upcloud_password = ""
331
+ if UPCLOUD_PASSWORD in $env {
332
+ $upcloud_password = $env.UPCLOUD_PASSWORD
333
+ } else {
334
+ $upcloud_password = input $"(ansi green_bold)Enter UpCloud password: (ansi reset)" --suppress-output
335
+ $env.UPCLOUD_PASSWORD = $upcloud_password
347
336
  }
348
- $env.UPCLOUD_PASSWORD = $password
349
- $"export UPCLOUD_PASSWORD=($password)\n"
337
+ $"export UPCLOUD_PASSWORD=($upcloud_password)\n"
350
338
  | save --append .env
351
339
  print ""
352
340
 
@@ -394,22 +382,21 @@ def --env "create aks" [
394
382
  --name = "dot", # Name of the Kubernetes cluster
395
383
  --min_nodes = 2, # Minimum number of nodes in the cluster
396
384
  --max_nodes = 4, # Maximum number of nodes in the cluster
397
- --node_size = "small", # Supported values: small, medium, large
398
- --auth = true, # Whether to perform authentication with Azure
399
- --azure-tenant: string # Azure Tenant ID (optional, falls back to AZURE_TENANT env var)
385
+ --node_size = "small" # Supported values: small, medium, large
386
+ --auth = true # Whether to perform authentication with Azure
400
387
  ] {
401
388
 
389
+ mut tenant_id = ""
402
390
  let location = "eastus"
403
391
 
404
- mut tenant = $azure_tenant
405
- if ($tenant | is-empty) and ("AZURE_TENANT" in $env) {
406
- $tenant = $env.AZURE_TENANT
407
- } else if ($tenant | is-empty) {
408
- error make { msg: "Azure Tenant ID required via --azure-tenant parameter or AZURE_TENANT environment variable" }
392
+ if AZURE_TENANT in $env {
393
+ $tenant_id = $env.AZURE_TENANT
394
+ } else {
395
+ $tenant_id = input $"(ansi green_bold)Enter Azure Tenant ID: (ansi reset)"
409
396
  }
410
397
 
411
398
  if $auth {
412
- az login --tenant $tenant
399
+ az login --tenant $tenant_id
413
400
  }
414
401
 
415
402
  mut resource_group = ""
@@ -509,29 +496,27 @@ def --env "create eks" [
509
496
  --name = "dot", # Name of the Kubernetes cluster
510
497
  --min_nodes = 2, # Minimum number of nodes in the cluster
511
498
  --max_nodes = 4, # Maximum number of nodes in the cluster
512
- --node_size = "small", # Supported values: small, medium, large
513
- --aws-access-key-id: string, # AWS Access Key ID (optional, falls back to AWS_ACCESS_KEY_ID env var)
514
- --aws-secret-access-key: string # AWS Secret Access Key (optional, falls back to AWS_SECRET_ACCESS_KEY env var)
499
+ --node_size = "small" # Supported values: small, medium, large
515
500
  ] {
516
501
 
517
502
  let region = "us-east-1"
518
503
 
519
- mut access_key = $aws_access_key_id
520
- if ($access_key | is-empty) and ("AWS_ACCESS_KEY_ID" in $env) {
521
- $access_key = $env.AWS_ACCESS_KEY_ID
522
- } else if ($access_key | is-empty) {
523
- error make { msg: "AWS Access Key ID required via --aws-access-key-id parameter or AWS_ACCESS_KEY_ID environment variable" }
504
+ mut aws_access_key_id = ""
505
+ if AWS_ACCESS_KEY_ID in $env {
506
+ $aws_access_key_id = $env.AWS_ACCESS_KEY_ID
507
+ } else {
508
+ $aws_access_key_id = input $"(ansi green_bold)Enter AWS Access Key ID: (ansi reset)"
524
509
  }
525
- $"export AWS_ACCESS_KEY_ID=($access_key)\n"
510
+ $"export AWS_ACCESS_KEY_ID=($aws_access_key_id)\n"
526
511
  | save --append .env
527
512
 
528
- mut secret_key = $aws_secret_access_key
529
- if ($secret_key | is-empty) and ("AWS_SECRET_ACCESS_KEY" in $env) {
530
- $secret_key = $env.AWS_SECRET_ACCESS_KEY
531
- } else if ($secret_key | is-empty) {
532
- error make { msg: "AWS Secret Access Key required via --aws-secret-access-key parameter or AWS_SECRET_ACCESS_KEY environment variable" }
513
+ mut aws_secret_access_key = ""
514
+ if AWS_SECRET_ACCESS_KEY in $env {
515
+ $aws_secret_access_key = $env.AWS_SECRET_ACCESS_KEY
516
+ } else {
517
+ $aws_secret_access_key = input $"(ansi green_bold)Enter AWS Secret Access Key: (ansi reset)" --suppress-output
533
518
  }
534
- $"export AWS_SECRET_ACCESS_KEY=($secret_key)\n"
519
+ $"export AWS_SECRET_ACCESS_KEY=($aws_secret_access_key)\n"
535
520
  | save --append .env
536
521
 
537
522
  let aws_account_id = (
@@ -542,8 +527,8 @@ def --env "create eks" [
542
527
  | save --append .env
543
528
 
544
529
  $"[default]
545
- aws_access_key_id = ($access_key)
546
- aws_secret_access_key = ($secret_key)
530
+ aws_access_key_id = ($aws_access_key_id)
531
+ aws_secret_access_key = ($aws_secret_access_key)
547
532
  " | save aws-creds.conf --force
548
533
 
549
534
  mut vm_size = "t3.medium"
@@ -1,38 +0,0 @@
1
- /**
2
- * Documentation File Discovery
3
- *
4
- * Discovers documentation files in a project with configurable patterns
5
- * and intelligent priority ordering.
6
- */
7
- export interface DiscoveredFile {
8
- path: string;
9
- name: string;
10
- priority: number;
11
- category: 'readme' | 'common' | 'docs' | 'other';
12
- relativePath: string;
13
- }
14
- export declare class DocDiscovery {
15
- private readonly ignoredDirs;
16
- /**
17
- * Get file pattern from CLI args or environment variable
18
- */
19
- getFilePattern(args: any): string;
20
- /**
21
- * Discover documentation files in the project
22
- */
23
- discoverFiles(baseDir?: string, pattern?: string): Promise<DiscoveredFile[]>;
24
- /**
25
- * Calculate priority for file ordering
26
- * Lower numbers = higher priority
27
- */
28
- private calculatePriority;
29
- /**
30
- * Categorize file by type
31
- */
32
- private categorizeFile;
33
- /**
34
- * Format discovered files for display
35
- */
36
- formatForDisplay(files: DiscoveredFile[]): string;
37
- }
38
- //# sourceMappingURL=doc-discovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-discovery.d.ts","sourceRoot":"","sources":["../../src/core/doc-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAa1B;IAEF;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAajC;;OAEG;IACG,aAAa,CAAC,OAAO,GAAE,MAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAoCjG;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;CA0DlD"}