Files
amayo/.github/copilot-instructions.md
shni 67643595f3 feat: add TypeScript type checking task to VSCode configuration
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
2025-10-07 22:17:03 -05:00

62 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🧠 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.js` as 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 projects internal reference file `example.ts.txt`
> If discrepancies exist, assume `example.ts.txt` and 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](https://discordjs.guide)
- [discord.js GitHub Repository](https://github.com/discordjs/discord.js)
- [Discord API Types GitHub](https://github.com/discordjs/discord-api-types)
- [Discord Developer Documentation](https://discord.com/developers/docs/intro)
> ⚠️ 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 `GameAreaLevel` can 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 Appwrites SDK.
---
## 5. Validation
Before finalizing any generated code or type updates:
- Run TypeScript validation to ensure type correctness:
```bash
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