Phase 1: extract.js — tree-sitter AST parser (TS/JS/Python/Go/Java/Bash) + config parsers (YAML/HCL) Phase 2: graph.js — in-memory directed graph store with build/query/diff CLI Phase 3: namespace.js — cross-repo namespace registry with 3-tier resolution Phase 4: semantic-diff.js — categorized diffs with impact scoring (0-100) Phase 5: pipeline.js — batch extraction, incremental diffing, benchmarking Benchmark: 4,325 files, 21,646 nodes, 133,979 edges in 67s (15ms/file) BMad SPA reviews: all phases GO
84 lines
1.6 KiB
JSON
84 lines
1.6 KiB
JSON
{
|
|
"file": "/tmp/main.tf",
|
|
"language": "hcl",
|
|
"entities": [
|
|
{
|
|
"id": "main.tf",
|
|
"type": "Config",
|
|
"name": "main.tf",
|
|
"kind": "terraform",
|
|
"visibility": "public",
|
|
"line_range": [
|
|
1,
|
|
18
|
|
]
|
|
},
|
|
{
|
|
"id": "main.tf:provider.aws",
|
|
"type": "Config",
|
|
"name": "provider.aws",
|
|
"kind": "hcl-block",
|
|
"visibility": "public",
|
|
"line_range": [
|
|
1,
|
|
1
|
|
]
|
|
},
|
|
{
|
|
"id": "main.tf:resource.aws_s3_bucket.b",
|
|
"type": "Config",
|
|
"name": "resource.aws_s3_bucket.b",
|
|
"kind": "hcl-block",
|
|
"visibility": "public",
|
|
"line_range": [
|
|
5,
|
|
5
|
|
]
|
|
},
|
|
{
|
|
"id": "main.tf:module.vpc",
|
|
"type": "Config",
|
|
"name": "module.vpc",
|
|
"kind": "hcl-block",
|
|
"visibility": "public",
|
|
"line_range": [
|
|
9,
|
|
9
|
|
]
|
|
},
|
|
{
|
|
"id": "main.tf:data.aws_iam_policy_document.assume_role",
|
|
"type": "Config",
|
|
"name": "data.aws_iam_policy_document.assume_role",
|
|
"kind": "hcl-block",
|
|
"visibility": "public",
|
|
"line_range": [
|
|
13,
|
|
13
|
|
]
|
|
}
|
|
],
|
|
"relationships": [
|
|
{
|
|
"type": "CONTAINS",
|
|
"source": "main.tf",
|
|
"target": "main.tf:provider.aws"
|
|
},
|
|
{
|
|
"type": "CONTAINS",
|
|
"source": "main.tf",
|
|
"target": "main.tf:resource.aws_s3_bucket.b"
|
|
},
|
|
{
|
|
"type": "CONTAINS",
|
|
"source": "main.tf",
|
|
"target": "main.tf:module.vpc"
|
|
},
|
|
{
|
|
"type": "CONTAINS",
|
|
"source": "main.tf",
|
|
"target": "main.tf:data.aws_iam_policy_document.assume_role"
|
|
}
|
|
]
|
|
}
|