
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
Edge-based Documentation Validation & Sync Tool (CLI + MCP)
edgedoc는 edge 기반 양방향 참조 체계를 사용하는 문서 검증 및 동기화 도구입니다. 문서 간 관계를 그래프 구조로 관리하며, 점진적 마이그레이션과 문서 일관성을 검증합니다. TypeScript로 작성되었으며 Node.js 런타임을 사용합니다.
tasks/ → tasks-v2/ 점진적 마이그레이션 지원edgedoc는 Tree-sitter 기반 파서를 사용하여 다음 언어를 지원합니다:
| 언어 | 파일 확장자 | Import/Export 지원 |
|---|---|---|
| TypeScript | .ts, .tsx | ✅ 완전 지원 |
| JavaScript | .js, .jsx | ✅ 완전 지원 |
| Python | .py | ✅ 완전 지원 |
Python 지원:
import / from ... import 문 파싱```bash cd edgedoc npm install ```
Create mdoc.config.json in your project root to customize validation rules:
{
"language": "en",
"docs": {
"baseDir": "edgedoc",
"features": "features",
"interfaces": "interfaces",
"shared": "shared"
},
"validation": {
"sharedTypes": {
"maxPairs": 12,
"warnAtPairs": 8
}
},
"terminology": {
"globalScopePaths": [
"docs/GLOSSARY.md",
"docs/terms/"
]
}
}
edgedoc)
stringedgedoc, tasks, docs/specs, specs 등features)interfaces)shared)기본 디렉토리 구조:
edgedoc/
├── features/ # 기능 문서 (1_Feature.md)
├── interfaces/ # 인터페이스 (A--B.md)
└── shared/ # 공용 타입 (A--B_C--D.md)
기존 tasks/ 프로젝트로 설정:
{
"docs": {
"baseDir": "tasks"
}
}
완전한 커스텀 구조:
{
"docs": {
"baseDir": "specs",
"features": "features",
"interfaces": "api-interfaces",
"shared": "common-types"
}
}
"en" | "ko""en""en" - English (기본값)"ko" - Korean (한국어){
"language": "ko"
}
LayerNode.md, ImageAsset.md 등 의미 있는 이름 사용{
"validation": {
"sharedTypes": {
"maxPairs": 15,
"warnAtPairs": 10
}
}
}
string[]["docs/GLOSSARY.md", "docs/terms/"]{
"terminology": {
"globalScopePaths": [
"docs/GLOSSARY.md",
"docs/terms/",
"tasks/syntax/"
]
}
}
마이그레이션 검증은 자동으로 감지됩니다:
tasks-v2/ 디렉토리가 존재하면 → 마이그레이션 검증 실행tasks-v2/ 디렉토리가 없으면 → 마이그레이션 검증 스킵별도의 설정이나 플래그가 필요하지 않습니다!
```bash
npm run dev validate migration --help ```
```bash
npm run build
npm run build:binary ```
기본 검증 (현재 디렉토리): ```bash edgedoc validate migration ```
특정 프로젝트 경로 지정: ```bash edgedoc validate migration --project /path/to/project ```
마크다운 리포트 생성: ```bash edgedoc validate migration --markdown ```
모든 옵션 조합: ```bash edgedoc validate migration -p ~/my-project -m ```
인터페이스 및 공용 타입 파일명 검증: ```bash edgedoc validate naming ```
특정 프로젝트 경로 지정: ```bash edgedoc validate naming -p ~/my-project ```
검증 항목:
모든 검증을 한 번에 실행: ```bash edgedoc validate all -p ~/my-project ```
인덱스 생성: ```bash
edgedoc graph build
edgedoc graph build --verbose ```
그래프 조회: ```bash
edgedoc graph query
edgedoc graph query validate-terms
edgedoc graph query --code src/tools/validate-terms.ts
edgedoc graph query --term "Entry Point Module" ```
주요 기능:
모든 feature task 목록 조회:
edgedoc tasks list
출력 예시:
📋 전체 Tasks (12개)
[#01] validate-migration (feature) ████████████████████ 100% (14/14)
Status: active | Priority: high
File: tasks/features/01_ValidateMigration.md
Title: Validate Migration Progress
[#02] validate-naming (feature) ██████████████████░░ 85% (11/13)
Status: active | Priority: medium
File: tasks/features/02_ValidateNaming.md
Title: Interface & Shared Type Naming Convention Validation
특정 feature 상세 조회:
edgedoc tasks get mcp-server
전체 진행 현황 대시보드:
edgedoc tasks progress
출력 예시:
📊 Tasks Progress Dashboard
📝 Total Tasks: 12
Status Distribution:
✅ active: 8 (67%)
🔄 in_progress: 2 (17%)
📋 planned: 2 (17%)
Overall Progress:
Total Checkboxes: 156
Checked: 89
Progress: ████████████░░░░░░░░ 57%
코드 파일로 역참조 조회:
# 특정 코드 파일이 어떤 feature에 문서화되어 있는지 + 해당 feature의 tasks 조회
edgedoc tasks list --code src/tools/validate-naming.ts
# 미완료 tasks만 필터링
edgedoc tasks list --code src/tools/validate-naming.ts --incomplete
인터페이스로 역참조 조회:
# 특정 인터페이스를 제공하거나 사용하는 feature의 tasks 조회
edgedoc tasks list --interface validation/naming
# 미완료만
edgedoc tasks list --interface validation/naming --incomplete
용어로 역참조 조회:
# 특정 용어를 정의한 feature의 tasks 조회
edgedoc tasks list --term interface-naming
미완료 tasks만 필터링:
edgedoc tasks list --incomplete
주요 기능:
[x] vs [ ])양방향 링크 및 Sibling Coverage 검증:
edgedoc validate interfaces
출력 예시:
🔍 Validating interface links...
✅ Bidirectional Links: OK
- All used interfaces have providers
- No unused interfaces found
⚠️ Sibling Coverage Issues (2):
Namespace: api
Feature: api-client
Provided: api/client, api/request (2/4 siblings)
Missing: api/response, api/websocket
💡 When documenting interfaces in a namespace, consider documenting all siblings
to maintain complete "field of view" coverage.
특정 feature만 검증:
edgedoc validate interfaces --feature api-client
특정 namespace만 검증:
edgedoc validate interfaces --namespace api
상세 출력:
edgedoc validate interfaces --verbose
검증 항목:
provides ↔ uses 관계 일치 여부
auth/login을 문서화하면 auth/logout, auth/refresh 등 sibling도 문서화해야 함마크다운 파일의 details 블록 목록 조회:
edgedoc docs list tasks/features/01_ValidateMigration.md
출력 예시:
📄 File: tasks/features/01_ValidateMigration.md
Total <details> blocks: 3
[0] ⬇️ Implementation Details (closed)
Lines: 45-89
[1] ⬆️ Example Output (open)
Lines: 95-128
[2] ⬇️ Technical Notes (closed)
Lines: 142-167
특정 블록 열기:
edgedoc docs open tasks/features/01_ValidateMigration.md --index 0 2
모든 블록 열기:
edgedoc docs open tasks/features/01_ValidateMigration.md --all
모든 블록 닫기:
edgedoc docs close tasks/features/01_ValidateMigration.md --all
주요 기능:
<details> 태그 파싱 (단일/다중 라인 summary 지원)``` edgedoc/ ├── src/ │ ├── cli.ts # CLI 진입점 (Commander.js) │ ├── index.ts # MCP 서버 (개발 중) │ ├── tools/ │ │ ├── validate.ts # 마이그레이션 검증 │ │ ├── naming.ts # 네이밍 컨벤션 검증 │ │ ├── orphans.ts # 고아 파일 검증 │ │ └── sync.ts # 동기화 로직 (개발 중) │ └── shared/ │ ├── types.ts # 타입 정의 │ └── utils.ts # 유틸리티 함수 ├── docs/ │ ├── MCP_SPEC.md # MCP 서버 사양 │ ├── MIGRATION_SPEC.md # 마이그레이션 스펙 │ ├── SHARED_TYPES.md # 공용 타입 컨벤션 │ ├── SHARED_TYPE_PRINCIPLES.md # 공유 타입 생성 원칙 │ ├── VALIDATION.md # 검증 시스템 문서 │ ├── WORKFLOWS.md # 워크플로우 가이드 │ ├── TASKS_README.md # Tasks 디렉토리 가이드 │ └── TOOLS_README.md # 도구 사용 가이드 ├── instructions/ # 🆕 AI 에이전트 지침 문서 │ ├── AGENT_INSTRUCTIONS.md # 에이전트 사용 지침 │ └── README.md # 지침 문서 가이드 ├── llms.txt # 🆕 최적화된 LLM 참조 문서 ├── dist/ # 빌드 결과물 ├── package.json ├── package-lock.json ├── tsconfig.json └── build.mjs ```
MIT
1.3.0
작성일: 2025-10-23 (최종 수정: 2025-10-26) 상태: CLI + MCP 완성 (18개 도구), Node.js 마이그레이션 완료
FAQs
Edge-based documentation validation and sync tool (CLI + MCP)
We found that edgedoc demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.