SkillAgentSearch skills...

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/Qualityfolio

README

<p align="center"> <a href="https://qualityfolio.dev/"> <img src="https://qualityfolio.dev/_astro/qualityfolio-logo.CiYk51BF.png" alt="Qualityfolio" width="250"> </a> </p> <p align="center"> <a href="https://discord.gg/JqE86pyT"><img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a> <a href="https://docs.opsfolio.com/qualityfolio/getting-started/quick-start"><img src="https://img.shields.io/badge/Docs-4285F4?style=for-the-badge&logo=googledocs&logoColor=white" alt="Docs"></a> <a href="https://qualityfolio.dev/"><img src="https://img.shields.io/badge/Website-06B6D4?style=for-the-badge&logo=googlechrome&logoColor=white" alt="Website"></a> </p>

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

View Live Dashboard

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:

  1. Spry - runbook and SQLPage orchestration engine
  2. Surveilr - ingestion and transformation engine
  3. 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:

  1. Download the Qualityfolio extension package:
wget https://github.com/opsfolio/qualityfolio/raw/refs/heads/main/extension/qualityfolio-extension-0.0.1.vsix
  1. Install the extension package:
code --install-extension ./qualityfolio-extension-0.0.1.vsix

For Cursor IDE:

  1. Download the Qualityfolio extension package:
wget https://github.com/opsfolio/qualityfolio/raw/refs/heads/main/extension/qualityfolio-extension-0.0.1.vsix
  1. Install the extension:
cursor --install-extension ./qualityfolio-extension-0.0.1.vsix

For macOS:

For Visual Studio Code:

  1. 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
  1. Install the extension package:
code --install-extension ./qualityfolio-extension-0.0.1.vsix

For Cursor IDE:

  1. 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
  1. 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

  1. Create test artifact files and store them in a folder (for example, test-artifacts).
  2. 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

  1. 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.db for 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 | | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------------------------

View on GitHub
GitHub Stars47
CategoryDevelopment
Updated1d ago
Forks3

Languages

JavaScript

Security Score

80/100

Audited on Mar 26, 2026

No findings