feat: implement area metadata blocks in game commands for enhanced area details fix: refactor game commands to utilize new area metadata blocks and improve code consistency feat: enhance Appwrite API integration with additional collections and storage support refactor: update componentsV2 to support image blocks in display rendering
2.9 KiB
2.9 KiB
🧠 Custom Instructions for GitHub Copilot
Project Context: Discord Bot + Game System Integration (discord.js 15.0.0-dev.1759363313-f510b5ffa)
1. Primary Source of Truth
- Always treat the installed package in
node_modules/discord.jsas the definitive source of API behavior and typings. - Do not rely solely on public documentation or examples; cross-verify any methods, classes, or type names directly from:
- The source code and declaration files inside
node_modules/discord.js - The project’s internal reference file
example.ts.txt
- The source code and declaration files inside
If discrepancies exist, assume
example.ts.txtand local types reflect the intended experimental API for this build.
2. Secondary Sources
Use these only when confirmed to still be valid for the current development version:
- Discord.js Guide
- discord.js GitHub Repository
- Discord API Types GitHub
- Discord Developer Documentation
⚠️ Mark explicitly when a snippet or concept originates from official docs and may be outdated.
3. Code & Type Analysis Scope
Copilot must investigate, interpret, and reference the following project directories for all game logic and command definitions:
src/game/**src/commands/game/**src/commands/admin/**
Tasks:
- Analyze all game-related classes, interfaces, and types, including metadata structures (e.g.,
GameAreaLevel,GameArea,ScheduledMobAttack, and mission types). - Identify how these interact with command creation and execution flows.
- Detect missing type declarations, inconsistent imports, or unreferenced type usages.
- Evaluate whether metadata in
GameAreaLevelcan safely include additional properties (e.g.,image,referenceImage, or similar) for visual mapping of game areas. - Verify that all related commands and editors properly support or update those fields.
4. Appwrite Integration Considerations
While analyzing the above directories, also check for:
- Possible migration paths for mission and attack scheduling logic (
ScheduledMobAttack, mission trackers) into Appwrite Functions or Appwrite Realtime for better live synchronization and event-driven execution. - Type definitions or data structures that may need adaptation for Appwrite’s SDK.
5. Validation
Before finalizing any generated code or type updates:
- Run TypeScript validation to ensure type correctness:
npx tsc --noEmit
## 6. Communication Protocol
When Copilot suggests or modifies code, it must explicitly indicate the origin of the reference:
- 🟩 node_modules → Authoritative source (preferred)
- 🟦 example.ts.txt → Experimental / confirmed local reference
- 🟨 Official docs → Secondary, possibly outdated source