Output
📁 Konnect Project Structure
Real estate listing pipeline: PropertyMe → FTP → kongate → konimage → konwebflow → Webflow
/konnectvol/ ├── CLAUDE.md # Project instructions ├── API.md # API documentation ├── .mcp.json # MCP server config │ ├── bin/ # CLI tools & scripts │ ├── kon-start # Start pipeline services │ ├── kon-stop # Stop services │ ├── kon-status # Check service status │ ├── kon-tail # Log viewer │ ├── wf-list # List Webflow items │ ├── wf-get # Get Webflow item │ ├── wf-update # Update Webflow item │ ├── wf-create # Create Webflow item │ ├── wf-delete # Delete Webflow item │ ├── wf-schema # Get collection schema │ └── wf-lib.ts # Shared Webflow utilities │ ├── kongate/ # FTP gateway (port 8010) │ ├── src/ │ │ ├── main.ts # Entry point │ │ ├── xml-parser.ts # REAXML parser │ │ ├── xml-store.ts # XML storage │ │ └── publish-debounce.ts │ ├── tests/ # 72 tests │ └── CLAUDE.md │ ├── konimage/ # Image processor (port 8000) │ ├── src/ │ │ ├── main.ts # HTTP server │ │ ├── transform.ts # ImageMagick processing │ │ ├── cache.ts # Image cache │ │ └── params.ts # URL params │ ├── metadata/ # Image metadata JSON │ └── CLAUDE.md │ ├── konwebflow/ # Webflow CMS publisher │ ├── src/ │ │ ├── main.ts # Entry point │ │ ├── webflow-client.ts # API client │ │ ├── geocoder.ts # Google geocoding │ │ └── markdown.ts # Description parser │ ├── tests/ # 146 tests │ └── CLAUDE.md │ ├── kondata/ # CMS data replica & sync │ ├── src/ │ │ ├── types.ts # Type definitions │ │ ├── fuzzy.ts # Fuzzy matching │ │ ├── lookup/ # Data lookups │ │ └── generators/ # Data generators │ ├── data/ # JSON source files │ ├── scripts/ # Push/compare scripts │ └── CLAUDE.md │ ├── konui/ # Admin UI (port 8666) │ ├── src/ │ │ ├── main.ts # HTTP server │ │ ├── router.ts # Route handlers (85KB) │ │ ├── kontask-*.ts # Kontask system │ │ ├── console-*.ts # Dashboard console │ │ ├── reports.ts # CEO reports │ │ └── views/ # HTML templates │ ├── data/ # kontasks.jsonl, sessions │ └── CLAUDE.md │ ├── konsole/ # Claude Code as Service (port 8020) │ ├── src/ │ │ ├── main.ts # HTTP/SSE server │ │ ├── stream.ts # Claude streaming │ │ ├── session.ts # Session management │ │ └── claude.ts # Claude SDK wrapper │ └── CLAUDE.md │ ├── kontext/ # Future understanding engine (stub) │ ├── CLAUDE.md │ └── ROADMAP.md # Architecture vision │ ├── shared/ # Common utilities │ ├── fetch-with-timeout.ts │ ├── retry.ts # Retry + circuit breaker │ ├── safe-json.ts # Safe JSON parsing │ ├── listing-validator.ts │ └── concurrency.ts # Semaphore/queue │ ├── tests/ # Integration tests │ └── integration/ # 26 tests │ └── logs/ # Service log files
Test Coverage
| ● shared | 66 tests |
| ● kongate | 72 tests |
| ● konimage | 25 tests |
| ● konwebflow | 146 tests |
| ● kondata | 137 tests |
| ● konui | 27 tests |
| ● wf-lib | 58 tests |
| ● integration | 26 tests |
| Total | 557 tests |
Git Status
M konui/src/kontask-templates.ts, kontask-types.ts (file_tree template)
?? konui/data/* (untracked data files)
What's Next?
Choose an action:
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
file-treedocumentation
Created
3 Jan 2026, 10:19 am
Updated
3 Jan 2026, 10:19 am
Created By
claude
Raw Data
{
"id": "4240323b-46a4-4785-b426-bef2e81b9e05",
"type": "general",
"status": "completed",
"title": "Konnect Project File Tree",
"description": "Complete file tree of the /konnectvol project",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\"><h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">📁 Konnect Project Structure</h2><p style=\"color:#9ca3af;margin:0 0 16px 0;font-family:sans-serif;\">Real estate listing pipeline: PropertyMe → FTP → kongate → konimage → konwebflow → Webflow</p><pre style=\"background:#2d2d2d;padding:16px;border-radius:6px;overflow-x:auto;line-height:1.8;color:#e0e0e0;font-size:13px;\">\n<span style=\"color:#56b6c2;font-weight:bold;\">/konnectvol/</span>\n├── <span style=\"color:#e5c07b;\">CLAUDE.md</span> <span style=\"color:#7f848e;\"># Project instructions</span>\n├── <span style=\"color:#e5c07b;\">API.md</span> <span style=\"color:#7f848e;\"># API documentation</span>\n├── <span style=\"color:#e5c07b;\">.mcp.json</span> <span style=\"color:#7f848e;\"># MCP server config</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">bin/</span> <span style=\"color:#7f848e;\"># CLI tools & scripts</span>\n│ ├── <span style=\"color:#c678dd;\">kon-start</span> <span style=\"color:#7f848e;\"># Start pipeline services</span>\n│ ├── <span style=\"color:#c678dd;\">kon-stop</span> <span style=\"color:#7f848e;\"># Stop services</span>\n│ ├── <span style=\"color:#c678dd;\">kon-status</span> <span style=\"color:#7f848e;\"># Check service status</span>\n│ ├── <span style=\"color:#c678dd;\">kon-tail</span> <span style=\"color:#7f848e;\"># Log viewer</span>\n│ ├── <span style=\"color:#c678dd;\">wf-list</span> <span style=\"color:#7f848e;\"># List Webflow items</span>\n│ ├── <span style=\"color:#c678dd;\">wf-get</span> <span style=\"color:#7f848e;\"># Get Webflow item</span>\n│ ├── <span style=\"color:#c678dd;\">wf-update</span> <span style=\"color:#7f848e;\"># Update Webflow item</span>\n│ ├── <span style=\"color:#c678dd;\">wf-create</span> <span style=\"color:#7f848e;\"># Create Webflow item</span>\n│ ├── <span style=\"color:#c678dd;\">wf-delete</span> <span style=\"color:#7f848e;\"># Delete Webflow item</span>\n│ ├── <span style=\"color:#c678dd;\">wf-schema</span> <span style=\"color:#7f848e;\"># Get collection schema</span>\n│ └── <span style=\"color:#e5c07b;\">wf-lib.ts</span> <span style=\"color:#7f848e;\"># Shared Webflow utilities</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">kongate/</span> <span style=\"color:#7f848e;\"># FTP gateway (port 8010)</span>\n│ ├── <span style=\"color:#61afef;\">src/</span>\n│ │ ├── <span style=\"color:#e5c07b;\">main.ts</span> <span style=\"color:#7f848e;\"># Entry point</span>\n│ │ ├── <span style=\"color:#e5c07b;\">xml-parser.ts</span> <span style=\"color:#7f848e;\"># REAXML parser</span>\n│ │ ├── <span style=\"color:#e5c07b;\">xml-store.ts</span> <span style=\"color:#7f848e;\"># XML storage</span>\n│ │ └── <span style=\"color:#e5c07b;\">publish-debounce.ts</span>\n│ ├── <span style=\"color:#61afef;\">tests/</span> <span style=\"color:#7f848e;\"># 72 tests</span>\n│ └── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">konimage/</span> <span style=\"color:#7f848e;\"># Image processor (port 8000)</span>\n│ ├── <span style=\"color:#61afef;\">src/</span>\n│ │ ├── <span style=\"color:#e5c07b;\">main.ts</span> <span style=\"color:#7f848e;\"># HTTP server</span>\n│ │ ├── <span style=\"color:#e5c07b;\">transform.ts</span> <span style=\"color:#7f848e;\"># ImageMagick processing</span>\n│ │ ├── <span style=\"color:#e5c07b;\">cache.ts</span> <span style=\"color:#7f848e;\"># Image cache</span>\n│ │ └── <span style=\"color:#e5c07b;\">params.ts</span> <span style=\"color:#7f848e;\"># URL params</span>\n│ ├── <span style=\"color:#61afef;\">metadata/</span> <span style=\"color:#7f848e;\"># Image metadata JSON</span>\n│ └── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">konwebflow/</span> <span style=\"color:#7f848e;\"># Webflow CMS publisher</span>\n│ ├── <span style=\"color:#61afef;\">src/</span>\n│ │ ├── <span style=\"color:#e5c07b;\">main.ts</span> <span style=\"color:#7f848e;\"># Entry point</span>\n│ │ ├── <span style=\"color:#e5c07b;\">webflow-client.ts</span> <span style=\"color:#7f848e;\"># API client</span>\n│ │ ├── <span style=\"color:#e5c07b;\">geocoder.ts</span> <span style=\"color:#7f848e;\"># Google geocoding</span>\n│ │ └── <span style=\"color:#e5c07b;\">markdown.ts</span> <span style=\"color:#7f848e;\"># Description parser</span>\n│ ├── <span style=\"color:#61afef;\">tests/</span> <span style=\"color:#7f848e;\"># 146 tests</span>\n│ └── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">kondata/</span> <span style=\"color:#7f848e;\"># CMS data replica & sync</span>\n│ ├── <span style=\"color:#61afef;\">src/</span>\n│ │ ├── <span style=\"color:#e5c07b;\">types.ts</span> <span style=\"color:#7f848e;\"># Type definitions</span>\n│ │ ├── <span style=\"color:#e5c07b;\">fuzzy.ts</span> <span style=\"color:#7f848e;\"># Fuzzy matching</span>\n│ │ ├── <span style=\"color:#61afef;\">lookup/</span> <span style=\"color:#7f848e;\"># Data lookups</span>\n│ │ └── <span style=\"color:#61afef;\">generators/</span> <span style=\"color:#7f848e;\"># Data generators</span>\n│ ├── <span style=\"color:#61afef;\">data/</span> <span style=\"color:#7f848e;\"># JSON source files</span>\n│ ├── <span style=\"color:#61afef;\">scripts/</span> <span style=\"color:#7f848e;\"># Push/compare scripts</span>\n│ └── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">konui/</span> <span style=\"color:#7f848e;\"># Admin UI (port 8666)</span>\n│ ├── <span style=\"color:#61afef;\">src/</span>\n│ │ ├── <span style=\"color:#e5c07b;\">main.ts</span> <span style=\"color:#7f848e;\"># HTTP server</span>\n│ │ ├── <span style=\"color:#e5c07b;\">router.ts</span> <span style=\"color:#7f848e;\"># Route handlers (85KB)</span>\n│ │ ├── <span style=\"color:#e5c07b;\">kontask-*.ts</span> <span style=\"color:#7f848e;\"># Kontask system</span>\n│ │ ├── <span style=\"color:#e5c07b;\">console-*.ts</span> <span style=\"color:#7f848e;\"># Dashboard console</span>\n│ │ ├── <span style=\"color:#e5c07b;\">reports.ts</span> <span style=\"color:#7f848e;\"># CEO reports</span>\n│ │ └── <span style=\"color:#61afef;\">views/</span> <span style=\"color:#7f848e;\"># HTML templates</span>\n│ ├── <span style=\"color:#61afef;\">data/</span> <span style=\"color:#7f848e;\"># kontasks.jsonl, sessions</span>\n│ └── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">konsole/</span> <span style=\"color:#7f848e;\"># Claude Code as Service (port 8020)</span>\n│ ├── <span style=\"color:#61afef;\">src/</span>\n│ │ ├── <span style=\"color:#e5c07b;\">main.ts</span> <span style=\"color:#7f848e;\"># HTTP/SSE server</span>\n│ │ ├── <span style=\"color:#e5c07b;\">stream.ts</span> <span style=\"color:#7f848e;\"># Claude streaming</span>\n│ │ ├── <span style=\"color:#e5c07b;\">session.ts</span> <span style=\"color:#7f848e;\"># Session management</span>\n│ │ └── <span style=\"color:#e5c07b;\">claude.ts</span> <span style=\"color:#7f848e;\"># Claude SDK wrapper</span>\n│ └── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">kontext/</span> <span style=\"color:#7f848e;\"># Future understanding engine (stub)</span>\n│ ├── <span style=\"color:#e5c07b;\">CLAUDE.md</span>\n│ └── <span style=\"color:#e5c07b;\">ROADMAP.md</span> <span style=\"color:#7f848e;\"># Architecture vision</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">shared/</span> <span style=\"color:#7f848e;\"># Common utilities</span>\n│ ├── <span style=\"color:#e5c07b;\">fetch-with-timeout.ts</span>\n│ ├── <span style=\"color:#e5c07b;\">retry.ts</span> <span style=\"color:#7f848e;\"># Retry + circuit breaker</span>\n│ ├── <span style=\"color:#e5c07b;\">safe-json.ts</span> <span style=\"color:#7f848e;\"># Safe JSON parsing</span>\n│ ├── <span style=\"color:#e5c07b;\">listing-validator.ts</span>\n│ └── <span style=\"color:#e5c07b;\">concurrency.ts</span> <span style=\"color:#7f848e;\"># Semaphore/queue</span>\n│\n├── <span style=\"color:#98c379;font-weight:bold;\">tests/</span> <span style=\"color:#7f848e;\"># Integration tests</span>\n│ └── <span style=\"color:#61afef;\">integration/</span> <span style=\"color:#7f848e;\"># 26 tests</span>\n│\n└── <span style=\"color:#98c379;font-weight:bold;\">logs/</span> <span style=\"color:#7f848e;\"># Service log files</span>\n</pre><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-top:16px;font-family:sans-serif;\"><h4 style=\"margin:0 0 12px 0;color:#fff;\">Test Coverage</h4><table style=\"width:100%;color:#e0e0e0;font-size:14px;\"><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> shared</td><td>66 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> kongate</td><td>72 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> konimage</td><td>25 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> konwebflow</td><td>146 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> kondata</td><td>137 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> konui</td><td>27 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> wf-lib</td><td>58 tests</td></tr><tr><td style=\"padding:4px 12px;\"><span style=\"color:#98c379;\">●</span> integration</td><td>26 tests</td></tr><tr style=\"border-top:1px solid #444;\"><td style=\"padding:8px 12px;font-weight:bold;\">Total</td><td style=\"font-weight:bold;\">557 tests</td></tr></table></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-top:12px;font-family:sans-serif;\"><h4 style=\"margin:0 0 8px 0;color:#fff;\">Git Status</h4><p style=\"color:#9ca3af;margin:0;\"><span style=\"color:#e5c07b;\">M</span> konui/src/kontask-templates.ts, kontask-types.ts (file_tree template)<br><span style=\"color:#98c379;\">??</span> konui/data/* (untracked data files)</p></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-top:16px;font-family:sans-serif;\"><h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4><p style=\"color:#9ca3af;margin:0;\">Choose an action:</p></div>",
"choices": [
{
"label": "Run all tests",
"value": "Run all 557 tests across all services",
"primary": true
},
{
"label": "Commit file_tree",
"value": "Commit the file_tree template implementation"
},
{
"label": "Show service status",
"value": "Show the status of all running services"
}
]
},
"createdBy": "claude",
"createdAt": "2026-01-03T00:19:45.928Z",
"updatedAt": "2026-01-03T00:19:46.069Z",
"scope": "vibetools",
"tags": [
"file-tree",
"documentation"
],
"targetUser": "claude"
}