{ "version": "1.0.0", "lastScanned": 1773938154948, "projectRoot": "/Users/cillin/workspeace/evotraders", "techStack": { "languages": [ { "name": "Python", "version": null, "confidence": "high", "markers": [ "pyproject.toml" ] }, { "name": "C/C++", "version": null, "confidence": "high", "markers": [ "Makefile" ] } ], "frameworks": [ { "name": "pytest", "version": null, "category": "testing" } ], "packageManager": null, "runtime": null }, "build": { "buildCommand": "make build", "testCommand": "make test", "lintCommand": "ruff check", "devCommand": null, "scripts": {} }, "conventions": { "namingStyle": null, "importStyle": null, "testPattern": null, "fileOrganization": null }, "structure": { "isMonorepo": false, "workspaces": [], "mainDirectories": [ "docs", "scripts" ], "gitBranches": { "defaultBranch": "main", "branchingStrategy": null } }, "customNotes": [], "directoryMap": { "agent-service": { "path": "agent-service", "purpose": null, "fileCount": 2, "lastAccessed": 1773938154941, "keyFiles": [ "Dockerfile", "requirements.txt" ] }, "backend": { "path": "backend", "purpose": null, "fileCount": 5, "lastAccessed": 1773938154941, "keyFiles": [ "__init__.py", "app.py", "cli.py", "gateway_server.py", "main.py" ] }, "backtest": { "path": "backtest", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154941, "keyFiles": [] }, "data": { "path": "data", "purpose": "Data files", "fileCount": 1, "lastAccessed": 1773938154941, "keyFiles": [ "market_research.db" ] }, "deploy": { "path": "deploy", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154942, "keyFiles": [] }, "docs": { "path": "docs", "purpose": "Documentation", "fileCount": 0, "lastAccessed": 1773938154942, "keyFiles": [] }, "evotraders.egg-info": { "path": "evotraders.egg-info", "purpose": null, "fileCount": 6, "lastAccessed": 1773938154942, "keyFiles": [ "PKG-INFO", "SOURCES.txt", "dependency_links.txt", "entry_points.txt", "requires.txt" ] }, "frontend": { "path": "frontend", "purpose": null, "fileCount": 13, "lastAccessed": 1773938154942, "keyFiles": [ "README.md", "components.json", "env.template", "eslint.config.js", "index.css" ] }, "live": { "path": "live", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154943, "keyFiles": [] }, "logs": { "path": "logs", "purpose": null, "fileCount": 7, "lastAccessed": 1773938154943, "keyFiles": [ "2026-03-16_00-48-03.log", "2026-03-18_23-17-29.log", "2026-03-18_23-17-30.2026-03-18_23-17-30_000801.log.zip", "2026-03-18_23-17-30.log", "2026-03-19_00-18-04.log" ] }, "news-service": { "path": "news-service", "purpose": null, "fileCount": 3, "lastAccessed": 1773938154943, "keyFiles": [ "Dockerfile", "requirements.txt" ] }, "reference": { "path": "reference", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154943, "keyFiles": [] }, "runs": { "path": "runs", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154944, "keyFiles": [] }, "scripts": { "path": "scripts", "purpose": "Build/utility scripts", "fileCount": 1, "lastAccessed": 1773938154944, "keyFiles": [ "run_prod.sh" ] }, "services": { "path": "services", "purpose": "Business logic services", "fileCount": 1, "lastAccessed": 1773938154944, "keyFiles": [ "README.md" ] }, "shared": { "path": "shared", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154944, "keyFiles": [] }, "trading-service": { "path": "trading-service", "purpose": null, "fileCount": 4, "lastAccessed": 1773938154944, "keyFiles": [ "Dockerfile", "README.md", "requirements.txt" ] }, "workspaces": { "path": "workspaces", "purpose": null, "fileCount": 0, "lastAccessed": 1773938154944, "keyFiles": [] }, "agent-service/src": { "path": "agent-service/src", "purpose": "Source code", "fileCount": 5, "lastAccessed": 1773938154944, "keyFiles": [ "__init__.py", "config.py", "main.py" ] }, "backend/api": { "path": "backend/api", "purpose": "API routes", "fileCount": 5, "lastAccessed": 1773938154944, "keyFiles": [ "__init__.py", "agents.py", "guard.py" ] }, "backend/config": { "path": "backend/config", "purpose": "Configuration files", "fileCount": 6, "lastAccessed": 1773938154944, "keyFiles": [ "__init__.py", "agent_profiles.yaml", "bootstrap_config.py" ] }, "backend/data": { "path": "backend/data", "purpose": "Data files", "fileCount": 13, "lastAccessed": 1773938154944, "keyFiles": [ "__init__.py", "cache.py", "historical_price_manager.py" ] }, "docs/assets": { "path": "docs/assets", "purpose": "Static assets", "fileCount": 5, "lastAccessed": 1773938154944, "keyFiles": [ "dashboard.jpg", "evotraders_demo.gif", "evotraders_logo.jpg" ] }, "frontend/dist": { "path": "frontend/dist", "purpose": "Distribution/build output", "fileCount": 2, "lastAccessed": 1773938154945, "keyFiles": [ "index.html", "trading_logo.png" ] }, "frontend/node_modules": { "path": "frontend/node_modules", "purpose": "Dependencies", "fileCount": 1, "lastAccessed": 1773938154947, "keyFiles": [] }, "news-service/src": { "path": "news-service/src", "purpose": "Source code", "fileCount": 3, "lastAccessed": 1773938154948, "keyFiles": [ "__init__.py", "config.py", "main.py" ] }, "trading-service/src": { "path": "trading-service/src", "purpose": "Source code", "fileCount": 8, "lastAccessed": 1773938154948, "keyFiles": [ "__init__.py", "config.py", "main.py" ] } }, "hotPaths": [ { "path": "backend/agents/factory.py", "accessCount": 17, "lastAccessed": 1773939950376, "type": "file" }, { "path": "backend", "accessCount": 16, "lastAccessed": 1773940042371, "type": "directory" }, { "path": "", "accessCount": 13, "lastAccessed": 1773939899611, "type": "directory" }, { "path": "backend/main.py", "accessCount": 7, "lastAccessed": 1773939993951, "type": "file" }, { "path": "backend/gateway_server.py", "accessCount": 7, "lastAccessed": 1773940004402, "type": "file" }, { "path": "backend/services/news/main.py", "accessCount": 5, "lastAccessed": 1773938385662, "type": "file" }, { "path": "backend/core/pipeline.py", "accessCount": 5, "lastAccessed": 1773940024933, "type": "file" }, { "path": "backend/services/news/enrich/news_enricher.py", "accessCount": 4, "lastAccessed": 1773938508417, "type": "file" }, { "path": "start-dev.sh", "accessCount": 4, "lastAccessed": 1773939259381, "type": "file" }, { "path": "services/README.md", "accessCount": 4, "lastAccessed": 1773939281935, "type": "file" }, { "path": "backend/app.py", "accessCount": 4, "lastAccessed": 1773939648215, "type": "file" }, { "path": "backend/services/news/routes/news.py", "accessCount": 3, "lastAccessed": 1773938438928, "type": "file" }, { "path": "backend/services/news", "accessCount": 3, "lastAccessed": 1773938468730, "type": "directory" }, { "path": "frontend/src/config/constants.js", "accessCount": 3, "lastAccessed": 1773939204395, "type": "file" }, { "path": "backend/services/gateway.py", "accessCount": 3, "lastAccessed": 1773939672930, "type": "file" }, { "path": "backend/core/__init__.py", "accessCount": 3, "lastAccessed": 1773939963627, "type": "file" }, { "path": "backend/services/trading/main.py", "accessCount": 2, "lastAccessed": 1773938360736, "type": "file" }, { "path": "backend/services/agents/main.py", "accessCount": 2, "lastAccessed": 1773938361040, "type": "file" }, { "path": "backend/services/trading/data/__init__.py", "accessCount": 2, "lastAccessed": 1773938402496, "type": "file" }, { "path": "backend/services/news/explain/__init__.py", "accessCount": 2, "lastAccessed": 1773938460019, "type": "file" }, { "path": "backend/services/news/enrich/__init__.py", "accessCount": 2, "lastAccessed": 1773938465216, "type": "file" }, { "path": "backend/services/news/explain/range_explainer.py", "accessCount": 2, "lastAccessed": 1773938481152, "type": "file" }, { "path": "backend/services/news/enrich/llm_enricher.py", "accessCount": 2, "lastAccessed": 1773938499885, "type": "file" }, { "path": "CLAUDE.md", "accessCount": 2, "lastAccessed": 1773939273598, "type": "file" }, { "path": "backend/agents/__init__.py", "accessCount": 2, "lastAccessed": 1773939883015, "type": "file" }, { "path": "backend/agents/agent_core.py", "accessCount": 2, "lastAccessed": 1773939886997, "type": "file" }, { "path": "Makefile", "accessCount": 1, "lastAccessed": 1773938226307, "type": "file" }, { "path": "docker-compose.yml", "accessCount": 1, "lastAccessed": 1773938226360, "type": "file" }, { "path": "backend/services/news/shared/trading_client.py", "accessCount": 1, "lastAccessed": 1773938370618, "type": "file" }, { "path": "backend/services/agents", "accessCount": 1, "lastAccessed": 1773938397772, "type": "directory" }, { "path": "backend/services/trading", "accessCount": 1, "lastAccessed": 1773938397823, "type": "directory" }, { "path": "backend/services", "accessCount": 1, "lastAccessed": 1773938405541, "type": "directory" }, { "path": "backend/services/news/config.py", "accessCount": 1, "lastAccessed": 1773938638664, "type": "file" }, { "path": "shared/client/news_client.py", "accessCount": 1, "lastAccessed": 1773938638715, "type": "file" }, { "path": "shared/client/trading_client.py", "accessCount": 1, "lastAccessed": 1773938638770, "type": "file" }, { "path": "backend/api", "accessCount": 1, "lastAccessed": 1773938669143, "type": "directory" }, { "path": "frontend", "accessCount": 1, "lastAccessed": 1773938669195, "type": "directory" }, { "path": ".env.example", "accessCount": 1, "lastAccessed": 1773938849397, "type": "file" }, { "path": "frontend/src/services/websocket.js", "accessCount": 1, "lastAccessed": 1773938849448, "type": "file" }, { "path": "frontend/src/services/runtimeApi.js", "accessCount": 1, "lastAccessed": 1773938849500, "type": "file" }, { "path": "backend/services/agents/routes/websocket.py", "accessCount": 1, "lastAccessed": 1773939001692, "type": "file" }, { "path": "backend/services/agents/routes/agents.py", "accessCount": 1, "lastAccessed": 1773939016291, "type": "file" }, { "path": "backend/services/agents/routes/run.py", "accessCount": 1, "lastAccessed": 1773939016343, "type": "file" }, { "path": "backend/__init__.py", "accessCount": 1, "lastAccessed": 1773939648323, "type": "file" }, { "path": "backend/api/__init__.py", "accessCount": 1, "lastAccessed": 1773939658650, "type": "file" }, { "path": "backend/runtime/__init__.py", "accessCount": 1, "lastAccessed": 1773939658687, "type": "file" }, { "path": "backend/agents/base/evo_agent.py", "accessCount": 1, "lastAccessed": 1773939664916, "type": "file" }, { "path": "backend/agents/analyst.py", "accessCount": 1, "lastAccessed": 1773939664967, "type": "file" }, { "path": "backend/agents/base/hooks.py", "accessCount": 1, "lastAccessed": 1773939672727, "type": "file" }, { "path": "pyproject.toml", "accessCount": 1, "lastAccessed": 1773939672778, "type": "file" } ], "userDirectives": [] }