Browse Source

GHCP — Crawl: Ex0 Bootstrap scaffolding

- 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
martin-vladkov 5 months ago
parent
commit
d2c913a723
  1. 33
      .copilot-track/crawl/README.md
  2. 31
      ai-track-docs/SYSTEM-OVERVIEW.md
  3. 34
      ai-track-docs/architecture.mmd
  4. 47
      ai-track-docs/build-test.md

33
.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.

31
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

34
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

47
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
Loading…
Cancel
Save