mirror of
https://github.com/Benexl/FastAnime.git
synced 2025-12-05 20:40:09 -08:00
docs: update copilot instructions
This commit is contained in:
329
.github/copilot-instructions.md
vendored
329
.github/copilot-instructions.md
vendored
@@ -82,7 +82,7 @@ Follow these patterns to ensure your contributions fit the existing architecture
|
||||
4. The config loader and CLI option generation will handle the rest automatically.
|
||||
|
||||
## 5. Code Style and Conventions
|
||||
* **Style:** `black` for formatting, `ruff` for linting. The `pre-commit` hooks handle this.
|
||||
* **Style:** `ruff` for formatting, `ruff` for linting. The `pre-commit` hooks handle this.
|
||||
* **Types:** Full type hinting is mandatory. All code must pass `pyright`.
|
||||
* **Commits:** Adhere to the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard.
|
||||
* **Logging:** Use Python's `logging` module. Do not use `print()` for debugging or informational messages in library or service code.
|
||||
@@ -99,330 +99,3 @@ Follow these patterns to ensure your contributions fit the existing architecture
|
||||
* ❌ **DON'T** make direct `httpx` calls outside of a `provider` or `media_api` library.
|
||||
* ❌ **DON'T** introduce new dependencies without updating `pyproject.toml` and discussing it first.
|
||||
|
||||
## 7. Current Codebase file structure
|
||||
```
|
||||
.
|
||||
├── bundle
|
||||
│ └── Dockerfile
|
||||
├── completions
|
||||
│ ├── fastanime.bash
|
||||
│ ├── fastanime.fish
|
||||
│ └── fastanime.zsh
|
||||
├── CONTRIBUTIONS.md
|
||||
├── dev
|
||||
│ ├── generate_completions.sh
|
||||
│ ├── generated
|
||||
│ │ └── anilist
|
||||
│ │ └── tags.json
|
||||
│ └── make_release
|
||||
├── DISCLAIMER.md
|
||||
├── fa
|
||||
├── fastanime
|
||||
│ ├── assets
|
||||
│ │ ├── defaults
|
||||
│ │ │ ├── ascii-art
|
||||
│ │ │ ├── fzf-opts
|
||||
│ │ │ └── rofi-themes
|
||||
│ │ │ ├── confirm.rasi
|
||||
│ │ │ ├── input.rasi
|
||||
│ │ │ ├── main.rasi
|
||||
│ │ │ └── preview.rasi
|
||||
│ │ ├── graphql
|
||||
│ │ │ ├── allanime
|
||||
│ │ │ │ └── queries
|
||||
│ │ │ │ ├── anime.gql
|
||||
│ │ │ │ ├── episodes.gql
|
||||
│ │ │ │ └── search.gql
|
||||
│ │ │ └── anilist
|
||||
│ │ │ ├── mutations
|
||||
│ │ │ │ ├── delete-list-entry.gql
|
||||
│ │ │ │ ├── mark-read.gql
|
||||
│ │ │ │ └── media-list.gql
|
||||
│ │ │ └── queries
|
||||
│ │ │ ├── logged-in-user.gql
|
||||
│ │ │ ├── media-airing-schedule.gql
|
||||
│ │ │ ├── media-characters.gql
|
||||
│ │ │ ├── media-list.gql
|
||||
│ │ │ ├── media-list-item.gql
|
||||
│ │ │ ├── media-recommendations.gql
|
||||
│ │ │ ├── media-relations.gql
|
||||
│ │ │ ├── notifications.gql
|
||||
│ │ │ ├── reviews.gql
|
||||
│ │ │ ├── search.gql
|
||||
│ │ │ └── user-info.gql
|
||||
│ │ ├── icons
|
||||
│ │ │ ├── logo.ico
|
||||
│ │ │ └── logo.png
|
||||
│ │ ├── normalizer.json
|
||||
│ │ └── scripts
|
||||
│ │ └── fzf
|
||||
│ │ ├── airing-schedule-info.template.sh
|
||||
│ │ ├── airing-schedule-preview.template.sh
|
||||
│ │ ├── character-info.template.sh
|
||||
│ │ ├── character-preview.template.sh
|
||||
│ │ ├── dynamic-preview.template.sh
|
||||
│ │ ├── episode-info.template.sh
|
||||
│ │ ├── info.template.sh
|
||||
│ │ ├── preview.template.sh
|
||||
│ │ ├── review-info.template.sh
|
||||
│ │ ├── review-preview.template.sh
|
||||
│ │ └── search.template.sh
|
||||
│ ├── cli
|
||||
│ │ ├── cli.py
|
||||
│ │ ├── commands
|
||||
│ │ │ ├── anilist
|
||||
│ │ │ │ ├── cmd.py
|
||||
│ │ │ │ ├── commands
|
||||
│ │ │ │ │ ├── auth.py
|
||||
│ │ │ │ │ ├── download.py
|
||||
│ │ │ │ │ ├── __init__.py
|
||||
│ │ │ │ │ ├── search.py
|
||||
│ │ │ │ │ └── stats.py
|
||||
│ │ │ │ ├── examples.py
|
||||
│ │ │ │ ├── helpers.py
|
||||
│ │ │ │ └── __init__.py
|
||||
│ │ │ ├── completions.py
|
||||
│ │ │ ├── config.py
|
||||
│ │ │ ├── download.py
|
||||
│ │ │ ├── examples.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── registry
|
||||
│ │ │ │ ├── cmd.py
|
||||
│ │ │ │ ├── commands
|
||||
│ │ │ │ │ ├── backup.py
|
||||
│ │ │ │ │ ├── clean.py
|
||||
│ │ │ │ │ ├── export.py
|
||||
│ │ │ │ │ ├── import_.py
|
||||
│ │ │ │ │ ├── __init__.py
|
||||
│ │ │ │ │ ├── restore.py
|
||||
│ │ │ │ │ ├── search.py
|
||||
│ │ │ │ │ ├── stats.py
|
||||
│ │ │ │ │ └── sync.py
|
||||
│ │ │ │ ├── examples.py
|
||||
│ │ │ │ └── __init__.py
|
||||
│ │ │ ├── search.py
|
||||
│ │ │ └── update.py
|
||||
│ │ ├── config
|
||||
│ │ │ ├── editor.py
|
||||
│ │ │ ├── generate.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── loader.py
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── interactive
|
||||
│ │ │ ├── menu
|
||||
│ │ │ │ ├── media
|
||||
│ │ │ │ │ ├── downloads.py
|
||||
│ │ │ │ │ ├── dynamic_search.py
|
||||
│ │ │ │ │ ├── episodes.py
|
||||
│ │ │ │ │ ├── main.py
|
||||
│ │ │ │ │ ├── media_actions.py
|
||||
│ │ │ │ │ ├── media_airing_schedule.py
|
||||
│ │ │ │ │ ├── media_characters.py
|
||||
│ │ │ │ │ ├── media_review.py
|
||||
│ │ │ │ │ ├── player_controls.py
|
||||
│ │ │ │ │ ├── provider_search.py
|
||||
│ │ │ │ │ ├── results.py
|
||||
│ │ │ │ │ └── servers.py
|
||||
│ │ │ │ └── share
|
||||
│ │ │ │ ├── auth.py
|
||||
│ │ │ │ ├── session_management.py
|
||||
│ │ │ │ ├── user_media_list.py
|
||||
│ │ │ │ └── watch_history.py
|
||||
│ │ │ ├── session.py
|
||||
│ │ │ └── state.py
|
||||
│ │ ├── options.py
|
||||
│ │ ├── service
|
||||
│ │ │ ├── auth
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── model.py
|
||||
│ │ │ │ └── service.py
|
||||
│ │ │ ├── download
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ └── service.py
|
||||
│ │ │ ├── feedback
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ └── service.py
|
||||
│ │ │ ├── player
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── ipc
|
||||
│ │ │ │ │ ├── base.py
|
||||
│ │ │ │ │ └── mpv.py
|
||||
│ │ │ │ └── service.py
|
||||
│ │ │ ├── registry
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── models.py
|
||||
│ │ │ │ └── service.py
|
||||
│ │ │ ├── session
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── model.py
|
||||
│ │ │ │ └── service.py
|
||||
│ │ │ └── watch_history
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── service.py
|
||||
│ │ └── utils
|
||||
│ │ ├── ansi.py
|
||||
│ │ ├── completion.py
|
||||
│ │ ├── exception.py
|
||||
│ │ ├── feh.py
|
||||
│ │ ├── icat.py
|
||||
│ │ ├── image.py
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── lazyloader.py
|
||||
│ │ ├── logging.py
|
||||
│ │ ├── parser.py
|
||||
│ │ ├── preview.py
|
||||
│ │ ├── preview_workers.py
|
||||
│ │ └── update.py
|
||||
│ ├── core
|
||||
│ │ ├── caching
|
||||
│ │ ├── config
|
||||
│ │ │ ├── defaults.py
|
||||
│ │ │ ├── descriptions.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── model.py
|
||||
│ │ ├── constants.py
|
||||
│ │ ├── downloader
|
||||
│ │ │ ├── base.py
|
||||
│ │ │ ├── default.py
|
||||
│ │ │ ├── downloader.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── model.py
|
||||
│ │ │ ├── params.py
|
||||
│ │ │ ├── torrents.py
|
||||
│ │ │ └── yt_dlp.py
|
||||
│ │ ├── exceptions.py
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── patterns.py
|
||||
│ │ └── utils
|
||||
│ │ ├── concurrency.py
|
||||
│ │ ├── converter.py
|
||||
│ │ ├── detect.py
|
||||
│ │ ├── file.py
|
||||
│ │ ├── formatter.py
|
||||
│ │ ├── fuzzy.py
|
||||
│ │ ├── graphql.py
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── networking.py
|
||||
│ │ └── normalizer.py
|
||||
│ ├── fastanime.py
|
||||
│ ├── __init__.py
|
||||
│ ├── libs
|
||||
│ │ ├── aniskip
|
||||
│ │ │ ├── api.py
|
||||
│ │ │ └── __init__.py
|
||||
│ │ ├── discord
|
||||
│ │ │ ├── api.py
|
||||
│ │ │ └── __init__.py
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── media_api
|
||||
│ │ │ ├── anilist
|
||||
│ │ │ │ ├── api.py
|
||||
│ │ │ │ ├── gql.py
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── mapper.py
|
||||
│ │ │ │ └── types.py
|
||||
│ │ │ ├── api.py
|
||||
│ │ │ ├── base.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── jikan
|
||||
│ │ │ │ ├── api.py
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ └── mapper.py
|
||||
│ │ │ ├── params.py
|
||||
│ │ │ ├── types.py
|
||||
│ │ │ └── utils
|
||||
│ │ │ └── debug.py
|
||||
│ │ ├── player
|
||||
│ │ │ ├── base.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── mpv
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ └── player.py
|
||||
│ │ │ ├── params.py
|
||||
│ │ │ ├── player.py
|
||||
│ │ │ ├── syncplay
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ └── player.py
|
||||
│ │ │ ├── types.py
|
||||
│ │ │ └── vlc
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── player.py
|
||||
│ │ ├── provider
|
||||
│ │ │ ├── anime
|
||||
│ │ │ │ ├── allanime
|
||||
│ │ │ │ │ ├── constants.py
|
||||
│ │ │ │ │ ├── extractors
|
||||
│ │ │ │ │ │ ├── ak.py
|
||||
│ │ │ │ │ │ ├── base.py
|
||||
│ │ │ │ │ │ ├── dropbox.py
|
||||
│ │ │ │ │ │ ├── extractor.py
|
||||
│ │ │ │ │ │ ├── filemoon.py
|
||||
│ │ │ │ │ │ ├── gogoanime.py
|
||||
│ │ │ │ │ │ ├── __init__.py
|
||||
│ │ │ │ │ │ ├── mp4_upload.py
|
||||
│ │ │ │ │ │ ├── sharepoint.py
|
||||
│ │ │ │ │ │ ├── streamsb.py
|
||||
│ │ │ │ │ │ ├── vid_mp4.py
|
||||
│ │ │ │ │ │ ├── we_transfer.py
|
||||
│ │ │ │ │ │ ├── wixmp.py
|
||||
│ │ │ │ │ │ └── yt_mp4.py
|
||||
│ │ │ │ │ ├── __init__.py
|
||||
│ │ │ │ │ ├── mappers.py
|
||||
│ │ │ │ │ ├── provider.py
|
||||
│ │ │ │ │ ├── types.py
|
||||
│ │ │ │ │ └── utils.py
|
||||
│ │ │ │ ├── animepahe
|
||||
│ │ │ │ │ ├── constants.py
|
||||
│ │ │ │ │ ├── extractor.py
|
||||
│ │ │ │ │ ├── __init__.py
|
||||
│ │ │ │ │ ├── mappers.py
|
||||
│ │ │ │ │ ├── provider.py
|
||||
│ │ │ │ │ └── types.py
|
||||
│ │ │ │ ├── base.py
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── params.py
|
||||
│ │ │ │ ├── provider.py
|
||||
│ │ │ │ ├── types.py
|
||||
│ │ │ │ └── utils
|
||||
│ │ │ │ └── debug.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── manga
|
||||
│ │ │ │ ├── base.py
|
||||
│ │ │ │ ├── common.py
|
||||
│ │ │ │ ├── __init__.py
|
||||
│ │ │ │ ├── mangadex
|
||||
│ │ │ │ │ ├── api.py
|
||||
│ │ │ │ │ └── __init__.py
|
||||
│ │ │ │ └── MangaProvider.py
|
||||
│ │ │ └── scraping
|
||||
│ │ │ ├── html_parser.py
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ ├── user_agents.py
|
||||
│ │ │ └── utils.py
|
||||
│ │ └── selectors
|
||||
│ │ ├── base.py
|
||||
│ │ ├── fzf
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── selector.py
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── inquirer
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── selector.py
|
||||
│ │ ├── rofi
|
||||
│ │ │ ├── __init__.py
|
||||
│ │ │ └── selector.py
|
||||
│ │ └── selector.py
|
||||
│ └── __main__.py
|
||||
├── flake.lock
|
||||
├── flake.nix
|
||||
├── LICENSE
|
||||
├── pyproject.toml
|
||||
├── pyrightconfig.json
|
||||
├── pytest.ini
|
||||
├── README.md
|
||||
├── shell.nix
|
||||
├── tox.ini
|
||||
└── uv.lock
|
||||
|
||||
69 directories, 253 files
|
||||
```
|
||||
Reference in New Issue
Block a user