cortexapps-cli 1.36.0__tar.gz → 1.38.0__tar.gz

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 (243) hide show
  1. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/PKG-INFO +1 -1
  2. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/README.md +175 -0
  3. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/catalog/cli-commands.yaml +17 -0
  4. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/catalog/cli-core.yaml +17 -0
  5. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/catalog/cli-docker.yaml +20 -0
  6. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/catalog/cli-solutions.yaml +17 -0
  7. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/catalog/cli-tests.yaml +17 -0
  8. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/scorecards/monorepo-component-health.yaml +54 -0
  9. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-commands/README.md +3 -0
  10. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-commands/cortex.yaml +17 -0
  11. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-commands/src/commands.py +22 -0
  12. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-core/README.md +3 -0
  13. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-core/cortex.yaml +17 -0
  14. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-core/src/cli.py +16 -0
  15. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-docker/Dockerfile +10 -0
  16. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-docker/README.md +3 -0
  17. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-docker/cortex.yaml +20 -0
  18. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-solutions/README.md +3 -0
  19. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-solutions/cortex.yaml +17 -0
  20. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-solutions/src/solutions.py +18 -0
  21. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-tests/README.md +3 -0
  22. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-tests/cortex.yaml +17 -0
  23. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/services/cli-tests/src/test_cli.py +20 -0
  24. cortexapps_cli-1.38.0/cortexapps_cli/solutions/monorepo/setup.py +255 -0
  25. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/pyproject.toml +1 -1
  26. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/LICENSE +0 -0
  27. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/README.rst +0 -0
  28. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/__init__.py +0 -0
  29. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/cli.py +0 -0
  30. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/command_options.py +0 -0
  31. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/ai_skills.py +0 -0
  32. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/api_keys.py +0 -0
  33. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/audit_logs.py +0 -0
  34. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/backup.py +0 -0
  35. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/backup_commands/cortex_export.py +0 -0
  36. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/catalog.py +0 -0
  37. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/custom_data.py +0 -0
  38. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/custom_events.py +0 -0
  39. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/custom_metrics.py +0 -0
  40. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/dependencies.py +0 -0
  41. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/deploys.py +0 -0
  42. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/discovery_audit.py +0 -0
  43. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/docs.py +0 -0
  44. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/entity_relationship_types.py +0 -0
  45. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/entity_relationships.py +0 -0
  46. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/entity_types.py +0 -0
  47. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/gitops_logs.py +0 -0
  48. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/groups.py +0 -0
  49. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/initiatives.py +0 -0
  50. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations.py +0 -0
  51. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/apiiro.py +0 -0
  52. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/argocd.py +0 -0
  53. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/aws.py +0 -0
  54. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/azure_active_directory.py +0 -0
  55. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/azure_devops.py +0 -0
  56. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/azure_resources.py +0 -0
  57. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/bamboohr.py +0 -0
  58. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/bitbucket.py +0 -0
  59. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/bugsnag.py +0 -0
  60. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/buildkite.py +0 -0
  61. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/checkmarx_sast.py +0 -0
  62. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/circleci.py +0 -0
  63. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/clickup.py +0 -0
  64. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/codecov.py +0 -0
  65. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/coralogix.py +0 -0
  66. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/datadog.py +0 -0
  67. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/dynatrace.py +0 -0
  68. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/firehydrant.py +0 -0
  69. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/github.py +0 -0
  70. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/gitlab.py +0 -0
  71. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/harness.py +0 -0
  72. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/incidentio.py +0 -0
  73. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/instana.py +0 -0
  74. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/jenkins.py +0 -0
  75. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/jira.py +0 -0
  76. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/launchdarkly.py +0 -0
  77. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/mend_sast.py +0 -0
  78. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/mend_sca.py +0 -0
  79. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/newrelic.py +0 -0
  80. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/okta.py +0 -0
  81. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/opsgenie.py +0 -0
  82. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/pagerduty.py +0 -0
  83. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/prometheus.py +0 -0
  84. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/rollbar.py +0 -0
  85. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/rootly.py +0 -0
  86. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/semgrep.py +0 -0
  87. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/sentry.py +0 -0
  88. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/servicenow.py +0 -0
  89. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/servicenow_cloud_observability.py +0 -0
  90. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/snyk.py +0 -0
  91. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/sonarqube.py +0 -0
  92. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/splunk_observability_cloud.py +0 -0
  93. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/splunk_on_call.py +0 -0
  94. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/sumologic.py +0 -0
  95. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/veracode.py +0 -0
  96. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/wiz.py +0 -0
  97. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/workday.py +0 -0
  98. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/integrations_commands/xmatters.py +0 -0
  99. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/ip_allowlist.py +0 -0
  100. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/on_call.py +0 -0
  101. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/packages.py +0 -0
  102. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/packages_commands/go.py +0 -0
  103. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/packages_commands/java.py +0 -0
  104. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/packages_commands/node.py +0 -0
  105. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/packages_commands/nuget.py +0 -0
  106. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/packages_commands/python.py +0 -0
  107. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/plugins.py +0 -0
  108. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/queries.py +0 -0
  109. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/rest.py +0 -0
  110. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/scaffolders.py +0 -0
  111. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/scim.py +0 -0
  112. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/scorecards.py +0 -0
  113. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/scorecards_commands/exemptions.py +0 -0
  114. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/secrets.py +0 -0
  115. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/solutions.py +0 -0
  116. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/teams.py +0 -0
  117. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/users.py +0 -0
  118. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/users_commands/roles.py +0 -0
  119. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/commands/workflows.py +0 -0
  120. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/cortex_client.py +0 -0
  121. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/models/team.py +0 -0
  122. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/__init__.py +0 -0
  123. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/_lib/__init__.py +0 -0
  124. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/_lib/setup_base.py +0 -0
  125. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/README.md +0 -0
  126. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/address-reviews.yaml +0 -0
  127. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/audit-flags.yaml +0 -0
  128. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/code-review.yaml +0 -0
  129. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/fix-issue.yaml +0 -0
  130. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/incident-trends.yaml +0 -0
  131. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/jira-to-kb.yaml +0 -0
  132. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/release-to-sha.yaml +0 -0
  133. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/search-troubleshooting-kb.yaml +0 -0
  134. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/catalog/simplify-test.yaml +0 -0
  135. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/entity-types/ai-agent.json +0 -0
  136. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-agents/scorecards/ai-agent-governance.yaml +0 -0
  137. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/README.md +0 -0
  138. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/catalog/api-doc-sync.yaml +0 -0
  139. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/catalog/changelog-writer.yaml +0 -0
  140. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/catalog/docs-generator.yaml +0 -0
  141. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/catalog/docs-portal.yaml +0 -0
  142. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-plugin-service.json +0 -0
  143. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-plugin-skills.json +0 -0
  144. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-skill-service.json +0 -0
  145. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/entity-types/ai-plugin.json +0 -0
  146. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/entity-types/ai-skill.json +0 -0
  147. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-skills/scorecards/ai-skills-quality.yaml +0 -0
  148. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/.github/workflows/sync-claude-spend.yaml +0 -0
  149. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/README.md +0 -0
  150. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-alice-chen.yaml +0 -0
  151. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-bob-martinez.yaml +0 -0
  152. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-carol-kim.yaml +0 -0
  153. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-david-osei.yaml +0 -0
  154. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-emma-johnson.yaml +0 -0
  155. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/team-data.yaml +0 -0
  156. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/team-engineering.yaml +0 -0
  157. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/team-frontend.yaml +0 -0
  158. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/catalog/team-platform.yaml +0 -0
  159. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/custom-metrics/ai-spend.json +0 -0
  160. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/entity-relationship-types/team-member.json +0 -0
  161. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/entity-types/employee.json +0 -0
  162. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/plugins/team-ai-spend.json +0 -0
  163. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/scorecards/ai-spend-scorecard.yaml +0 -0
  164. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/ai-spend/scripts/sync-claude-spend.py +0 -0
  165. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/.github/workflows/cortex-service-version.yaml +0 -0
  166. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/README.md +0 -0
  167. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.0.1.yaml +0 -0
  168. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.1.0.yaml +0 -0
  169. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.1.1.yaml +0 -0
  170. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/api-gateway.yaml +0 -0
  171. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/auth-2.1.0.yaml +0 -0
  172. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/auth-2.1.1.yaml +0 -0
  173. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/auth-2.2.0.yaml +0 -0
  174. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/auth.yaml +0 -0
  175. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/aws-dev-us-west-2.yaml +0 -0
  176. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/billing-1.1.0.yaml +0 -0
  177. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/billing-1.2.0.yaml +0 -0
  178. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/billing.yaml +0 -0
  179. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/cart-1.0.2.yaml +0 -0
  180. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/cart.yaml +0 -0
  181. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.2.0.yaml +0 -0
  182. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.3.0.yaml +0 -0
  183. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.4.0.yaml +0 -0
  184. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/checkout.yaml +0 -0
  185. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/gcp-prod-us-east-1.yaml +0 -0
  186. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/gcp-prod-us-west-1.yaml +0 -0
  187. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/gcp-staging-us-east-1.yaml +0 -0
  188. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.0.0.yaml +0 -0
  189. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.0.1.yaml +0 -0
  190. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.1.0.yaml +0 -0
  191. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/notifications.yaml +0 -0
  192. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/order-service-2.0.1.yaml +0 -0
  193. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/order-service-2.1.0.yaml +0 -0
  194. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/order-service.yaml +0 -0
  195. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/payments-1.6.1.yaml +0 -0
  196. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/payments-1.7.0.yaml +0 -0
  197. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/payments-1.7.1.yaml +0 -0
  198. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/payments.yaml +0 -0
  199. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/release-2026-06-20.yaml +0 -0
  200. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-01.yaml +0 -0
  201. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-09.yaml +0 -0
  202. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-10.yaml +0 -0
  203. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/search-4.0.0.yaml +0 -0
  204. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/search-4.1.0.yaml +0 -0
  205. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/search.yaml +0 -0
  206. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/user-service-1.2.0.yaml +0 -0
  207. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/user-service-1.3.0.yaml +0 -0
  208. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/catalog/user-service.yaml +0 -0
  209. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/entity-relationship-types/environments.json +0 -0
  210. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/entity-relationship-types/versions.json +0 -0
  211. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/entity-types/environment.json +0 -0
  212. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/entity-types/release.json +0 -0
  213. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/entity-types/service-version.json +0 -0
  214. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/workflows/create-environment.yaml +0 -0
  215. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/workflows/create-release.yaml +0 -0
  216. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/environments/workflows/trigger-github-release.yaml +0 -0
  217. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/README.md +0 -0
  218. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-async-callback.yml +0 -0
  219. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-deploy.yml +0 -0
  220. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-register-deploy.yml +0 -0
  221. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/github-actions-deploy.yaml +0 -0
  222. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/catalog/github-actions-demo.yaml +0 -0
  223. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/scorecards/deploy-health.yaml +0 -0
  224. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/github-actions-deploy/setup.py +0 -0
  225. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/README.md +0 -0
  226. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-async-callback-template.yaml +0 -0
  227. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-deploy-pipeline.yaml +0 -0
  228. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-record-deploy-template.yaml +0 -0
  229. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/_templates/trigger-harness-deploy.yaml +0 -0
  230. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/catalog/harness-demo.yaml +0 -0
  231. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/scorecards/deploy-health.yaml +0 -0
  232. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/harness-deploy/setup.py +0 -0
  233. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/jenkins-deploy/README.md +0 -0
  234. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/jenkins-deploy/_templates/Jenkinsfile +0 -0
  235. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/jenkins-deploy/_templates/trigger-jenkins-deploy.yaml +0 -0
  236. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/jenkins-deploy/catalog/jenkins-demo.yaml +0 -0
  237. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/jenkins-deploy/scorecards/deploy-health.yaml +0 -0
  238. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/jenkins-deploy/setup.py +0 -0
  239. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/workday/README.md +0 -0
  240. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/workday/data/configuration.json +0 -0
  241. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/workday/data/pied-piper-supervisory-org.json +0 -0
  242. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/solutions/workday/setup.py +0 -0
  243. {cortexapps_cli-1.36.0 → cortexapps_cli-1.38.0}/cortexapps_cli/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cortexapps-cli
