@@ -10,17 +10,39 @@ It serves as the underlying data engine for **ObjectOS**, but functions perfectl
1010
1111## 2. Architecture & Directory Structure
1212
13- We use ** Turborepo ** + ** PNPM Workspaces** .
13+ We use ** PNPM Workspaces** organized in a monorepo structure .
1414
15+ ### Foundation Layer (Core Abstractions)
1516| Path | Package Name | Environment | Role | Description |
1617| --- | --- | --- | --- | --- |
17- | ` packages/types ` | ` @objectql/types ` | ** Universal** | ** The Contract** | Pure TS Interfaces, Enums, and Error Classes. ** No deps.** |
18- | ` packages/core ` | ` @objectql/core ` | ** Universal** | ** The Engine** | Main entry point (` ObjectQL ` class). Connects Drivers & Registry. |
19- | ` packages/driver-sql ` | ` @objectql/driver-sql ` | ** Node.js** | ** The Adapter** | SQL implementation (SQLite/Postgres/MySQL) via Knex. |
20- | ` packages/driver-mongo ` | ` @objectql/driver-mongo ` | ** Node.js** | ** The Adapter** | MongoDB implementation. |
21- | ` packages/server ` | ` @objectql/server ` | ** Node.js** | ** The Adapter** | HTTP Server Adapter for ObjectQL API. |
22- | ` packages/cli ` | ` @objectql/cli ` | ** Node.js** | ** The Tools** | CLI for validation and migration. |
23- | ` packages/studio ` | ` @objectql/studio ` | ** Browser** | ** The UI** | Web-based admin studio for data management. |
18+ | ` packages/foundation/types ` | ` @objectql/types ` | ** Universal** | ** The Contract** | Pure TS Interfaces, Enums, and Error Classes. ** No deps.** |
19+ | ` packages/foundation/core ` | ` @objectql/core ` | ** Universal** | ** The Engine** | Main runtime (` ObjectQL ` class, ` Validator ` , ` Repository ` ). Orchestrates drivers. |
20+ | ` packages/foundation/platform-node ` | ` @objectql/platform-node ` | ** Node.js** | ** Platform Utils** | Node.js-specific features: file-based metadata loader, plugin system. |
21+
22+ ### Drivers Layer (Database Adapters)
23+ | Path | Package Name | Environment | Role | Description |
24+ | --- | --- | --- | --- | --- |
25+ | ` packages/drivers/sql ` | ` @objectql/driver-sql ` | ** Node.js** | ** SQL Adapter** | SQL implementation (SQLite/Postgres/MySQL) via Knex with JSONB support. |
26+ | ` packages/drivers/mongo ` | ` @objectql/driver-mongo ` | ** Node.js** | ** NoSQL Adapter** | MongoDB implementation with aggregation pipeline support. |
27+ | ` packages/drivers/sdk ` | ` @objectql/sdk ` | ** Universal** | ** Remote Adapter** | HTTP/Remote driver for accessing ObjectQL servers from clients. |
28+
29+ ### Runtime Layer (Servers & APIs)
30+ | Path | Package Name | Environment | Role | Description |
31+ | --- | --- | --- | --- | --- |
32+ | ` packages/runtime/server ` | ` @objectql/server ` | ** Node.js** | ** HTTP Server** | HTTP Server Adapter with REST and JSON-RPC API handlers. |
33+
34+ ### Tools Layer (Developer Experience)
35+ | Path | Package Name | Environment | Role | Description |
36+ | --- | --- | --- | --- | --- |
37+ | ` packages/tools/cli ` | ` @objectql/cli ` | ** Node.js** | ** CLI Tools** | Command-line tools for project init, validation, migration, and studio. |
38+ | ` packages/tools/studio ` | ` @objectql/studio ` | ** Browser** | ** Admin UI** | Web-based admin console for database management and schema inspection. |
39+
40+ ### Starters & Examples
41+ | Path | Package Name | Environment | Role | Description |
42+ | --- | --- | --- | --- | --- |
43+ | ` packages/starters/basic ` | ` @objectql/starter-basic ` | ** Node.js** | ** Template** | Minimal script example for getting started. |
44+ | ` packages/starters/enterprise ` | ` @objectql/starter-enterprise ` | ** Node.js** | ** Template** | Enterprise-scale metadata organization pattern. |
45+ | ` packages/starters/express-api ` | ` @objectql/starter-express-api ` | ** Node.js** | ** Template** | Express.js server integration example. |
2446
2547## 3. Dependency Graph & Constraints (CRITICAL)
2648
0 commit comments