{"id":8018,"date":"2026-04-08T13:48:01","date_gmt":"2026-04-08T11:48:01","guid":{"rendered":"https:\/\/www.rawk.at\/?p=6602"},"modified":"2026-05-31T08:18:29","modified_gmt":"2026-05-31T08:18:29","slug":"projectmind-semantic-project-memory","status":"publish","type":"post","link":"https:\/\/new.rawk.at\/?p=8018","title":{"rendered":"ProjectMind &#8211; Semantic Project Memory"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8018\" class=\"elementor elementor-8018\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-a288ab3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a288ab3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f7844ad\" data-id=\"f7844ad\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e3c8171 elementor-widget elementor-widget-text-editor\" data-id=\"e3c8171\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Type:<\/strong> Software\u00a0 <br \/><strong>Status:<\/strong> In Development<\/p><p><strong>Tech Stack: <\/strong>Python, SQLite (WAL), tree-sitter, FastMCP, Starlette, watchdog, AST-Modul<\/p><p><strong>Problem Statement<\/strong><\/p><p>AI code assistants like Claude Code lose their context about project structure with every restart. They don&#8217;t know which functions exist, who calls them, or what impact a change has. In large codebases, this leads to redundant analyses, false assumptions, and breakpoints. A persistent, semantic knowledge base that preserves code relationships across sessions and is available as an MCP server for AI assistants is missing.<\/p><p><strong>Description<\/strong><\/p><p>A persistent knowledge base for code projects that functions as an MCP server for Claude Code and as a standalone web dashboard. Indexes functions, classes, imports, and call graphs in a local SQLite database (Python, JavaScript\/TypeScript, Java via tree-sitter). Offers impact analysis, caller tracking, dependency graphs, semantic versioning, and automatic re-indexing on file changes via 10 MCP tools.<\/p><p><strong>Use Case<\/strong><\/p><p><em>A memory for code projects: knows which function is where, who calls it, and what breaks if you change it.<\/em><\/p><p><strong>Link: <\/strong><a href=\"https:\/\/github.com\/rawk7000\/Claudestro\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/rawk7000\/Claudestro<\/a> (private repo)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c8cd17 elementor-widget elementor-widget-gallery\" data-id=\"6c8cd17\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:3,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:25,&quot;sizes&quot;:[]},&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/01-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"01\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwMCwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDEtMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/01-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/10-8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"10\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwOSwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMTAtOC5wbmciLCJzbGlkZXNob3ciOiI2YzhjZDE3In0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/10-8-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/09-9.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"09\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwOCwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDktOS5wbmciLCJzbGlkZXNob3ciOiI2YzhjZDE3In0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/09-9-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/08-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"08\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwNywidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDgtMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/08-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/06-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"06\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwNSwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDYtMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/06-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/07-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"07\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwNiwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDctMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/07-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/05-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"05\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwNCwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDUtMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/05-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/04-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"04\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwMywidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDQtMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/04-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/03-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"03\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwMiwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDMtMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/03-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/02-10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"6c8cd17\" data-elementor-lightbox-title=\"02\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYwMSwidXJsIjoiaHR0cHM6XC9cL25ldy5yYXdrLmF0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvMDItMTAucG5nIiwic2xpZGVzaG93IjoiNmM4Y2QxNyJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/new.rawk.at\/wp-content\/uploads\/2026\/04\/02-10-768x432.png\" data-width=\"768\" data-height=\"432\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf57e7c elementor-widget elementor-widget-gallery\" data-id=\"cf57e7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:2,&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Type: Software\u00a0 Status: In Development Tech Stack: Python, SQLite (WAL), tree-sitter, FastMCP, Starlette, watchdog, AST-Modul Problem Statement AI code assistants like Claude Code lose their context about project structure with every restart. They don&#8217;t know which functions exist, who calls them, or what impact a change has. In large codebases, this leads to redundant analyses, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-8018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8018"}],"version-history":[{"count":4,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8018\/revisions"}],"predecessor-version":[{"id":8617,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8018\/revisions\/8617"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/media\/8600"}],"wp:attachment":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}