Codeatlas Platform — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Codeatlas Platform (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/CodeAtlas-00F0FF?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjAgM0wzNyAxMEwxMCAyMEwzNyAzMEwyMCAzNyIgc3Ryb2tlPSIjMDBGMEZGIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMjAgMTBMMzAgMTVMMjAgMjVMMTAgMTV6IiBmaWxsPSIjMDBGMEZGIi8+PC9zdmc+"> <img alt="CodeAtlas AI" src="https://img.shields.io/badge/CodeAtlas-00F0FF?style=for-the-badge"> </picture> </p>
<h1 align="center">🗺️ CodeAtlas AI</h1>
<p align="center"> <strong>AI-Powered Codebase Intelligence Platform</strong><br> MCP Server · AST Code Analysis · Knowledge Graph · Oracle 26ai Memory </p>
<p align="center"> <a href="https://github.com/giauphan/codeatlas-platform/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a> <a href="#"><img src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js" alt="Node.js 20+"></a> <a href="#"><img src="https://img.shields.io/badge/TypeScript-5.4-3178C6?logo=typescript" alt="TypeScript 5.4"></a> <a href="https://www.oracle.com/database/"><img src="https://img.shields.io/badge/Oracle-26ai%20Native-red?logo=oracle" alt="Oracle 26ai"></a> <a href="https://www.npmjs.com/package/codeatlas-enterprise"><img src="https://img.shields.io/npm/v/codeatlas-enterprise?label=MCP%20Server&logo=npm" alt="MCP Server"></a> <a href="https://github.com/giauphan/codeatlas-platform/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/giauphan/codeatlas-platform/ci.yml?branch=main&logo=github" alt="CI"></a> <a href="#"><img src="https://img.shields.io/badge/Vite-5-646CFF?logo=vite" alt="Vite 5"></a> </p>
<p align="center"> <b>CodeAtlas AI</b> transforms your codebase into a living <b>Knowledge Graph</b> — powered by <b>Oracle 26ai</b> vector search, property graphs, and AI embeddings. It provides deep architectural reasoning, automated security scanning, persistent AI memory, and seamless integration with every major AI code editor via the <b>Model Context Protocol (MCP)</b>. </p>
GRAPH_TABLE match recursion).VECTOR_DISTANCE cosine similarity.eval, exec, system, child_process, etc.) at CRITICAL severity.node_modules, venv, .venv, and site-packages for clean, actionable results.nvidia/nv-embed-v1 for semantic code understanding.VECTOR(4096, FLOAT32) data type for high-performance similarity search.${tenantId}_${projectName}) in Firebase.tenants/{tenantId}/).CodeAtlas AI follows a Clean Architecture pattern with clear separation of concerns:
┌──────────────────────────────────────────────────┐
│ MCP Clients │
│ Claude Cursor VS Code Windsurf Custom CLI │
└────────────────────┬─────────────────────────────┘
│
┌────────────────────▼─────────────────────────────┐
│ Presentation Layer │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ MCP Server │ │ Express HTTP API │ │
│ │ (stdio / SSE) │ │ (REST Endpoints) │ │
│ │ mcpServer.ts │ │ httpServer.ts │ │
│ │ mcpTools.ts │ │ dreamingRoutes.ts │ │
│ └──────────────────┘ └──────────────────────┘ │
└────────────────────┬─────────────────────────────┘
│
┌────────────────────▼─────────────────────────────┐
│ Service Layer │
│ ┌────────────┐ ┌──────────┐ ┌────────────────┐ │
│ │ Project │ │ Memory │ │ Security │ │
│ │ Service │ │ Service │ │ Scanner │ │
│ │ │ │ │ │ │ │
│ │ project │ │ Oracle │ │ Security │ │
│ │ Service.ts │ │ Memory │ │ Scanner.ts │ │
│ │ │ │ Service │ │ │ │
│ └────────────┘ │ .ts │ │ │ │
│ │ │ └────────────────┘ │
│ ┌────────────┐ │ ┌──────┐ │ │
│ │ Dreaming │ │ │Embed │ │ │
│ │ Service │ │ │-ding │ │ │
│ │ │ │ │Service││ │
│ │ dreaming │ │ │.ts ││ │
│ │ Service.ts │ │ └──────┘ │ │
│ └────────────┘ └──────────┘ │
└────────────────────┬─────────────────────────────┘
│
┌────────────────────▼─────────────────────────────┐
│ Infrastructure Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Oracle │ │ Firebase │ │ File System │ │
│ │ 26ai DB │ │ Admin │ │ (codeatlas/ │ │
│ │ │ │ │ │ analysis.json) │ │
│ │ .connect │ │ .auth │ │ │ │
│ │ .memory │ │ .firestore│ │ projectService │ │
│ │ .schema │ │ │ │ .ts │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────┘1. User opens IDE (Claude / Cursor / VS Code)
2. IDE connects to CodeAtlas via MCP (stdio or SSE)
3. MCP tools query local .codeatlas/analysis.json AST data
4. sync_system_memory pushes embeddings & relationships to Oracle 26ai
5. Dashboard fetches analysis results via REST API
6. Security Scanner runs against analysis data for vulnerability detection
7. Knowledge Graph queries (Oracle Property Graph) identify architectural smells curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs npm install -g pnpm/opt/oracle/instantclient.# Clone the repository
git clone https://github.com/giauphan/codeatlas-platform.git
cd codeatlas-platform
# Install dependencies
pnpm install
# Build the TypeScript project
pnpm run buildCreate a .env file in the project root:
# Server Configuration
PORT=8080
NODE_ENV=production
LOG_LEVEL=info
# Authentication
CODEATLAS_API_KEY=your_admin_secret_key
GOOGLE_APPLICATION_CREDENTIALS=/path/to/firebase-service-account.json
# Oracle 26ai Database (Thick Mode)
ORACLE_USER=admin
ORACLE_PASSWORD=your_password
ORACLE_CONN_STRING=your_db_connection_string
ORACLE_LIB_DIR=/opt/oracle/instantclient
ORACLE_WALLET_DIR=/opt/oracle/wallet # For mTLS connections
# NVIDIA Embeddings
NVIDIA_API_KEY=nvapi-your-key-here
# Multi-Tenant (optional)
CODEATLAS_MULTI_TENANT=false
CODEATLAS_PROJECTS_ROOT=./tenants
# CORS (optional, defaults to localhost origins)
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000#### Development Mode (with hot reload)
pnpm run dev#### Production Mode
pnpm run build
pnpm run start#### PM2 (Production Process Manager)
npm install -g pm2
pm2 start dist/src/index.js --name codeatlas-platform
pm2 save
pm2 startup#### Initialize Oracle Database Schema
pnpm run db-initThe server auto-detects the runtime mode:
PORT is set → starts in SSE Mode (remote HTTP server)PORT is unset → starts in Stdio Mode (local MCP server for IDE integration)CodeAtlas AI works with any MCP-compatible AI coding assistant. Choose your editor below:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"codeatlas": {
"command": "npx",
"args": ["-y", "codeatlas-enterprise"],
"env": {
"CODEATLAS_API_KEY": "your-api-key",
"ORACLE_CONN_STRING": "...",
"NVIDIA_API_KEY": "nvapi-..."
}
}
}
}Or for remote SSE mode:
{
"mcpServers": {
"codeatlas": {
"type": "sse",
"url": "https://your-server.com/sse?apiKey=YOUR_API_KEY_HERE"
}
}
}Create .cursor/rules/codeatlas.mdc in your project:
---
description: CodeAtlas AI codebase intelligence
globs: *
---
An MCP server named `codeatlas` is available with code analysis tools.
Always use it before manual file searches for faster results.Configure in Cursor Settings → MCP Servers:
{
"mcpServers": {
"codeatlas": {
"command": "npx",
"args": ["-y", "codeatlas-enterprise"],
"env": {
"CODEATLAS_API_KEY": "your-api-key"
}
}
}
}Add to your VS Code MCP settings:
{
"mcpServers": {
"codeatlas": {
"command": "npx",
"args": ["-y", "codeatlas-enterprise"],
"env": {
"CODEATLAS_API_KEY": "your-api-key"
}
}
}
}Create .windsurfrules in your project:
Use CodeAtlas MCP tools for codebase analysis before making changes.
Tools: list_projects, get_project_structure, search_entities, get_dependencies,
generate_system_flow, trace_feature_flow, sync_system_memoryAny MCP client can connect directly via stdio:
npx -y codeatlas-enterpriseOr via SSE:
curl -N https://your-server.com/sse?apiKey=YOUR_API_KEYCodeAtlas AI exposes 14 MCP tools for comprehensive codebase intelligence. Run list_projects first to discover analyzed projects, then use the rest.
| Tool | Description | Parameters |
|---|---|---|
list_projects | List all analyzed projects with names, paths, and last analysis timestamps | _None_ |
get_project_structure | Get all entities (modules, classes, functions, variables) in a project | project, type (all/module/class/function/variable), limit |
get_file_entities | Get all entities defined in a specific file | project, filePath (partial match) |
search_entities | Fuzzy search for functions, classes, modules, or variables by name | project, query, type |
get_insights | AI-generated code quality insights (refactoring, security, maintainability) | _None_ |
| Tool | Description | Parameters |
|---|---|---|
get_dependencies | Get import/call/containment/implements relationships between entities | project, source, target, relationship, limit |
generate_system_flow | Generate a Mermaid flowchart showing system architecture (module imports) | project, scope (full/modules-only/feature), feature, maxNodes |
generate_feature_flow_diagram | Generate a Mermaid diagram of feature execution flow (call chains: entry point → controller → service → model → database) | project, keyword, diagramType (flowchart/sequence), depth, maxNodes |
trace_feature_flow | Trace the complete execution flow of a feature through the codebase, ordered by dependency chain | project, keyword, depth |
| Tool | Description | Parameters |
|---|---|---|
sync_system_memory | Sync code entities & relationships to Oracle 26ai Knowledge Graph. Creates auto-generated system documentation with business rules and change logs | project, businessRule, changeDescription, enableEnterpriseSync |
get_system_memory | Retrieve episodic memories (business rules, change logs) from Oracle 26ai | project, eventType (all/BUSINESS_RULE/CHANGE_LOG) |
save_dream_memory | Save a learned pattern, mistake, preference, or knowledge to the Dreaming Memory system | memory_type, content, importance (1–10), session_id, project |
query_dream_memories | Search Dream Memories by semantic similarity using vector search | query, project, limit |
detect_architectural_smells | Use Oracle 26ai Property Graph to detect circular dependencies, God objects, and dead code | project |
| Tool | Description | Parameters |
|---|---|---|
scan_enterprise_vulnerabilities | Enterprise vulnerability scanner — auto-scans all projects for hardcoded secrets, unsafe functions, SQL injection risks, and architectural issues with security scoring | maxProjects |
In addition to MCP, CodeAtlas AI provides a full REST API for remote access and dashboard integration.
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
GET | /api/projects | List all discovered projects | ✅ |
DELETE | /api/projects | Remove a project and its data | ✅ |
GET | /api/projects/memory | Get episodic memories for a project | ✅ |
GET | /api/projects/settings | Get indexing settings | ✅ |
POST | /api/projects/settings | Update indexing settings | ✅ |
POST | /api/dreams/save | Save a dreaming memory | ✅ |
GET | /api/dreams/query | Query dreaming memories | ✅ |
DELETE | /api/dreams/delete | Delete a dreaming memory | ✅ |
GET | /api/docs/quick-setup | Get quick setup guide (markdown) | ✅ |
GET | /api/docs/memory-setup | Get AI memory setup guide (markdown) | ✅ |
Authentication: API requests require either:
Authorization: Bearer <firebase-id-token> (for dashboard users)x-api-key: <your-api-key> (for programmatic access)Rate Limiting: 60 requests per minute per tenant/IP.
codeatlas-platform/
├── src/
│ ├── index.ts # Composition root — entry point
│ ├── config/
│ │ └── env.ts # Environment configuration
│ ├── presentation/ # Presentation layer (MCP + HTTP)
│ │ ├── mcpServer.ts # MCP server instance
│ │ ├── mcpTools.ts # All 14 MCP tool definitions
│ │ ├── httpServer.ts # Express HTTP server + REST API
│ │ └── dreamingRoutes.ts # Dream memory REST routes
│ ├── services/ # Application services
│ │ ├── authService.ts # Authentication & API key verification
│ │ ├── projectService.ts # Project discovery & analysis loading
│ │ ├── memoryService.ts # Oracle 26ai tri-layer memory service
│ │ ├── dreamingService.ts # Oracle dreaming memory service
│ │ ├── embeddingService.ts # NVIDIA NIM embedding generation
│ │ ├── memoryGenerator.ts # Auto-generated memory documentation
│ │ └── scanner/
│ │ └── securityScanner.ts # Static security vulnerability scanner
│ ├── middleware/
│ │ └── auth.ts # Express auth middleware (Firebase + API key)
│ ├── database/
│ │ ├── connection.ts # Oracle DB connection pool (Thick Mode)
│ │ └── schema.sql # Oracle 26ai database schema + VPD setup
│ ├── types/
│ │ ├── index.ts # TypeScript interfaces (GraphNode, AnalysisResult, etc.)
│ │ └── express.d.ts # Express type augmentation
│ ├── utils/
│ │ ├── logger.ts # Structured logging
│ │ └── context.ts # AsyncLocalStorage for request context
│ └── repositories.ts # Repository pattern (auth, telemetry)
├── dashboard/ # React dashboard (Vite + TypeScript)
│ ├── src/
│ │ ├── App.tsx # Root component
│ │ ├── main.tsx # Entry point
│ │ ├── lib/
│ │ │ └── firebase.ts # Firebase client SDK
│ │ └── components/
│ │ ├── Dashboard.tsx # Main dashboard (project management)
│ │ ├── Auth.tsx # Login / API key auth
│ │ ├── KnowledgeGraphView.tsx # Interactive force-directed graph
│ │ ├── ControlCenterView.tsx # Settings & controls
│ │ ├── CloudIndexView.tsx # Cloud sync status
│ │ └── DocumentationView.tsx # MCP integration guide
│ ├── index.html
│ ├── vite.config.ts
│ └── package.json
├── scripts/ # Utility scripts
│ ├── db-init.ts # Database schema initialization
│ ├── deploy.sh # Deployment script
│ ├── migrate-user.ts # User migration
│ └── query-firestore.ts # Firestore debugging
├── tests/ # Test suites
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── e2e/ # End-to-end tests
├── docs/
│ ├── QUICK_SETUP.md # Quick setup guide
│ ├── AI-MEMORY-SETUP.md # AI memory configuration
│ └── rules-template/ # IDE integration templates
│ ├── CLAUDE.md
│ ├── cursor-codeatlas.mdc
│ ├── codeatlas-mcp.md
│ └── windsurfrules.md
├── instantclient/ # Oracle Instant Client libraries
├── .github/workflows/
│ ├── ci.yml # CI pipeline (build, type-check, test)
│ └── cd.yml # CD pipeline (deploy to live server)
├── package.json
├── tsconfig.json
├── DESIGN.md # Design system specification
├── CHANGELOG.md # Full version history
└── LICENSE # MIT LicenseCodeAtlas AI implements a Tri-Layer Memory system using Oracle 26ai native database features:
ai_episodic_memory)Stores business events as JSON documents using Oracle's native JSON data type.
sync_system_memory callSELECT event_data FROM ai_episodic_memory WHERE project_name = :project AND event_type = 'BUSINESS_RULE'ai_semantic_memory)Stores vector embeddings of code entities for AI-powered similarity search.
nvidia/nv-embed-v1 — 4096-dimensional FLOAT32 vectorsVECTOR(4096, FLOAT32) data typeSELECT * FROM ai_semantic_memory ORDER BY VECTOR_DISTANCE(embedding, :query, COSINE) FETCH FIRST :limit ROWS ONLYai_relational_memory)Stores code dependency relationships as a Property Graph for graph traversal.
CREATE PROPERTY GRAPH ai_knowledge_graph connecting semantic entities via relational edgesGRAPH_TABLE(ai_knowledge_graph MATCH (a)-[e]->{1,5}(a)) for cycle detectionimport, call, contains, implementsAll three memory tables are protected by Oracle Virtual Private Database (VPD) with automatic row-level security based on tenant_id. Each database connection session sets its security context via ADMIN.codeatlas_ctx_pkg.set_tenant(:tenantId), and VPD policies transparently filter rows.
CodeAtlas AI supports SaaS multi-tenancy at every layer:
tenants/
├── tenant-abc123/
│ ├── project-alpha/
│ │ └── .codeatlas/analysis.json
│ └── project-beta/
└── tenant-def456/
└── project-gamma/tenant_id filtering${tenantId}_${projectName}The interactive dashboard is a React application with a premium glassmorphism design system:
#00F0FF — active nodes, CTAs, glow accents#9D00FF — AI insights, relationships#0A0C10 with glass surfaces rgba(16, 20, 29, 0.6)| View | Description |
|---|---|
| Control Center | Project management, API keys, settings |
| Knowledge Graph | Interactive force-directed SVG graph with zoom, pan, and node dragging |
| Cloud Index | Cloud sync status, indexing coverage |
| Documentation | MCP integration guides and setup instructions |
cd dashboard
pnpm install
pnpm run build # Production build
pnpm run dev # Development serverCodeAtlas AI includes a comprehensive test suite with unit, integration, and e2e tests.
# Run all tests
pnpm test
# Run TypeScript type checking
npx tsc --noEmit --skipLibCheck
# Run dashboard tests
cd dashboard && pnpm testtests/
├── unit/
│ ├── scanner.test.ts # Security scanner logic
│ ├── repositories.test.ts # Auth & telemetry repository
│ ├── dreaming-service.test.ts # Dreaming service operations
│ ├── dreaming-routes.test.ts # Dream memory REST endpoints
│ └── memory-generator.test.ts # Memory documentation generator
├── integration/
│ ├── api.test.ts # REST API endpoints
│ ├── mcp.test.ts # MCP tool execution
│ ├── database.test.ts # Oracle DB operations
│ ├── multi-tenant.test.ts # Tenant isolation
│ ├── project-deletion.test.ts # Project cleanup flow
│ ├── discovery.test.ts # Project discovery
│ ├── settings.test.ts # Indexing settings API
│ └── watcher.test.ts # File watcher
└── e2e/
└── scan-flow.test.ts # End-to-end analysis flowContributions are welcome! Here's how you can help:
git checkout -b feature/my-featuregit commit -am 'Add my feature'git push origin feature/my-featurepnpm testThis project is licensed under the MIT License — see the LICENSE file for details.
MIT License
Copyright (c) 2026 GiauPhan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
...<p align="center"> Built with ❤️ by <a href="https://github.com/giauphan">GiauPhan</a><br> Powered by <a href="https://www.oracle.com/database/">Oracle 26ai</a> · <a href="https://www.nvidia.com/en-us/ai/">NVIDIA NIM</a> · <a href="https://firebase.google.com/">Firebase</a><br> <a href="https://github.com/giauphan/codeatlas-platform">GitHub</a> · <a href="https://www.npmjs.com/package/codeatlas-enterprise">npm</a> · <a href="https://github.com/giauphan/codeatlas-platform/issues">Issues</a> </p>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.