# Development Workflow

## Before Coding

Read:

1. `README.md`
2. `AGENTS.md`
3. `docs/ARCHITECTURE.md`
4. `docs/AGENTIC_WORKFLOW.md`
5. `docs/DEVELOPMENT_WORKFLOW.md`
6. Relevant feature spec in `docs/FEATURES/`
7. Relevant task file in `docs/TASKS/`

## Backend

```bash
./scripts/start-infrastructure.sh
./scripts/dev-backend.sh
```

Backend URL:

```txt
http://localhost:5080
```

Swagger UI:

```txt
http://localhost:5080/api
```

## Frontend

```bash
./scripts/dev-frontend.sh
```

Frontend URL:

```txt
http://localhost:5173
```

## API Model Sync

When backend request/response models change:

```bash
./scripts/update-openapi.sh
```

Then check frontend build errors.

## Validation

```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
cd frontend && npm run build
```

## Commit Discipline

Use Conventional Commits:

```bash
git commit -m "feat: add content approval request flow"
git commit -m "docs: add agentic workflow tasks"
```
