

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# Copilot Instructions: MPA-First Guidelines Repository23## Repository Purpose45This is a **reference documentation repository** containing MPA (Multi-Page Application) development guidelines for AI coding agents. Users copy these guidelines into their own projects to teach AI tools (GitHub Copilot, Cursor, Claude, Codex, etc.) to generate MPA-first code instead of defaulting to SPA frameworks.67## Key Files & Their Roles89**Base rule files:**10- **`mpa-rules.md`** - Comprehensive, strict MPA-first mandate with strict PHP & vanilla JS only. This is the primary reference document.1112- **`mpa-relaxed-rules.md`** - Variant ruleset allowing full use of PHP & jQuery for progressive enhancement while maintaining MPA architecture.1314**Assistant-specific base instruction files:**15- **`.github/agents/mpa-strict-agent.md`** - Copilot agent-specific instructions file based on `mpa-rules.md` for strict MPA adherence.1617- **`.github/agents/mpa-relaxed-agent.md`** - Copilot agent-specific instructions file based on `mpa-relaxed-rules.md` for a more lenient MPA approach.1819**Documentation:**20- **`README.md`** - User-facing documentation explaining the problem, solution, and how to integrate these rules into AI coding workflows.2122## Writing Style & Tone2324When editing these guidelines:2526- **Be authoritative and prescriptive** - Use "MUST" and "DO NOT" language. These are rules, not suggestions.27- **Provide concrete examples** - Every principle should have a code snippet showing the correct pattern.28- **Explain the "why"** - Help developers understand the philosophy, not just the mechanics.29- **Stay opinionated** - The entire premise is rejecting the SPA-default paradigm. Don't hedge or equivocate.3031## Content Maintenance Patterns3233### Adding New Rules or Sections34351. **Keep examples realistic** - Use patterns that would appear in actual projects362. **Maintain parallelism** - Both `mpa-rules.*` with `.github/agents/mpa-strict-agent.md` and `mpa-relaxed-rules.*` with `.github/agents/mpa-relaxed-agent.md`37 should cover the same topics in the same order383. **Update the table of contents** - If you add major sections, ensure navigation is clear3940### Updating Existing Content4142- **Preserve the document structure** - The current flow (Prime Directive → HTML → CSS → PHP → JS → Security) is intentional43- **Keep code examples modern** - Target current 2025-26 web standards (PHP 8.1+, ES2020+, modern CSS)44- **Maintain accessibility focus** - A11Y is not optional in these guidelines45- **Update agent files in parallel** - When modifying base rule files, ensure corresponding assistant-specific files are updated to maintain consistency, keeping them concise and directive for AI prompts4647## Technical Constraints4849- **Markdown formatting** - All rule files use standard markdown with fenced code blocks50- **No dependencies** - This is a pure documentation repository with no build tools or runtime51- **Git-friendly** - Keep line lengths reasonable for clean diffs5253## Philosophy to Preserve5455This repository champions:56571. **Platform-first thinking** - HTML, CSS, PHP, and browser APIs over JavaScript frameworks582. **Progressive enhancement** - Core functionality works without JS593. **Performance as a feature** - Fast load times from server-rendered HTML604. **SEO & accessibility by default** - Not bolted on as afterthoughts615. **Simplicity over novelty** - Boring, proven technology over the latest trends6263## Common Edits & How to Handle Them6465### "Should we add framework X?"66No. If it's a client-side SPA framework (React, Vue, Svelte, etc.), it's explicitly banned. Even if "everyone uses it."6768### "Can we include framework-based SSR?"69No. Next.js, Nuxt, SvelteKit, etc. are still SPA architectures at their core. True MPAs use traditional server-side rendering (PHP, Node.js + templates, Ruby, Python, etc.).7071### "What about Htmx/Alpine.js/other minimal JS libraries?"72These could be mentioned as acceptable enhancement tools since they embrace progressive enhancement, but only in the relaxed variant. The strict `mpa-rules.md` stays vanilla-only.7374## When Users Request Changes7576If a user wants to add content:77- Ask what problem they're solving78- Ensure it aligns with MPA-first principles79- Add concrete examples, not abstract advice80- Update both variants if applicable8182If a user wants to make rules more lenient:83- Consider whether it compromises the MPA architecture (banned)84- Or just adds a helpful tool for enhancement (potentially allowed in relaxed variant)8586## Documentation Standards8788- **Use semantic HTML examples** - Always show proper `<header>`, `<main>`, `<article>`, etc.89- **Include accessibility attributes** - `alt` text, `aria-label`, proper `<label>` associations90- **Show security patterns** - CSRF tokens, parameterized queries, CSP headers91- **Demonstrate modern CSS** - Grid, Flexbox, Custom Properties, View Transitions9293## Adapting for Different AI Assistants9495When integrating these guidelines into other AI tools (e.g., Cursor, Claude, Codex), prioritize the assistant-specific files (e.g., `.github/agents/mpa-strict-agent.md`) as the primary source of truth for prompts. These are condensed and directive, making them ideal for AI consumption. Fork and customize them for the target assistant's format, maintaining parallelism with the base rule files. Test integrations to ensure strict adherence to MPA principles and progressive enhancement.96
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| RealistSec/mpa-first-guidelines.cursor/rules/mpa-strict-rules.mdc · 10 | Cursor rules | buildstylearchsecurity+4 | 66/100 | 14 days ago | |
| RealistSec/mpa-first-guidelines.cursor/rules/mpa-relaxed-rules.mdc · 10 | Cursor rules | stylearchsecurityui+2 | 77/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/realistsec-mpa-first-guidelines-github-copilot-instructions)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.