qitops 0.1.0

Software Quality Assurance CLI for API, Performance, Security, and Web Testing
Documentation
# QitOps Roadmap

This document outlines the development roadmap for QitOps, positioning it as a compelling alternative to established testing tools like Postman and k6.

## Vision

QitOps aims to be the premier CLI-first testing tool for developers and QA professionals, offering a unified interface for API, performance, security, and web testing with minimal dependencies and maximum flexibility.

## ๐Ÿ” Phase 0: Lock the Core (Current)

Before pursuing feature parity with other tools, we're focusing on making the current implementation rock-solid:

- [x] Implement basic API testing module
- [x] Implement basic performance testing module
- [x] Implement basic security testing module
- [x] Implement basic web testing module
- [x] Finalize and stabilize all core modules
- [x] Implement JSON config schema validation in common.rs
- [ ] Clean CLI output with --format options (JSON, human)
- [ ] Ensure cargo build --release produces a static binary
- [x] Document the config format for each testing mode

**Milestone**: CLI MVP โ€” the "Postman/k6 replacement for power users"

## ๐Ÿ“ฆ Phase 1: Parity Foundation (0-2 months)

### ๐Ÿงช API Testing: Postman Lite
- [x] Implement Collections (array of requests in one config)
- [x] Add Variable & Environment interpolation
- [x] Add Request chaining via captured outputs
- [x] Expand Auth to support OAuth2, JWT, API Key
- [ ] Add optional --history logging to a local SQLite file

### โš™๏ธ Performance Testing: k6 Core
- [x] Implement load profiles (constant, ramp-up, spike)
- [x] Support scenarios in one file (multiple endpoints)
- [x] Track custom metrics (via tags)
- [x] Add thresholds for pass/fail criteria
- [x] CLI streaming metrics (real-time bar/line output)

**Milestone**: "Parity with a Purpose"

## ๐Ÿง‘โ€๐Ÿ’ป Phase 2: Differentiators (2-4 months)

### ๐Ÿ”ง Integrations
- [ ] Git sync for test configs (qitops sync)
- [x] GitHub Actions example template
- [ ] Dockerfile for CLI-only image
- [x] Native CI support: --ci-mode

### ๐Ÿ“Š Reporting
- [x] JSON + HTML reporters (extend with templates)
- [ ] Markdown summary logs (for commits)
- [x] CSV export for audit logs

### ๐Ÿงช Data-Driven Testing
- [x] Parametrize tests with CSV/JSON datasets
- [x] Support template placeholders: {{user_id}}

**Milestone**: "Beyond Parity"

## ๐Ÿง  Phase 3: AI & Ecosystem (4-6 months)

### ๐Ÿ”Œ Plugin Architecture (CLI-first)
- [ ] Define QitOpsPlugin trait
- [ ] Implement dynamic plugin loader (optional shared lib .so or .dll)

### ๐Ÿง  AI Integration
- [ ] Generate tests from OpenAPI files
- [ ] Record & replay traffic (CLI proxy + storage)
- [ ] Recommend missing edge cases or optimization via LLM

### ๐Ÿ–ฅ๏ธ UI (Optional)
- [ ] Add TUI with textual or ratatui
- [ ] Optional Web UI (if CLI usage + community demand)

**Milestone**: "Next-Generation Testing Platform"

## ๐Ÿ“ˆ Strategic Advantages

| Feature | Why It Wins |
|---------|-------------|
| Unified Tool | One CLI for API, performance, security, and (later) AI |
| Rust Static Binary | No runtime, no nonsense โ€” fast and portable |
| Open Source CLI-first | Speaks devops, CI, Git |
| TestOps as Code | Config-driven testing becomes auditable, repeatable |
| QitOps OS-ready | Tightest vertical integration possible โ€” CLI + OS |

## Contributing

We welcome contributions to help realize this roadmap! See our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to get involved.

## Prioritization

This roadmap is subject to change based on community feedback and evolving requirements. The core team will prioritize features based on:

1. Core stability and reliability
2. Features that enable CI/CD integration
3. Features that differentiate QitOps from competitors
4. Features that expand the ecosystem

## Immediate Next Steps

- Finalize the README and document config structure per test type
- Create a qitops-collections.json sample and scaffold the feature
- Start with simple chaining: response.body.token โ†’ next.headers.Authorization
- Prep plugin.rs with trait + registration model (even before loading logic)