Skip to content

CLI Refactor and MCP support#31

Merged
josecsotomorales merged 9 commits intomainfrom
qua-1116-cli-improvements
Feb 21, 2026
Merged

CLI Refactor and MCP support#31
josecsotomorales merged 9 commits intomainfrom
qua-1116-cli-improvements

Conversation

@josecsotomorales
Copy link
Member

No description provided.

…rkflows

Implement full quality checks lifecycle management with 9 CLI commands
(create, get, list, update, delete, export, import, export-templates,
import-templates) backed by 7 API functions and 10 service functions.

Key capabilities:
- Git-friendly export: one YAML file per check, organized by container
- Stable UID system (_qualytics_check_uid in additional_metadata) for
  deterministic upsert matching across environments
- Cross-reference resolution between container/datastore names and IDs
- Multi-datastore import enabling Dev → Test → Prod promotion workflows
- GitHub Actions promotion example in docs/examples/

Also includes serialization utilities, updated documentation (README.md,
AGENTS.md), and 79 tests covering API, CLI, services, promotion
workflows, and edge cases.
Implement anomaly lifecycle commands (get, list, update, archive, delete)
backed by 7 API functions with full filtering, bulk operations, and
status-aware transitions (Active/Acknowledged via update, Resolved/
Invalid/Duplicate/Discarded via archive, hard delete via delete).

Key capabilities:
- Rich filtering by datastore, container, check, status, type, tags,
  and date range for CI pipeline integration
- Bulk update and bulk archive/delete for programmatic workflows
- Status validation enforcing API transition rules
- CI gating pattern: list active anomalies post-scan to fail pipelines

Includes 31 tests covering all API functions and CLI commands, updated
AGENTS.md and README.md with anomaly commands and CI examples.
Implement standalone connection lifecycle commands (create, update, get,
list, delete, test) with two creation modes: inline flags with ${ENV_VAR}
resolution for CI pipelines, and --from-yaml for local config files.

Key security features:
- ${VAR} placeholder resolution from env vars and .env files
- Hard error on unresolved variables to prevent plaintext leaks
- Recursive redaction of 12+ sensitive field patterns on all output
- Shared utils/secrets.py replaces local redaction in datastores

Includes 75 tests covering API, service, secrets utilities, and all
CLI commands including env var resolution and 409 conflict handling.
…support

Implement qualytics config export and import commands for deploying
connections, datastores, containers, and quality checks across
environments using portable, git-friendly YAML files.

Key capabilities:
- Hierarchical folder structure: connections/ and datastores/<name>/
  with nested containers and checks for clean repository organization
- Upsert semantics using natural keys (name for connections/datastores/
  containers, UID for checks) — creates if missing, updates if exists
- Dependency-ordered import: connections → datastores → containers →
  quality checks with automatic name-to-ID resolution
- Secrets exported as ${ENV_VAR} placeholders, resolved from environment
  or .env files at import time — secrets never written to disk
- Write-if-changed output produces zero git diff on re-export when
  nothing changed, enabling clean upsert workflows
- Selective export/import via --include flag and --dry-run preview

Includes 62 tests covering export/import orchestration, YAML stripping,
secret placeholder generation, upsert logic, and CLI commands.
- Add qualytics/cli/auth.py with auth login, auth status, and auth init
- auth status shows masked token, JWT expiry, SSL config (gh auth status style)
- Move computed-tables import/preview into containers subcommands
- Remove computed-tables command group registration
- Deprecate top-level init and show-config with warnings
- Update AGENTS.md, README.md, and docs references
- Add container_import() and container_preview() API client methods
- 501 tests passing (+12 new in test_auth.py and test_client.py)
- Add qualytics/mcp/server.py with 35 MCP tools across 8 groups
- Add qualytics mcp serve command (STDIO + HTTP transport)
- Add fastmcp>=2.0.0 dependency to pyproject.toml
- Add 26 MCP tests in tests/test_mcp.py
- Update AGENTS.md with MCP section, file tree, and dependencies
- Update README.md with LLM Integration section and setup instructions
- 528 tests passing, all pre-commit hooks clean
@josecsotomorales josecsotomorales changed the title CLI Refactoring CLI Refactor and MCP support Feb 21, 2026
@josecsotomorales josecsotomorales merged commit a78d291 into main Feb 21, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant