Qualityfolio
AI-native test management for QA engineers, SREs, and DevOps teams. From unit tests to chaos experiments: unified in Markdown, validated in SQL. Built for regulated industries where accountability, traceability, and structured evidence are essential.
Install / Use
/learn @opsfolio/QualityfolioREADME
Qualityfolio is a flexible test authoring framework powered by Spry's Axiom pattern. Author plain, human-friendly Markdown for tests that can be parsed into any structure later. Start simple, scale infinitely.
Why Qualityfolio?
- Write Naturally - Use Markdown the way you already do
- Schema-Free - No upfront structure required. Apply schemas at query time
- Infinite Flexibility - Scale from 2 to 6 heading levels as your project grows
- Git-First - Version control your tests like code
- Auto-Discovery - Let the parser figure out your structure, or define it yourself
- Built-in Dashboard - Generate test management dashboards with metrics & traceability
Works With Your Existing Workflow
Qualityfolio doesn't replace your tools - it upgrades them.
Qualityfolio is built to complement your existing test management, automation frameworks, and documentation systems. Write tests in Markdown, execute with your current tools, and capture evidence in structured SQL for audit-ready traceability.
From Fragmented to Unified
Instead of:
- Tests scattered across multiple tools and formats
- Evidence lost in screenshots and spreadsheets
- Manual traceability matrices that break on every change
- No version history or accountability trail
You get:
- Human-readable Markdown - Version controlled, reviewable, and Git-native
- Structured SQL evidence - Queryable, immutable, and audit-ready
- Automated traceability - Requirements ↔ Tests ↔ Evidence ↔ Results
- Evidence-grade accountability - Complete history of who tested what, when, and why
Philosophy: Quality is only provable when declared intent (tests) aligns with runtime reality (evidence). Qualityfolio enforces this rigorously.
Getting Started
Start by installing Qualityfolio, connecting your source repository, and creating your first Markdown-based test artifact. Follow the setup guides to begin building continuous, evidence-driven quality across your organization.
Try the Qualityfolio Demo
Explore a fully functional Qualityfolio dashboard with sample test artifacts, metrics, and traceability views.
Quick Start
Prerequisites
Before you begin, ensure you have the following:
- Runtime: Deno 2.x or later (required)
- Package Manager: Homebrew (required)
Installation
1. Install Dependencies
Ensure the following tools and files are available on your system:
- Spry - runbook and SQLPage orchestration engine
- Surveilr - ingestion and transformation engine
- Python 3.8+ - primary language for singer taps,only required if using Singer
2. Quick Install Commands
For Linux:
# 1. Install Spry
brew install programmablemd/packages/spry
For more details on Spry installation and usage, refer to the official Spry documentation.
# 2. Install Surveilr
brew tap surveilr/tap && brew install surveilr
For more details on Surveilr installation and usage, refer to the official Surveilr documentation.
For macOS:
# 1. Install Spry
brew install programmablemd/packages/spry
For more details on Spry installation and usage, refer to the official Spry documentation.
# 2. Install Surveilr
brew tap surveilr/tap && brew install surveilr
For more details on Surveilr installation and usage, refer to the official Surveilr documentation
3. Install Qualityfolio Extension (for Visual Studio Code/Cursor IDE)
To install Qualityfolio extension, download and install the pre-packaged extension for Visual Studio Code or Cursor IDE from the links below:
<details> <summary>View Extension Installation Steps</summary>For Linux:
For Visual Studio Code:
- Download the Qualityfolio extension package:
wget https://github.com/opsfolio/qualityfolio/raw/refs/heads/main/extension/qualityfolio-extension-0.0.1.vsix
- Install the extension package:
code --install-extension ./qualityfolio-extension-0.0.1.vsix
For Cursor IDE:
- Download the Qualityfolio extension package:
wget https://github.com/opsfolio/qualityfolio/raw/refs/heads/main/extension/qualityfolio-extension-0.0.1.vsix
- Install the extension:
cursor --install-extension ./qualityfolio-extension-0.0.1.vsix
For macOS:
For Visual Studio Code:
- Download the Qualityfolio extension package:
curl -L -o qualityfolio-extension-0.0.1.vsix \
https://github.com/opsfolio/qualityfolio/raw/refs/heads/main/extension/qualityfolio-extension-0.0.1.vsix
- Install the extension package:
code --install-extension ./qualityfolio-extension-0.0.1.vsix
For Cursor IDE:
- Download the Qualityfolio extension package:
curl -L -o qualityfolio-extension-0.0.1.vsix \
https://github.com/opsfolio/qualityfolio/raw/refs/heads/main/extension/qualityfolio-extension-0.0.1.vsix
- Install the extension:
cursor --install-extension qualityfolio-extension-0.0.1.vsix
</details>
Tip: The Qualityfolio extension simplifies editing Evidence Block values directly within your IDE.
Authoring Tests in Markdown
Qualityfolio tests follow a structured Markdown hierarchy to ensure full traceability and machine-readable execution. Qualityfolio projects can range from simple to highly complex structures.
An example test artifact file (example-artifact.md) for the project OWASP - GLUE UP (using Qualityfolio's Small pattern) demonstrates key concepts:
- Header-based Classification - Structured metadata for test organization
- Hierarchical Test Design - Nested test suites and cases
- Evidence Block Patterns - Linking test results with execution evidence
View the example: example-artifact.md
Working with Qualityfolio
1. Generate SQLite Database from Test Artifacts
- Create test artifact files and store them in a folder (for example,
test-artifacts). - Execute the following command in a terminal once the path of the folder updated in the qualityfolio.md file:
spry rb run qualityfolio.md
This command ingests the test artifact files and generates the SQLite database resource-surveillance.sqlite.db, which can be queried using any SQL editor.
2. Generate Test Management Dashboard
- After creating your test artifacts, execute the following commands:
spry sp spc --fs dev-src.auto --destroy-first --conf sqlpage/sqlpage.json --md qualityfolio.md
EOH_INSTANCE=1 PORT=9227 surveilr web-ui -d ./resource-surveillance.sqlite.db --port 9227 --host 0.0.0.0
This will launch the Test Management Dashboard with test metrics, requirement traceability matrix, and test cycle-wise execution views at:
http://localhost:9227/
Next Steps
Once your database and dashboard are running, you can:
- Query
resource-surveillance.sqlite.dbfor custom analytics - Extend SQLPage views by updating
qualityfolio.md - Add new test artifacts and execution evidence
- Integrate Qualityfolio into CI/CD pipelines
Documentation
All documentation is in the docs/ folder:
| Topic | Description | | -------------------------------------------------------------------------------------------------- | ----------------- | | Introduction | Introduction | | Download Operational Truth™ | Installation | | Quick Start Guide | Quick Start Guide |
How It Works
The Axiom Pattern Philosophy
Start simple. Scale infinitely. Teams naturally grow in complexity over time, and Spry's Axiom pattern adapts to your needs without forcing you to rewrite anything.
Key Insight: You write Markdown with headings at any depth (1-6 levels). The parser reads the structure, but role names (like "project", "suite", "case") are only applied at query time based on your chosen schema.
Scaling Patterns
Choose the complexity level that matches your project's current needs:
| Scale | Heading Structure You Write | Query-Time Schema Mapping | | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------------------------
