From 32094fbc9f8fa85970ebb4447f9cb062e5091adf Mon Sep 17 00:00:00 2001 From: retardgerman <78982850+retardgerman@users.noreply.github.com> Date: Fri, 5 Sep 2025 16:10:16 +0200 Subject: [PATCH] docs: add copilot-instructions.md for context-aware AI suggestions (#1035) Co-authored-by: lostb1t --- .github/copilot-instructions.md | 60 +++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 00000000..c15d5500 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,60 @@ +# Copilot Instructions for Streamyfin + +## Project Overview + +Streamyfin is a cross-platform Jellyfin video streaming client built with Expo (React Native). +It supports mobile (iOS/Android) and TV platforms, and integrates with Jellyfin and Jellyseerr APIs. + +## Main Technologies + +- React Native (Expo) +- TypeScript +- React Query +- Jotai (state management) +- Jellyfin SDK (TypeScript) +- BiomeJS (code formatting/linting) +- EAS (Expo Application Services) +- Shell scripting (for automation) +- GitHub Actions (CI/CD) + +## Code Structure + +- `app/` – Main application code (screens, navigation, etc.) +- `components/` – Reusable UI components +- `providers/` – Context and API providers (e.g., JellyfinProvider.tsx) +- `utils/` – Utility functions and atoms +- `assets/` – Images and static assets +- `scripts/` – Automation scripts (Node.js, Bash) +- `plugins/` – Expo/Metro plugins +- `README.md` – Project documentation + +## Coding Conventions + +- Use TypeScript for all new code. +- Prefer functional React components. +- Use hooks for state and side effects. +- Use Jotai for global state. +- Use React Query for data fetching/caching. +- Use BiomeJS for formatting and linting. +- Follow the established folder structure for screens/components. + +## API Usage + +- Use the Jellyfin SDK for all server interactions. +- Use the `apiAtom` and `userAtom` from `JellyfinProvider` for authenticated API calls. +- For navigation, use `expo-router`. + +## Commit Messages + +- Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) (e.g., `feat:`, `fix:`, `chore:`). +- Example: `feat(player): add Chromecast support` + +## Special Instructions + +- When suggesting code, prefer using existing atoms, hooks, and utility functions. +- When adding new features, ensure they are accessible via both mobile and TV navigation if relevant. +- When updating dependencies or scripts, check for compatibility with Expo and EAS. + +--- + +**Copilot: Please use these instructions to provide context-aware suggestions and code completions for this repository.** \ No newline at end of file