Architecture Analysis
Rekhic's local architecture analysis engine parses source code, package manifests, and documentation to extract a structured Architecture Model.
What Rekhic Detects
The engine categorizes findings into three primary dimensions:
1. Technologies
Rekhic detects the specific libraries, platforms, and runtimes used in the project:
- Frameworks & Runtimes: Next.js, React, Node.js, Spring Boot, FastAPI, Django, Go.
- Databases & Stores: PostgreSQL, MySQL, MongoDB, Redis, SQLite, DynamoDB.
- Messaging & Streaming: Kafka, RabbitMQ, SQS, Redis Pub/Sub.
- Cloud & Infrastructure: Docker, Kubernetes, AWS, GCP, Vercel.
2. Components
Components are the physical or logical building blocks of the architecture:
- Applications: Web clients, mobile apps, single-page applications.
- Services & APIs: Microservices, backend HTTP APIs, background jobs.
- Data Stores: Databases, distributed caches, document repositories.
- External Systems: Third-party APIs (Stripe, GitHub, Twilio, SendGrid).
3. Relationships & Data Flow
The engine attempts to infer communication pathways:
Frontend Application -> API Gateway(HTTP/REST or GraphQL)API Gateway -> Backend Service(internal routing or gRPC)Service -> Database(queries, updates, transactions)Service -> External API(outbound webhooks or client SDKs)
Inferred Heuristics: Review Before Treating as Truth
Engineering Disclosure: Automated architecture detection is an inferred analysis.
Because static analysis operates without dynamic runtime monitoring or distributed tracing, certain relationships are inferred from manifest dependencies and directory naming conventions.
For example, finding both express and pg (node-postgres) in a package.json file leads Rekhic to infer that the Express service connects to PostgreSQL.
While this covers typical architecture patterns accurately and saves engineers hours of manual layout scaffolding, you should always inspect and refine the generated diagram on the canvas to reflect your system's exact production nuances.
Next: Learn how generated nodes preserve provenance in Source References.