3
- Version: 1.36.0
3
+ Version: 1.38.0
4
4
  Summary: Command Line Interface for cortexapps
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: Monorepo
3
+ description: Model a real monorepo in Cortex — five Cortex services mapped to subdirectories of a single public GitHub repo, each scoped by basepath.
4
+ ---
5
+
6
+ # Monorepo
7
+
8
+ This solution demonstrates the monorepo pattern in Cortex using mock services inside the [`cortexapps/cli`](https://github.com/cortexapps/cli) repo. Five Cortex service entities each map to their own subdirectory under `cortexapps_cli/solutions/monorepo/services/`, complete with a `cortex.yaml`, a `README.md`, and mock source code. Each entity sees only the commits, PRs, and files in its own directory.
9
+
10
+ ```
11
+ https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services
12
+ ════════════════════════════════════════════════════════════════════════
13
+
14
+ ├── cli-core/ ──► ┌─────────────────────────────────┐
15
+ │ │ monorepo-demo-cli-core │
16
+ │ │ Core CLI package │
17
+ │ │ src/cli.py │
18
+ │ └─────────────────────────────────┘
19
+
20
+ ├── cli-commands/ ──► ┌─────────────────────────────────┐
21
+ │ │ monorepo-demo-cli-commands │
22
+ │ │ Command implementations │
23
+ │ │ src/commands.py │
24
+ │ └─────────────────────────────────┘
25
+
26
+ ├── cli-solutions/ ──► ┌─────────────────────────────────┐
27
+ │ │ monorepo-demo-cli-solutions │
28
+ │ │ Solutions framework │
29
+ │ │ src/solutions.py │
30
+ │ └─────────────────────────────────┘
31
+
32
+ ├── cli-tests/ ──► ┌─────────────────────────────────┐
33
+ │ │ monorepo-demo-cli-tests │
34
+ │ │ Integration test suite │
35
+ │ │ src/test_cli.py │
36
+ │ └─────────────────────────────────┘
37
+
38
+ └── cli-docker/ ──► ┌─────────────────────────────────┐
39
+ │ monorepo-demo-cli-docker │
40
+ │ Container infrastructure │
41
+ │ Dockerfile │
42
+ └─────────────────────────────────┘
43
+ ```
44
+
45
+ Each service directory has this structure:
46
+
47
+ ```
48
+ services/
49
+ └── cli-core/
50
+ ├── cortex.yaml ← Cortex entity definition (GitOps discoverable)
51
+ ├── README.md ← Service documentation
52
+ └── src/
53
+ └── cli.py ← Mock source code
54
+ ```
55
+
56
+ Each entity is defined like this (the `x-cortex-git` block lives under `info:`):
57
+
58
+ ```yaml
59
+ info:
60
+ x-cortex-tag: monorepo-demo-cli-core
61
+ x-cortex-git:
62
+ github:
63
+ alias: cortex-cli # only needed with multiple GitHub integrations, and your repo isn't under the default
64
+ repository: cortexapps/cli
65
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-core
66
+ ```
67
+
68
+ All five entities are tagged with the group `monorepo-demo` for easy catalog filtering.
69
+
70
+ ## What's Included
71
+
72
+ **5 service entities** (group: `monorepo-demo`)
73
+
74
+ | Tag | basepath | Description |
75
+ |---|---|---|
76
+ | `monorepo-demo-cli-core` | `services/cli-core` | Core CLI — Typer app, HTTP client, config, utils |
77
+ | `monorepo-demo-cli-commands` | `services/cli-commands` | Command implementations per Cortex resource |
78
+ | `monorepo-demo-cli-solutions` | `services/cli-solutions` | Solutions framework — installable bundles |
79
+ | `monorepo-demo-cli-tests` | `services/cli-tests` | Integration test suite against live Cortex API |
80
+ | `monorepo-demo-cli-docker` | `services/cli-docker` | Container infra — published `cortexapp/cli` image |
81
+
82
+ > Full basepaths are prefixed with `cortexapps_cli/solutions/monorepo/` — shortened above for readability.
83
+
84
+ **1 scorecard** — `monorepo-component-health` — Bronze/Silver/Gold:
85
+ - Bronze: has description + git configured with basepath
86
+ - Silver: belongs to at least one group
87
+ - Gold: verified within 90 days
88
+
89
+ **5 `cortex.yaml` files** committed into the repo — one per component — so GitOps discovers them automatically once GitHub is connected.
90
+
91
+ ## Installation
92
+
93
+ ```
94
+ cortex solutions install -s monorepo
95
+ cortex solutions post-install -s monorepo
96
+ ```
97
+
98
+ The install step creates all 5 entities and the scorecard immediately. The post-install step configures the `cortex-cli` GitHub integration (PAT) so Cortex can read the repo.
99
+
100
+ ## After Installing
101
+
102
+ **Create a catalog**
103
+
104
+ 1. Go to [Catalogs](https://app.getcortexapp.com/admin/catalogs) → **New Catalog**
105
+ 2. Name it **Monorepo Demo**
106
+ 3. Set the catalog filter:
107
+ - **Entity type:** `service`
108
+ - **Advanced options → Groups → Include:** `monorepo-demo`
109
+
110
+ > Catalog creation will be automated once catalog API support is added to the CLI.
111
+
112
+ ## GitOps Auto-Discovery
113
+
114
+ Once the `cortex-cli` integration is set up, add the repo in Cortex → **Settings → GitOps**:
115
+
116
+ ```
117
+ Repository: cortexapps/cli
118
+ ```
119
+
120
+ Cortex will find the five `cortex.yaml` files and keep entities in sync with any changes pushed to the repo:
121
+
122
+ ```
123
+ cortexapps_cli/solutions/monorepo/services/cli-core/cortex.yaml → monorepo-demo-cli-core
124
+ cortexapps_cli/solutions/monorepo/services/cli-commands/cortex.yaml → monorepo-demo-cli-commands
125
+ cortexapps_cli/solutions/monorepo/services/cli-solutions/cortex.yaml → monorepo-demo-cli-solutions
126
+ cortexapps_cli/solutions/monorepo/services/cli-tests/cortex.yaml → monorepo-demo-cli-tests
127
+ cortexapps_cli/solutions/monorepo/services/cli-docker/cortex.yaml → monorepo-demo-cli-docker
128
+ ```
129
+
130
+ ## Testing GitOps
131
+
132
+ To see GitOps discovery in action, delete one or more entities and let Cortex recreate them from the `cortex.yaml` files in the repo.
133
+
134
+ **Step 1 — Delete an entity (or all of them):**
135
+
136
+ ```bash
137
+ # Delete a single entity
138
+ cortex catalog delete --tag monorepo-demo-cli-core --force
139
+
140
+ # Or delete all five at once
141
+ cortex catalog delete --tag monorepo-demo-cli-core --force
142
+ cortex catalog delete --tag monorepo-demo-cli-commands --force
143
+ cortex catalog delete --tag monorepo-demo-cli-solutions --force
144
+ cortex catalog delete --tag monorepo-demo-cli-tests --force
145
+ cortex catalog delete --tag monorepo-demo-cli-docker --force
146
+ ```
147
+
148
+ **Step 2 — Configure GitOps (if not already done):**
149
+
150
+ 1. Go to **Settings → GitOps** in the Cortex UI
151
+ 2. Click **Add Repository**
152
+ 3. Enter `cortexapps/cli` and select the `cortex-cli` integration
153
+ 4. Save — Cortex will immediately scan the repo for `cortex.yaml` files
154
+
155
+ **Step 3 — Trigger a sync:**
156
+
157
+ GitOps syncs automatically on each push to the repo. To trigger a manual sync without pushing:
158
+
159
+ 1. Go to **Catalogs → All Entities**
160
+ 2. Click **Import Entities → Import Manually**
161
+ 3. Select **GitHub**
162
+ 4. Follow the prompts to select the `cortexapps/cli` repository
163
+
164
+ Cortex will find the `cortex.yaml` files in each subdirectory and recreate the deleted entities exactly as defined — group, git basepath, description, and all.
165
+
166
+ ## Adapting for Your Own Monorepo
167
+
168
+ 1. Add a `cortex.yaml` to each component subdirectory in your repo
169
+ 2. Set `x-cortex-git.github.repository` and `basepath` for each component
170
+ 3. Add `x-cortex-git.github.alias` if you have more than one GitHub integration configured and your repo isn't under the default
171
+ 4. Add a consistent group tag to all components (e.g. `my-monorepo`)
172
+ 5. Add GitOps → your repo in Cortex Settings
173
+ 6. Cortex discovers and syncs all components automatically
174
+
175
+ The `basepath` is what splits one repo into many scoped entities — each service sees only the activity in its own directory.
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-commands
4
+ x-cortex-tag: monorepo-demo-cli-commands
5
+ x-cortex-type: service
6
+ x-cortex-description: CLI command implementations — one module per Cortex resource (catalog, scorecards, teams, etc.)
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-commands
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-commands
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-core
4
+ x-cortex-tag: monorepo-demo-cli-core
5
+ x-cortex-type: service
6
+ x-cortex-description: Core CLI package — Typer app, HTTP client, config, and output utilities
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-core
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-core
@@ -0,0 +1,20 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-docker
4
+ x-cortex-tag: monorepo-demo-cli-docker
5
+ x-cortex-type: service
6
+ x-cortex-description: Container infrastructure — Dockerfile and config for the published cortexapp/cli Docker image
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-docker
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-docker
18
+ - name: Docker Hub
19
+ type: documentation
20
+ url: https://hub.docker.com/r/cortexapp/cli
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-solutions
4
+ x-cortex-tag: monorepo-demo-cli-solutions
5
+ x-cortex-type: service
6
+ x-cortex-description: Solutions framework — bundled Cortex solution packages that can be installed via the CLI
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-solutions
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-solutions
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-tests
4
+ x-cortex-tag: monorepo-demo-cli-tests
5
+ x-cortex-type: service
6
+ x-cortex-description: Integration test suite — pytest tests that run against a live Cortex API
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-tests
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-tests
@@ -0,0 +1,54 @@
1
+ tag: monorepo-component-health
2
+ name: Monorepo Component Health
3
+ description: Checks that each component within a monorepo is documented, owned, linked to its subdirectory, and actively maintained.
4
+ draft: false
5
+ notifications:
6
+ enabled: true
7
+ scoreDropNotificationsEnabled: true
8
+ exemptions:
9
+ enabled: true
10
+ autoApprove: false
11
+ userSpecificNotifications: false
12
+ evaluation:
13
+ window: 24
14
+ ladder:
15
+ name: Default Ladder
16
+ levels:
17
+ - name: Bronze
18
+ rank: 1
19
+ description: The component is discoverable — it has a description and a git reference scoped to its subdirectory.
20
+ color: "#CD7F32"
21
+ - name: Silver
22
+ rank: 2
23
+ description: The component is well-classified — it belongs to at least one group so it can be filtered and reported on.
24
+ color: "#C0C0C0"
25
+ - name: Gold
26
+ rank: 3
27
+ description: The component is actively verified as alive and its metadata is current.
28
+ color: "#D7AC58"
29
+ filter:
30
+ category: SERVICE
31
+ rules:
32
+ - title: Component has a description
33
+ description: Every monorepo component should have a description so developers understand its purpose without reading the source.
34
+ expression: entity.description().length > 0
35
+ weight: 1
36
+ level: Bronze
37
+
38
+ - title: Component has git configured with a basePath
39
+ description: The component's x-cortex-git must be set so Cortex can scope PRs, commits, and code coverage to this subdirectory.
40
+ expression: git != null
41
+ weight: 1
42
+ level: Bronze
43
+
44
+ - title: Component belongs to at least one group
45
+ description: Tag this component with a group (e.g. monorepo-demo) so it can be filtered and reported on across the catalog.
46
+ expression: groups().length > 0
47
+ weight: 1
48
+ level: Silver
49
+
50
+ - title: Component verified in the last 90 days
51
+ description: An engineer has confirmed this component is still in active use and its Cortex metadata is accurate.
52
+ expression: verifications().lastVerifiedAt() != null and verifications().lastVerifiedAt().fromNow() > duration("P-90D")
53
+ weight: 1
54
+ level: Gold
@@ -0,0 +1,3 @@
1
+ # cli-commands
2
+
3
+ This package contains the command implementations for each Cortex resource. Each module maps to one resource type (catalog, scorecards, teams, workflows, etc.).
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-commands
4
+ x-cortex-tag: monorepo-demo-cli-commands
5
+ x-cortex-type: service
6
+ x-cortex-description: CLI command implementations — one module per Cortex resource (catalog, scorecards, teams, etc.)
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-commands
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-commands
@@ -0,0 +1,22 @@
1
+ """
2
+ cli-commands — command implementations per Cortex resource.
3
+ """
4
+ import typer
5
+
6
+ app = typer.Typer()
7
+
8
+
9
+ @app.command()
10
+ def list_entities():
11
+ """List all catalog entities."""
12
+ print("Listing entities from cli-commands...")
13
+
14
+
15
+ @app.command()
16
+ def get_entity(tag: str):
17
+ """Get a single entity by tag."""
18
+ print(f"Fetching entity: {tag}")
19
+
20
+
21
+ if __name__ == "__main__":
22
+ app()
@@ -0,0 +1,3 @@
1
+ # cli-core
2
+
3
+ This is the core CLI package. It provides the main Typer application, the HTTP client for communicating with the Cortex API, shared config management, and output utilities used across all commands.
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-core
4
+ x-cortex-tag: monorepo-demo-cli-core
5
+ x-cortex-type: service
6
+ x-cortex-description: Core CLI package — Typer app, HTTP client, config, and output utilities
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-core
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-core
@@ -0,0 +1,16 @@
1
+ """
2
+ cli-core — main entry point and HTTP client for the Cortex CLI.
3
+ """
4
+ import typer
5
+
6
+ app = typer.Typer()
7
+
8
+
9
+ @app.command()
10
+ def hello(name: str = "world"):
11
+ """Say hello from the core CLI package."""
12
+ print(f"Hello, {name}! This is cli-core.")
13
+
14
+
15
+ if __name__ == "__main__":
16
+ app()
@@ -0,0 +1,10 @@
1
+ FROM python:3.11-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY . .
6
+
7
+ RUN pip install cortexapps-cli
8
+
9
+ ENTRYPOINT ["cortex"]
10
+ CMD ["--help"]
@@ -0,0 +1,3 @@
1
+ # cli-docker
2
+
3
+ Container infrastructure for the Cortex CLI. Publishes the `cortexapp/cli` Docker image to Docker Hub on every release.
@@ -0,0 +1,20 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-docker
4
+ x-cortex-tag: monorepo-demo-cli-docker
5
+ x-cortex-type: service
6
+ x-cortex-description: Container infrastructure — Dockerfile and config for the published cortexapp/cli Docker image
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-docker
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-docker
18
+ - name: Docker Hub
19
+ type: documentation
20
+ url: https://hub.docker.com/r/cortexapp/cli
@@ -0,0 +1,3 @@
1
+ # cli-solutions
2
+
3
+ This package implements the solutions framework — the mechanism for packaging, distributing, and installing pre-built Cortex configurations (entities, scorecards, workflows) as installable bundles.
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-solutions
4
+ x-cortex-tag: monorepo-demo-cli-solutions
5
+ x-cortex-type: service
6
+ x-cortex-description: Solutions framework — bundled Cortex solution packages that can be installed via the CLI
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-solutions
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-solutions
@@ -0,0 +1,18 @@
1
+ """
2
+ cli-solutions — framework for installable Cortex solution bundles.
3
+ """
4
+
5
+
6
+ def install(solution_name: str) -> None:
7
+ """Install a named solution bundle."""
8
+ print(f"Installing solution: {solution_name}")
9
+
10
+
11
+ def list_solutions() -> list:
12
+ """Return available solution names."""
13
+ return ["monorepo", "backstage-migration", "team-health"]
14
+
15
+
16
+ if __name__ == "__main__":
17
+ for s in list_solutions():
18
+ print(f" - {s}")
@@ -0,0 +1,3 @@
1
+ # cli-tests
2
+
3
+ Integration test suite for the Cortex CLI. Tests run against a live Cortex API and require a valid `CORTEX_API_KEY` environment variable.
@@ -0,0 +1,17 @@
1
+ openapi: "3.0.0"
2
+ info:
3
+ title: monorepo-demo-cli-tests
4
+ x-cortex-tag: monorepo-demo-cli-tests
5
+ x-cortex-type: service
6
+ x-cortex-description: Integration test suite — pytest tests that run against a live Cortex API
7
+ x-cortex-groups:
8
+ - monorepo-demo
9
+ x-cortex-git:
10
+ github:
11
+ alias: cortex-cli
12
+ repository: cortexapps/cli
13
+ basepath: cortexapps_cli/solutions/monorepo/services/cli-tests
14
+ x-cortex-link:
15
+ - name: GitHub
16
+ type: repo
17
+ url: https://github.com/cortexapps/cli/tree/main/cortexapps_cli/solutions/monorepo/services/cli-tests
@@ -0,0 +1,20 @@
1
+ """
2
+ cli-tests — integration tests for the Cortex CLI.
3
+ """
4
+
5
+
6
+ def test_hello():
7
+ """Basic smoke test."""
8
+ assert True, "Hello from cli-tests!"
9
+
10
+
11
+ def test_entity_list():
12
+ """Verify entity list returns results."""
13
+ entities = ["mock-service-a", "mock-service-b"]
14
+ assert len(entities) > 0
15
+
16
+
17
+ if __name__ == "__main__":
18
+ test_hello()
19
+ test_entity_list()
20
+ print("All tests passed.")