Skip to content

Commit cbda894

Browse files
Update project metadata
1 parent 470ca37 commit cbda894

2 files changed

Lines changed: 23 additions & 38 deletions

File tree

.github/copilot-instructions.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copilot Instructions
2+
3+
- **Purpose & stack**: ASP.NET Core 9 web app in [src/XtremeIdiots.Portal.Web/XtremeIdiots.Portal.Web.csproj](src/XtremeIdiots.Portal.Web/XtremeIdiots.Portal.Web.csproj). Uses Razor runtime compilation in Debug, build-time in Release, Application Insights, Azure App Configuration, Entity Framework Core identity store, and Data Protection in SQL. External clients target the Repository API, Servers Integration API, and GeoLocation API.
4+
- **Build/test loop**: Standard sequence: `dotnet clean src/XtremeIdiots.Portal.Web/XtremeIdiots.Portal.Web.csproj`; `dotnet build src/XtremeIdiots.Portal.Web/XtremeIdiots.Portal.Web.csproj`; `dotnet test src --filter "FullyQualifiedName!~IntegrationTests"`. Release builds treat warnings as errors and precompile Razor.
5+
- **Front-end assets**: SCSS lives under `Styles/` with the structure documented in [docs/css-architecture-guide.md](docs/css-architecture-guide.md). `npm install` runs automatically on first build; SCSS compiles during `dotnet build` via `npm run build:css:dev` (Debug) or `npm run build:css` (Release). For live editing run `npm run watch:css` from `src/XtremeIdiots.Portal.Web`.
6+
- **Docs to consult**: CI/CD and branch rules in [docs/development-workflows.md](docs/development-workflows.md); data table patterns in [docs/DATATABLE-IMPLEMENTATION-GUIDE.md](docs/DATATABLE-IMPLEMENTATION-GUIDE.md); permissions nuances in [docs/credentials-permissions-matrix.md](docs/credentials-permissions-matrix.md); manual deployment/config steps in [docs/manual-steps.md](docs/manual-steps.md).
7+
- **Workflows & labels**: GitHub Actions pipelines are in `.github/workflows` (build-and-test, pr-verify, deploy-dev, deploy-prd, codequality, copilot-setup-steps, dependabot-automerge). PRs run dev Terraform plans; prod plans require the `run-prd-plan` label; copilot/* and dependabot PRs skip plans unless labeled.
8+
- **App configuration**: Sensitive settings are expected via user secrets (see `UserSecretsId` in the csproj) or environment variables. Azure App Configuration and managed identity are supported; Application Insights connection strings should be present for telemetry.
9+
- **Common troubleshooting**: If SCSS fails to compile, run `npm install` then `npm run build:css:dev`. If Razor view issues arise, enable `ValidateRazor=true` on build to precompile views. Identity/claims issues often map back to the matrices in [docs/credentials-permissions-matrix.md](docs/credentials-permissions-matrix.md).
10+
- **Testing scope**: Integration tests are filtered out by default; keep new tests in `src/XtremeIdiots.Portal.Web.Tests` and respect the existing filter unless infrastructure is available.

README.md

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,27 @@
11
# XtremeIdiots Portal - Website
2-
2+
[![Build and Test](https://github.com/frasermolyneux/portal-web/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/build-and-test.yml)
33
[![Code Quality](https://github.com/frasermolyneux/portal-web/actions/workflows/codequality.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/codequality.yml)
44
[![PR Verify](https://github.com/frasermolyneux/portal-web/actions/workflows/pr-verify.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/pr-verify.yml)
55
[![Deploy Dev](https://github.com/frasermolyneux/portal-web/actions/workflows/deploy-dev.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/deploy-dev.yml)
6-
[![Deploy PRD](https://github.com/frasermolyneux/portal-web/actions/workflows/deploy-prd.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/deploy-prd.yml)
6+
[![Deploy Prd](https://github.com/frasermolyneux/portal-web/actions/workflows/deploy-prd.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/deploy-prd.yml)
7+
[![Copilot Setup Steps](https://github.com/frasermolyneux/portal-web/actions/workflows/copilot-setup-steps.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/copilot-setup-steps.yml)
8+
[![Dependabot Automerge](https://github.com/frasermolyneux/portal-web/actions/workflows/dependabot-automerge.yml/badge.svg)](https://github.com/frasermolyneux/portal-web/actions/workflows/dependabot-automerge.yml)
79

810
## Documentation
9-
10-
* [Development Workflows](/docs/development-workflows.md) - Branch strategy, CI/CD triggers, and development flows
11-
* [Manual Steps](/docs/manual-steps.md) - Post-deployment configuration steps
12-
13-
---
11+
* [Credentials Permissions Matrix](/docs/credentials-permissions-matrix.md) - Access and permission mapping for portal services and client roles.
12+
* [CSS Architecture Guide](/docs/css-architecture-guide.md) - Styling conventions, structure, and tooling for the web UI.
13+
* [Datatable Implementation Guide](/docs/DATATABLE-IMPLEMENTATION-GUIDE.md) - Patterns for server-backed data tables and pagination.
14+
* [Development Workflows](/docs/development-workflows.md) - Branch strategy, CI/CD triggers, and development flows.
15+
* [Identity Manual Run](/docs/identity-manual-run.sql) - Manual SQL to validate or repair identity artifacts.
16+
* [Manual Steps](/docs/manual-steps.md) - Post-deployment configuration steps.
17+
* [Mobile Table Improvements](/docs/mobile-table-improvements.md) - Responsive table patterns and UX notes.
18+
* [ProxyCheck Integration](/docs/proxycheck-integration.md) - Anti-proxy integration notes and configuration.
1419

1520
## Overview
16-
17-
This repository contains XtremeIdiots Portal solution that provides player and game server management for the XtremeIdiots community. There are several integrations with the game servers to collect player data and services to enforce player bans.
18-
19-
The primary users for the website are the community admins that perform the game server and player management.
20-
21-
---
22-
23-
## Related Projects
24-
25-
* [frasermolyneux/azure-landing-zones](https://github.com/frasermolyneux/azure-landing-zones) - The deploy service principal is managed by this project, as is the workload subscription.
26-
* [frasermolyneux/platform-connectivity](https://github.com/frasermolyneux/platform-connectivity) - The platform connectivity project provides DNS and Azure Front Door shared resources.
27-
* [frasermolyneux/platform-strategic-services](https://github.com/frasermolyneux/platform-strategic-services) - The platform strategic services project provides a shared services such as API Management and App Service Plans.
28-
29-
---
30-
31-
## Solution
32-
33-
TODO
34-
35-
---
36-
37-
## Azure Pipelines
38-
39-
The `one-pipeline` is within the `.azure-pipelines` folder and output is visible on the [frasermolyneux/Personal-Public](https://dev.azure.com/frasermolyneux/XtremeIdiots-Public/_build?definitionId=177) Azure DevOps project.
40-
The `.github` folder contains `dependabot` configuration and some code quality workflows.
41-
42-
---
21+
Web front end for the XtremeIdiots Portal providing player and game server management for community admins. Built on ASP.NET Core with server-rendered views, shared UI components, and API integrations to enforce bans, manage servers, and surface telemetry. Uses Application Insights, AuthZ/role checks, and defensive anti-proxy validation to protect sessions. CI/CD runs via GitHub Actions with OIDC deployments to Azure App Service and supporting resources provisioned by Terraform.
4322

4423
## Contributing
45-
4624
Please read the [contributing](CONTRIBUTING.md) guidance; this is a learning and development project.
4725

48-
---
49-
5026
## Security
51-
5227
Please read the [security](SECURITY.md) guidance; I am always open to security feedback through email or opening an issue.

0 commit comments

Comments
 (0)