{"id":35572837,"url":"https://github.com/specvital/web","last_synced_at":"2026-02-03T08:12:48.705Z","repository":{"id":327410605,"uuid":"1108137095","full_name":"specvital/web","owner":"specvital","description":"🌐 Web dashboard and REST API built with Next.js and Go Chi for browsing and analyzing test inventories.","archived":false,"fork":false,"pushed_at":"2026-01-13T13:43:54.000Z","size":9284,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T16:33:11.545Z","etag":null,"topics":["analytics","dashboard","go-chi","golang","nextjs","rest-api","static-analysis","test","test-analysis","typescript"],"latest_commit_sha":null,"homepage":"https://specvital.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/specvital.png","metadata":{"files":{"readme":"README.ko.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["KubrickCode"],"buy_me_a_coffee":"KubrickCode","custom":["https://qr.kakaopay.com/FD9MRukP9"]}},"created_at":"2025-12-02T04:25:38.000Z","updated_at":"2026-01-13T13:43:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/specvital/web","commit_stats":null,"previous_names":["specvital/web"],"tags_count":12,"template":false,"template_full_name":"KubrickCode/Template-Repository","purl":"pkg:github/specvital/web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specvital%2Fweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specvital%2Fweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specvital%2Fweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specvital%2Fweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/specvital","download_url":"https://codeload.github.com/specvital/web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specvital%2Fweb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28399541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","dashboard","go-chi","golang","nextjs","rest-api","static-analysis","test","test-analysis","typescript"],"created_at":"2026-01-04T18:15:39.745Z","updated_at":"2026-02-03T08:12:48.697Z","avatar_url":"https://github.com/specvital.png","language":"TypeScript","readme":"# SpecVital\n\n\u003e 정적 코드 분석 기반 자동 테스트 인벤토리 생성\n\n**[specvital.com](https://specvital.com)** | [English](README.md)\n\n## SpecVital이란?\n\nSpecVital은 AST 기반 정적 분석을 사용하여 GitHub 저장소에서 테스트 인벤토리를 자동 생성하는 플랫폼입니다. 저장소 URL만 입력하면 CI/CD 통합 없이 즉시 전체 테스트 현황을 확인할 수 있습니다.\n\n### 핵심 가치\n\n| 특징          | 설명                                        |\n| ------------- | ------------------------------------------- |\n| **즉시 분석** | 몇 시간이 아닌 몇 초 만에 결과 확인         |\n| **정확성**    | Tree-sitter AST 파싱, 결정적 분석 (AI 아님) |\n| **다중 언어** | 주요 테스트 프레임워크 지원                 |\n\n## 작동 방식\n\n```\nGitHub URL → AST 파싱 (Tree-sitter) → 테스트 인벤토리\n```\n\n1. 공개 GitHub 저장소 URL 입력\n2. SpecVital이 [specvital/core](https://github.com/specvital/core)를 사용해 테스트 파일 파싱\n3. 대시보드에서 테스트 스위트, 케이스, 구조 확인\n\n**참고**: 정적 분석 방식으로 테스트 정의를 파싱하며, 실행 결과는 제공하지 않습니다. 어떤 테스트가 존재하는지와 구조를 확인할 수 있으며, 통과/실패 여부는 알 수 없습니다.\n\n## 지원 프레임워크\n\n20개 이상의 테스트 프레임워크 지원:\n\n| 언어                  | 프레임워크                               |\n| --------------------- | ---------------------------------------- |\n| JavaScript/TypeScript | Jest, Vitest, Playwright, Cypress, Mocha |\n| Go                    | testing                                  |\n| Python                | pytest, unittest                         |\n| Java                  | JUnit 5, TestNG                          |\n| Kotlin                | Kotest                                   |\n| C#                    | NUnit, xUnit, MSTest                     |\n| Ruby                  | RSpec, Minitest                          |\n| PHP                   | PHPUnit                                  |\n| Rust                  | cargo test                               |\n| C++                   | Google Test                              |\n| Swift                 | XCTest                                   |\n\n자세한 내용은 [specvital/core](https://github.com/specvital/core)를 참조하세요.\n\n## 현재 상태\n\nSpecVital은 활발히 개발 중입니다. 현재 제공 기능:\n\n- ✅ GitHub OAuth 인증\n- ✅ URL 입력으로 저장소 분석\n- ✅ 통계와 함께 테스트 트리 시각화\n- ✅ 다중 프레임워크 감지\n- ✅ 필터 및 검색 기능\n- ✅ 다국어 지원 (영어, 한국어)\n\n## 아키텍처\n\n이 저장소는 웹 애플리케이션(프론트엔드 + 백엔드 API)을 포함합니다. 전체 시스템 구성:\n\n| 저장소                                                  | 역할                               |\n| ------------------------------------------------------- | ---------------------------------- |\n| [specvital/web](https://github.com/specvital/web)       | 웹 대시보드 + REST API             |\n| [specvital/core](https://github.com/specvital/core)     | 파서 라이브러리 (Tree-sitter 기반) |\n| [specvital/worker](https://github.com/specvital/worker) | 분석 작업 백그라운드 워커          |\n| [specvital/infra](https://github.com/specvital/infra)   | 데이터베이스 스키마 및 인프라      |\n\n## 사용 사례\n\n- **엔지니어링 매니저**: 팀의 테스트 커버리지 현황 파악\n- **QA 리드**: 프로젝트 전반의 자동화 테스트 인벤토리 관리\n- **스태프 엔지니어**: 레거시 리팩토링 전 기존 테스트 맵핑\n\n## 피드백\n\n- 질문 및 아이디어: [GitHub Discussions](https://github.com/orgs/specvital/discussions)\n- 버그 리포트: [GitHub Issues](https://github.com/specvital/web/issues)\n\n## 라이선스\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n이 프로젝트는 Apache License 2.0 하에 라이선스됩니다. 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세요.\n\n### 상표 고지\n\n\"SpecVital\" 및 SpecVital 로고는 KubrickCode의 상표입니다. Fork 및 파생 저작물은 다른 이름과 브랜딩을 사용해야 합니다. 자세한 내용은 [NOTICE](NOTICE) 파일을 참조하세요.\n","funding_links":["https://github.com/sponsors/KubrickCode","https://buymeacoffee.com/KubrickCode","https://qr.kakaopay.com/FD9MRukP9"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecvital%2Fweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspecvital%2Fweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecvital%2Fweb/lists"}