Repository navigation
Components and boundaries
Generated from
docs/explanation/components.md. Edit that file in the repository: changes made in the wiki are overwritten.
These views explain the intended version 1 responsibilities and communication paths. They are logical architecture views, not a claim about a deployed environment. The current local diagram shows the existing Aspire scaffold.
Players and officers use one platform backed by Discord identity and game observations. The addon and companion mediate the WoW connection; the game does not send website requests directly.
Source: Mermaid.
The website and bot share an application programming interface (API). The companion uploads completed snapshots; the API owns shared state and readiness decisions.
Source: Mermaid.
The website's Discord edge represents the sign-in journey. Token exchange and identity checks belong to the server-side workflow shown in the sign-in sequence. The PostgreSQL box records the chosen persistence technology (ADR-0029), without inventing a production hosting service.
Transport and authorization route requests to domain-specific workflows. Readiness is a shared policy; delivery coordination handles reminders and material changes.
Source: Mermaid.
These components fit the existing Clean Architecture boundaries:
- Containers adapt website, bot, and companion requests.
- Application coordinates commands, queries, validation, and external contracts.
- Domain holds character, community, signup, and roster rules.
- Infrastructure implements persistence and external adapters.
A box is a responsibility, not a proposed microservice. No additional message broker or scheduling product is selected by this drawing.
The addon observes in-game state and produces saved data. The companion reads complete files from approved folders and uploads them with revocable authorization.
Source: Mermaid.
The parser treats SavedVariables as data and does not execute arbitrary Lua from a file. The roster importer receives an officer-exported roster; it is not an inbound HTTP connection to the addon. Invitation controls require an officer action and must respect the supported client's game APIs.
- Product scope
- Architecture
- Visual guide
- Diagram maintenance
- Review a pull request
- Design a screen
- Test the addon
- Set up Discord
- Provision the server
- Glossary
- API contracts
- Addon snapshot contract
- Project automation
- Work management specification
- Warmane lockout evidence
- Planning
-
Decisions
- Index
- Foundation and authentication
- Character synchronization
- Documentation publication
- Protected automatic squash merges
- Viewed files before approval
- Operator review before a peer
- Auto-merge when ready
- Merge with the workflow token
- Meaningful review comments
- Read queries from the write database
- Website session and API trust
- Interactive Server rendering with Radzen
- Scalar API reference
- GitHub Wiki mirror
- Coverage gate
- Work item hierarchy
- Penpot mockups
- Generated Penpot mockups
- Dark design system
- SonarCloud findings
- Addon roster import
- Discord role checks
- Discord servers at sign-in
- Community roles
- Work item classification
- Work management specification adoption
- OVH test environment
- Environment secrets
- PostgreSQL
- Companion pairing
- WoW addon in Lua
- Windows companion in Avalonia
- Companion in the Microsoft Store
- Workflows on a self-hosted runner