gitextract_y706qbmn/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── issue.md │ └── pull_request_template.md ├── .gitignore ├── ARCHITECTURE.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── ROADMAP.md ├── app.dockerfile ├── benchmarks/ │ ├── BENCHMARKS.md │ └── SWE-bench.md ├── devika.dockerfile ├── devika.py ├── docker-compose.yaml ├── docs/ │ ├── Installation/ │ │ ├── ollama.md │ │ └── search_engine.md │ └── architecture/ │ ├── ARCHITECTURE.md │ ├── README.md │ └── UNDER_THE_HOOD.md ├── requirements.txt ├── sample.config.toml ├── setup.sh ├── src/ │ ├── agents/ │ │ ├── __init__.py │ │ ├── action/ │ │ │ ├── __init__.py │ │ │ ├── action.py │ │ │ └── prompt.jinja2 │ │ ├── agent.py │ │ ├── answer/ │ │ │ ├── __init__.py │ │ │ ├── answer.py │ │ │ └── prompt.jinja2 │ │ ├── coder/ │ │ │ ├── __init__.py │ │ │ ├── coder.py │ │ │ └── prompt.jinja2 │ │ ├── decision/ │ │ │ ├── __init__.py │ │ │ ├── decision.py │ │ │ └── prompt.jinja2 │ │ ├── feature/ │ │ │ ├── __init__.py │ │ │ ├── feature.py │ │ │ └── prompt.jinja2 │ │ ├── formatter/ │ │ │ ├── __init__.py │ │ │ ├── formatter.py │ │ │ └── prompt.jinja2 │ │ ├── internal_monologue/ │ │ │ ├── __init__.py │ │ │ ├── internal_monologue.py │ │ │ └── prompt.jinja2 │ │ ├── patcher/ │ │ │ ├── __init__.py │ │ │ ├── patcher.py │ │ │ └── prompt.jinja2 │ │ ├── planner/ │ │ │ ├── __init__.py │ │ │ ├── planner.py │ │ │ └── prompt.jinja2 │ │ ├── reporter/ │ │ │ ├── __init__.py │ │ │ ├── prompt.jinja2 │ │ │ └── reporter.py │ │ ├── researcher/ │ │ │ ├── __init__.py │ │ │ ├── prompt.jinja2 │ │ │ └── researcher.py │ │ └── runner/ │ │ ├── __init__.py │ │ ├── prompt.jinja2 │ │ ├── rerunner.jinja2 │ │ └── runner.py │ ├── apis/ │ │ └── project.py │ ├── bert/ │ │ └── sentence.py │ ├── browser/ │ │ ├── __init__.py │ │ ├── browser.py │ │ ├── interaction.py │ │ └── search.py │ ├── config.py │ ├── documenter/ │ │ ├── graphwiz.py │ │ ├── pdf.py │ │ └── uml.py │ ├── experts/ │ │ ├── __UNIMPLEMENTED__ │ │ ├── chemistry.py │ │ ├── game-dev.py │ │ ├── math.py │ │ ├── medical.py │ │ ├── physics.py │ │ ├── stackoverflow.py │ │ └── web-design.py │ ├── filesystem/ │ │ ├── __init__.py │ │ └── read_code.py │ ├── init.py │ ├── llm/ │ │ ├── __init__.py │ │ ├── claude_client.py │ │ ├── gemini_client.py │ │ ├── groq_client.py │ │ ├── llm.py │ │ ├── lm_studio_client.py │ │ ├── mistral_client.py │ │ ├── ollama_client.py │ │ └── openai_client.py │ ├── logger.py │ ├── memory/ │ │ ├── __init__.py │ │ ├── knowledge_base.py │ │ └── rag.py │ ├── project.py │ ├── sandbox/ │ │ ├── code_runner.py │ │ └── firejail.py │ ├── services/ │ │ ├── __init__.py │ │ ├── git.py │ │ ├── github.py │ │ ├── netlify.py │ │ └── utils.py │ ├── socket_instance.py │ └── state.py └── ui/ ├── .gitignore ├── .npmrc ├── bun.lockb ├── components.json ├── package.json ├── postcss.config.cjs ├── src/ │ ├── app.html │ ├── app.pcss │ ├── lib/ │ │ ├── api.js │ │ ├── components/ │ │ │ ├── BrowserWidget.svelte │ │ │ ├── ControlPanel.svelte │ │ │ ├── EditorWidget.svelte │ │ │ ├── MessageContainer.svelte │ │ │ ├── MessageInput.svelte │ │ │ ├── MonacoEditor.js │ │ │ ├── Sidebar.svelte │ │ │ ├── TerminalWidget.svelte │ │ │ └── ui/ │ │ │ ├── Seperator.svelte │ │ │ ├── SidebarButton.svelte │ │ │ ├── resizable/ │ │ │ │ ├── index.js │ │ │ │ ├── resizable-handle.svelte │ │ │ │ └── resizable-pane-group.svelte │ │ │ ├── select/ │ │ │ │ ├── index.js │ │ │ │ ├── select-content.svelte │ │ │ │ ├── select-item.svelte │ │ │ │ ├── select-label.svelte │ │ │ │ ├── select-separator.svelte │ │ │ │ └── select-trigger.svelte │ │ │ ├── sonner/ │ │ │ │ ├── index.js │ │ │ │ └── sonner.svelte │ │ │ └── tabs/ │ │ │ ├── index.js │ │ │ ├── tabs-content.svelte │ │ │ ├── tabs-list.svelte │ │ │ └── tabs-trigger.svelte │ │ ├── icons.js │ │ ├── sockets.js │ │ ├── store.js │ │ ├── token.js │ │ └── utils.js │ └── routes/ │ ├── +layout.js │ ├── +layout.svelte │ ├── +page.svelte │ ├── logs/ │ │ └── +page.svelte │ └── settings/ │ └── +page.svelte ├── static/ │ └── assets/ │ └── loading-lottie.json ├── svelte.config.js ├── tailwind.config.js └── vite.config.js