Specvital Documentation
🇰🇷 한국어 버전
Welcome to the Specvital documentation. Specvital is an open-source test coverage insights tool designed to enhance code review processes.
Documentation Structure
PRD (Product Requirements Document)
Product specifications and requirements documentation for the Specvital platform.
- Product Overview - Product vision, target users, and GTM strategy
- Architecture - System architecture and service composition
- Core Engine - Test parser library design
- Web Platform - Web dashboard and REST API
- Worker Service - Background analysis worker
- Database Design - Database schema and design
- Tech Stack - Technology choices and rationale
ADR (Architecture Decision Records)
Documentation of architectural decisions made during the development of Specvital.
Cross-cutting
- ADR Overview - Introduction to architecture decision records
- Static Analysis Approach
- Competitive Differentiation
- API Worker Service Separation
- Queue-Based Async Processing
- Repository Strategy
- PaaS-First Infrastructure
- Shared Infrastructure
- External Repo ID Integrity
- GitHub App Integration
- TestStatus Data Contract
- Repository Visibility-Based Access Control
- Worker-Centric Analysis Lifecycle
- Billing and Quota Architecture
- AI-Based Spec Document Generation Pipeline
- Parser Version Tracking
- Multi-Queue Priority Routing
- Test File Schema Normalization
- GitHub API Cache Tables
- Hierarchical Spec Document Schema
- GitHub App Installation Schema
- Quota Reservation for Concurrent Requests
- Scheduler Removal and Railway Cron Migration
- Railway IaC Deployment
- Core Library Separation
- Dynamic Test Counting Policy
- Tree-sitter AST Parsing Engine
- Early-Return Framework Detection
- Parser Pooling Disabled
- Unified Framework Definition
- Source Abstraction Interface
- Shared Parser Modules
- Config Scope Resolution
- Standard Go Project Layout
- Integration Testing with Golden Snapshots
- Parallel Scanning with Worker Pool
- NaCl SecretBox Encryption
- Indirect Import Alias Detection Unsupported
- C# Preprocessor Block Attribute Detection Limitation
- Domain Hints Extraction System
- Swift Testing Framework Support
- JUnit 4 Framework Separation
- Vitest 4.0+ API Support
- Java 21+ Implicit Class Detection
- Rust Macro-Based Test Detection
- Scheduled Re-analysis
- Clean Architecture Layers
- Graceful Shutdown
- OAuth Token Degradation
- Analyzer-Scheduler Separation
- Semaphore Clone Concurrency
- Repository Pattern
- SpecView Worker Binary Separation
- Phase 1 V1 Quality Enhancement Architecture
- Per-User Fairness Middleware
- Data Retention-Based Cleanup Service
- Phase 2 Behavior Cache
- Go as Backend Language
- Next.js 16 + React 19 Selection
- Chi Router Selection
- TanStack Query Selection
- shadcn/ui + Tailwind CSS Selection
- SQLc Selection
- Next.js BFF Architecture
- Clean Architecture Pattern
- DI Container Pattern
- StrictServerInterface Contract
- Feature-Based Module Organization
- APIHandlers Composition Pattern
- Domain Error Handling Pattern
- slog Structured Logging
- React 19 use() Hook Pattern
- nuqs URL State Management
- next-intl i18n Strategy
- next-themes Dark Mode
- CSS Variable Design Token System
- Skeleton Loading Pattern
- Anonymous User Rate Limiting
- React Compiler Adoption
- Window-Level Virtualization Pattern
- Subscription Period Pro-rata Calculation
- OAuth Return URL Handling
- Zustand Client State Management
- Commit-Based Analysis Browsing
- Dynamic Cost Estimation
Tech Radar
Technology adoption status and evaluation criteria across the platform.
Release Notes
Release history for all services (Core, Worker, Web, Infra).
Glossary
Domain terminology used across the platform.
Architecture Overview
High-level system architecture documentation.
Related Repositories
The Specvital platform is composed of multiple repositories:
- specvital/core - Parser engine
- specvital/web - Web platform
- specvital/worker - Worker service
- specvital/infra - Infrastructure and schema
Contributing
This is the main documentation repository for Specvital. For contribution guidelines, please refer to each repository's CONTRIBUTING.md file.
License
See LICENSE for details.
