mirror of https://github.com/Squidex/squidex.git
Browse Source
- ai-track-docs/SYSTEM-OVERVIEW.md (placeholder) - ai-track-docs/build-test.md (placeholder) - ai-track-docs/architecture.mmd (placeholder) - .copilot-track/crawl/README.md (crawl phase guide)pull/1319/head
4 changed files with 145 additions and 0 deletions
@ -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. |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
Loading…
Reference in new issue