diff --git a/.copilot-track/crawl/README.md b/.copilot-track/crawl/README.md new file mode 100644 index 000000000..8adf81bad --- /dev/null +++ b/.copilot-track/crawl/README.md @@ -0,0 +1,33 @@ +# Copilot Track — Crawl Phase + +This directory stores evidence, prompt snippets, and notes gathered during the **Crawl** phase of the AI-track course. + +--- + +## What is the Crawl phase? + +The track is structured as **Crawl → Walk → Run**: + +| Phase | Goal | +|-------|------| +| **Crawl** | Understand the codebase; build mental models; confirm dev toolchain works | +| **Walk** | Make guided changes with Copilot assistance; write tests | +| **Run** | Independent features, refactors, and PR-ready contributions | + +--- + +## Prompt usage + +Save the prompts you used with Copilot here: + +``` +.copilot-track/crawl/ + lesson-01.md ← prompts + notes for lesson 1 + lesson-02.md + ... +``` + +Each file should contain: +1. The **prompt** you sent to Copilot (verbatim or paraphrased). +2. A brief **summary** of what worked / didn't work. +3. Any **follow-up prompts** needed to reach the final answer. diff --git a/ai-track-docs/SYSTEM-OVERVIEW.md b/ai-track-docs/SYSTEM-OVERVIEW.md new file mode 100644 index 000000000..fdceaf411 --- /dev/null +++ b/ai-track-docs/SYSTEM-OVERVIEW.md @@ -0,0 +1,31 @@ +# System Overview + +> **Status:** Placeholder — fill in during the Crawl phase. + +## What is Squidex? + +Squidex is an open-source headless CMS built on ASP.NET Core (backend) and Angular (frontend). + +## Top-level directories + +| Directory | Description | +|-----------|-------------| +| `backend/` | ASP.NET Core solution — domain, infrastructure, API | +| `frontend/` | Angular SPA | +| `sdk/` | Preact-based plugin/widget SDK | +| `tools/e2e/` | Playwright end-to-end tests | +| `tools/k6/` | k6 load tests | +| `ai-track-docs/` | AI-track reference docs (this folder) | +| `.copilot-track/` | Copilot-track helper prompts & crawl evidence | + +## Key external dependencies + +- MongoDB (primary datastore) or Entity Framework (SQL alternative) +- ASP.NET Core Identity / OpenID Connect +- Angular CLI, Vitest (unit), Playwright (e2e) + +## TODO — complete during Crawl + +- [ ] List major bounded contexts / domain aggregates +- [ ] Document auth flow +- [ ] Note any feature flags or environment variables required for local dev diff --git a/ai-track-docs/architecture.mmd b/ai-track-docs/architecture.mmd new file mode 100644 index 000000000..9a1e825fd --- /dev/null +++ b/ai-track-docs/architecture.mmd @@ -0,0 +1,34 @@ +%% architecture.mmd — Squidex high-level component diagram +%% Status: Placeholder — refine during the Crawl phase. +%% +%% Render with: mmdc -i architecture.mmd -o architecture.svg + +graph TD + Client["Browser / Mobile Client"] + + subgraph Frontend["frontend/ (Angular SPA)"] + AngularApp["Angular App"] + end + + subgraph API["backend/src/Squidex (ASP.NET Core)"] + WebAPI["REST & GraphQL API"] + Auth["OpenID Connect / Identity"] + Domain["Domain Layer"] + Infra["Infrastructure Layer"] + end + + subgraph DataStores["Data Stores"] + Mongo["MongoDB"] + EF["SQL / Entity Framework (optional)"] + end + + Client -->|HTTPS| AngularApp + Client -->|HTTPS| WebAPI + AngularApp -->|REST / GraphQL| WebAPI + WebAPI --> Auth + WebAPI --> Domain + Domain --> Infra + Infra --> Mongo + Infra -.->|alternative| EF + + %% TODO during Crawl: add event bus, asset storage, caching nodes diff --git a/ai-track-docs/build-test.md b/ai-track-docs/build-test.md new file mode 100644 index 000000000..c76add548 --- /dev/null +++ b/ai-track-docs/build-test.md @@ -0,0 +1,47 @@ +# Build & Test Reference + +> **Status:** Placeholder — verify commands during the Crawl phase and update. + +## Backend (ASP.NET Core) + +```bash +# Restore & build +cd backend +dotnet restore Squidex.slnx +dotnet build Squidex.slnx + +# Run unit tests +dotnet test tests/tests.sln + +# Run with coverage +cd tests && pwsh RunCoverage.ps1 +``` + +## Frontend (Angular) + +```bash +cd frontend +npm ci +npm run build +npm test +``` + +## End-to-end (Playwright) + +```bash +cd tools/e2e +npm ci +npx playwright test +``` + +## Docker / local stack + +```bash +docker build -t squidex:local . +``` + +## TODO — complete during Crawl + +- [ ] Confirm env vars needed for `dotnet run` +- [ ] Add any seed-data or migration steps +- [ ] Note CI pipeline entry points