ASTAP
Automated Software Testing and Analysis Platform for cloning repositories, discovering Python test targets, and generating AI-authored pytest suites through a staged pipeline.
ASTAP is a pipeline-oriented platform for turning a GitHub repository into a structured testing workflow. It clones a repository, freezes an immutable snapshot, discovers Python targets, and generates AI-authored pytest files that can be reviewed through a web interface.
The project is built around a clean separation of concerns: Postgres acts as the system of record, Redis handles queued stage execution, and Supabase Storage keeps larger run artifacts outside the transactional database path.
Inspiration Behind It
The project comes from the practical gap between AI-generated code and confidence in its quality. ASTAP is designed to pressure-test repositories by automatically surfacing likely test targets and generating coverage where teams would otherwise need to do the work manually.
It also reflects a security and reliability mindset: generated code should not be trusted blindly, so the platform is structured to inspect repositories, expose overlooked paths, and make the test generation workflow auditable stage by stage.
System Architecture
Architecture Diagram
ASTAP
10 nodes
About The Flow / Architecture
ASTAP is split into a React client, a FastAPI control plane, RQ workers for asynchronous stages, Redis for job delivery, and Supabase for Postgres, authentication, and storage. Each run is represented explicitly in the database and progresses through named jobs rather than an opaque background task.
The current implemented stages are ingest, discover, and generate_tests. Ingest creates an immutable snapshot from the source repository, discover parses Python targets and API endpoints, and generate_tests uses OpenAI to create pytest artifacts that are written back to storage and surfaced in the UI.
ASTAP currently supports repository ingestion, Python target discovery, and AI-based pytest generation for supported targets. The README also outlines future pipeline stages for executing those tests and analyzing the resulting behavior after a run completes.
The repository is organized into separate frontend, API, worker, and shared runtime layers, with Docker Compose support for local development. It is a strong fit for the projects section because it combines platform design, backend orchestration, developer tooling, and applied AI in one product.