# MVC-Starter - Source Tree Analysis

**Date:** 2026-03-11T11:59:39Z

## Overview

The repository is organized as a Classic ASP MVC starter with a clear split between deploy entry, shared runtime, application code, database assets, and operational tooling.

## Complete Directory Structure

```text
MVC-Starter/
├── app/                    # Application-specific MVC layer
│   ├── controllers/        # Controllers and controller includes
│   ├── models/             # Intended POBO/model location (currently empty)
│   ├── repositories/       # Intended repository location (currently empty)
│   └── views/              # Server-rendered ASP views
│       ├── Error/
│       ├── Home/
│       └── shared/
├── core/                   # Framework/runtime libraries and dispatcher
├── db/                     # Database file and future migrations
│   ├── migrations/
│   └── webdata.accdb
├── docs/                   # Generated brownfield documentation
├── public/                 # IIS web root and request entrypoint
│   ├── Default.asp
│   └── web.config
├── scripts/                # Scaffolding and migration tooling
├── _bmad/                  # Installed BMAD framework assets
├── _bmad-output/           # Generated BMAD workflow artifacts
└── .github/                # Copilot/BMAD prompt and agent support files
```

## Critical Directories

### `public/`

Purpose: deploy-facing web root and request bootstrap.

- Contains the front controller `Default.asp`
- Contains `web.config` with rewrite and runtime config
- Entry point for all non-static requests

### `core/`

Purpose: shared framework/runtime layer.

- Contains dispatcher, router, controller registry, helpers, DAL, migrations, flash helpers, and utility libraries
- High-blast-radius area for architectural changes

### `app/`

Purpose: project-specific extension surface.

- `controllers/` contains active controllers and include registration
- `views/` contains page templates and shared layout files
- `models/` and `repositories/` are intended generator targets

### `db/`

Purpose: database storage and schema evolution support.

- Includes `webdata.accdb`
- Includes `migrations/` directory for migration files

### `scripts/`

Purpose: development and operations support tooling.

- Controller generator
- Repository/POBO generator
- Migration generator
- Migration runner

## Entry Points

- Main request entry: `public/Default.asp`
- Runtime bootstrap: `core/autoload_core.asp`
- MVC dispatcher: `core/mvc.asp`
- Migration tooling entry: `scripts/runMigrations.vbs`

## Configuration Files

- `public/web.config` - IIS routing and runtime application settings
- `README.md` - setup and workflow guidance
- `.github/copilot-instructions.md` - BMAD/Copilot workflow guidance for repo maintenance

## File Organization Patterns

- Request handling starts in `public/`, not `app/`
- Shared reusable runtime code lives in `core/`
- Feature-specific behavior belongs in `app/`
- Operational scripts live outside the runtime in `scripts/`
- Generated documentation is isolated under `docs/`

## Development Notes

- This structure assumes IIS deployment with `public/` as the site root.
- Future application growth is expected to add controllers, views, models, repositories, and migrations without changing the overall directory shape.
