quality-intelligence-platform
v0.1.1
Published
An AI platform that crawls web apps, understands and remembers them (the Zeta Core), and generates accurate test cases, test data, and test scripts.
Readme
🧠 Quality Intelligence Platform
An AI platform that crawls a web app, understands and remembers it (the App Brain), and generates accurate test cases, test data, and test scripts — with enterprise connectors and strict tenant isolation.
This repository is the Phase 1 foundation. It's organized so an AI coding agent (or a developer) can continue building phase by phase using your prompt packs.
🧩 What's here
quality-intelligence-platform/
├── README.md ← you are here
├── package.json ← monorepo (npm workspaces)
├── docker-compose.yml ← local Postgres
├── .env.example ← copy to .env and fill in
├── docs/
│ ├── CONSTITUTION.md ← the rules every agent must follow
│ └── ARCHITECTURE.md ← how the pieces fit (plain English)
├── scripts/setup.sh ← one-command local setup
└── packages/
├── core/ ← shared types, config, tenant context
├── database/ ← data model + Zeta Core + tenant isolation (RLS)
├── app-brain/ ← knowledge store + GROUNDING (direct load)
├── crawler/ ← crawl + LOGIN + screen reader + screenshots
├── agents/ ← AI generation agents (test cases)
├── connectors/ ← GitHub + JIRA (read-only)
├── api/ ← the backend (Fastify)
└── web/ ← the frontend (to build)🛠️ The stack (and why)
- TypeScript everywhere — one language across crawler, backend, and (later) UI.
- PostgreSQL + Prisma — reliable database; Postgres Row-Level Security enforces tenant isolation at the lowest layer (the "sacred" rule).
- Playwright — the standard browser-automation "robot hands" for crawling. (Add Stagehand or Browser Use for smarter AI-driven exploration.)
- Fastify — a fast, simple backend.
- Anthropic SDK — the AI that generates tests (grounded in the Zeta Core).
- Direct loading, NOT RAG — because the workspace is closed/bounded, we load
a project's knowledge directly. Vector search is added later only for oversized
projects. (See
packages/app-brain/src/grounding.ts.)
🚀 Getting started (local)
# 1. Prerequisites: Node 20+, Docker
cp .env.example .env # then fill in ANTHROPIC_API_KEY etc.
npm install
npm run db:up # start Postgres
npm run db:generate # build the database client
npm run db:migrate # create the tables
# then apply Row-Level Security:
# psql "$DATABASE_URL" -f packages/database/prisma/migrations/0001_tenant_isolation/migration.sql
npm run dev:api # start the backend
curl localhost:4000/health # -> {"ok":true,...}Or run
npm run setupto do most of the above in one step.
✅ How to keep building
Use your Phase 1 Prompt Pack. Each prompt maps to a part of this scaffold:
- Prompt 1 (data model) →
packages/database - Prompt 3 (crawler + login) →
packages/crawler⭐ - Prompt 6 (grounded test cases) →
packages/app-brain+packages/agents - Prompt 7 (connectors) →
packages/connectors
When Phase 1 passes its Final Acceptance, move to the Phase 2–6 Prompt Packs.
🧭 The golden rules (full list in docs/CONSTITUTION.md)
- Correctness first. 2. Start simple (direct loading, not RAG).
- The Zeta Core is the moat. 4. Tenant isolation is sacred.
- Ground, don't guess. 6. Human approves before tests are trusted.
🖥️ Running the frontend (the web app)
The @qip/web package is a Next.js app covering the Phase 1 loop:
sign in → create project → paste URL & crawl → view screen map → review tests.
# in one terminal — the backend:
npm run dev:api # http://localhost:4000
# in another terminal — the frontend:
cd packages/web
cp .env.local.example .env.local
npm install
npm run dev # http://localhost:3000Open http://localhost:3000, "sign in" with any user id + tenant id (Phase 1 identity stub), create a project, paste a URL, and watch the screen map fill in.
