mirror of
https://github.com/allthingslinux/tux.git
synced 2024-10-02 16:43:12 +00:00
ad919afc14
docs(CLI.md): provide instructions for installation, development, Docker, linting, formatting, and Git commands docs(COG_STANDARDS.md): outline standards for creating or updating cogs for the Tux Discord bot docs(EMBED_STANDARDS.md): establish standards and best practices for creating and utilizing Discord embeds docs: add EMBED_USAGE.md, EVENT_STANDARDS.md, PROJECT_STRUCTURE.md to provide detailed guidelines and project structure information for contributors feat(README.md): add dynamic permission system to feature list to reflect new functionality docs(README.md): update installation steps to include running the bot docs(PERMISSIONS.md): change permission level 0 from 'Everyone' to 'Member' for clarity chore(docs/resources): remove unused image.png file from resources
166 lines
4.8 KiB
Markdown
166 lines
4.8 KiB
Markdown
# Project Structure
|
|
|
|
This document outlines the structure of the Discord bot project to help you navigate and understand where different components are located.
|
|
|
|
## Root Directory
|
|
|
|
- **.git/** - Contains Git configuration and history.
|
|
- **.github/** - Contains GitHub related files including workflows for CI/CD.
|
|
- **workflows/**
|
|
- **dependency-review.yml** - Workflow for dependency review.
|
|
- **linting.yml** - Workflow for linting the codebase.
|
|
- **.gitignore** - Specifies intentionally untracked files to ignore.
|
|
- **.mise.toml** - Configuration file for Mise, a tool to manage tooling environment.
|
|
- **.pre-commit-config.yaml** - Configuration for pre-commit hooks.
|
|
- **CODE_OF_CONDUCT.md** - The code of conduct for contributors.
|
|
- **LICENSE.md** - Project license information.
|
|
- **README.md** - A brief description of the project and how to set it up.
|
|
|
|
## Configuration Files
|
|
|
|
- **config/**
|
|
- **settings.json** - JSON file containing configuration parameters.
|
|
|
|
## Documentation
|
|
|
|
- **docs/** - Contains documentation files for the project.
|
|
- **CLI.md** - CLI usage guidelines.
|
|
- **COG_STANDARDS.md** - Standards for cog development.
|
|
- **EMBED_STANDARDS.md** - Standards for embed styles.
|
|
- **EMBED_USAGE.md** - Guidelines on how to use embeds.
|
|
- **EVENT_STANDARDS.md** - Event handling standards.
|
|
- **PROJECT_STRUCTURE.md** - Overview of the project structure.
|
|
|
|
## Example Files
|
|
|
|
- **examples/** - Contains sample code and usage examples.
|
|
|
|
## Dependency Management
|
|
|
|
- **poetry.lock** - Lock file for Poetry to ensure reproducible installs.
|
|
|
|
## Database Schema
|
|
|
|
- **prisma/**
|
|
- **database.db** - SQLite database file.
|
|
- **schema.prisma** - Prisma schema for database modeling.
|
|
|
|
## Python Project and Dependency Management
|
|
|
|
- **pyproject.toml** - Specifies project dependencies and configurations.
|
|
|
|
## Test Files
|
|
|
|
- **tests/** - Contains test scripts and testing resources.
|
|
|
|
## Temporary Files
|
|
|
|
- **tmp/** - Temporary files generated during runtime or testing.
|
|
|
|
## Core Bot Functionality
|
|
|
|
- **tux/**
|
|
- **cog_loader.py** - Handles the loading of Cogs.
|
|
- **cogs/** - Directory containing various categories of bot commands.
|
|
- **admin/**, **guild/**, **logging/**, **misc/**, **moderation/**, **utility/** - Cogs organized by functionality.
|
|
- **database/**
|
|
- **client.py** - Database connection management.
|
|
- **controllers/** - Database controllers for different entities.
|
|
- **main.py** - Entry point of the Discord bot.
|
|
- **utils/** - Utility scripts and helper functions.
|
|
|
|
## System Service Configuration
|
|
|
|
- **tux.service** - Systemd service unit file to run the bot as a service.
|
|
|
|
## Docker Configuration
|
|
|
|
- **docker-compose.yml** - Docker Compose configuration file to manage container deployment.
|
|
|
|
|
|
```
|
|
tux
|
|
├─ .git
|
|
├─ .github
|
|
│ └─ workflows
|
|
│ ├─ dependency-review.yml
|
|
│ └─ linting.yml
|
|
├─ .gitignore
|
|
├─ .mise.toml
|
|
├─ .pre-commit-config.yaml
|
|
├─ CODE_OF_CONDUCT.md
|
|
├─ LICENSE.md
|
|
├─ README.md
|
|
├─ config
|
|
│ └─ settings.json
|
|
├─ docs
|
|
│ ├─ CLI.md
|
|
│ ├─ COG_STANDARDS.md
|
|
│ ├─ EMBED_STANDARDS.md
|
|
│ ├─ EMBED_USAGE.md
|
|
│ ├─ EVENT_STANDARDS.md
|
|
│ └─ resources
|
|
│ ├─ image.png
|
|
├─ examples
|
|
├─ poetry.lock
|
|
├─ prisma
|
|
│ ├─ database.db
|
|
│ └─ schema.prisma
|
|
├─ pyproject.toml
|
|
├─ tests
|
|
├─ tmp
|
|
├─ tux
|
|
│ ├─ cog_loader.py
|
|
│ ├─ cogs
|
|
│ │ ├─ admin
|
|
│ │ │ ├─ sync.py
|
|
│ │ ├─ error_handler.py
|
|
│ │ ├─ guild
|
|
│ │ │ └─ roles.py
|
|
│ │ ├─ logging
|
|
│ │ │ ├─ commands.py
|
|
│ │ │ ├─ guild.py
|
|
│ │ │ ├─ member.py
|
|
│ │ │ ├─ mod.py
|
|
│ │ │ └─ voice.py
|
|
│ │ ├─ misc
|
|
│ │ │ ├─ temp_vc.py
|
|
│ │ │ └─ tty_roles.py
|
|
│ │ ├─ moderation
|
|
│ │ │ ├─ ban.py
|
|
│ │ │ ├─ kick.py
|
|
│ │ │ ├─ purge.py
|
|
│ │ │ ├─ slowmode.py
|
|
│ │ │ ├─ unban.py
|
|
│ │ │ └─ warn.py
|
|
│ │ └─ utility
|
|
│ │ ├─ avatar.py
|
|
│ │ ├─ guide.py
|
|
│ │ ├─ info.py
|
|
│ │ ├─ membercount.py
|
|
│ │ ├─ ping.py
|
|
│ │ ├─ poll.py
|
|
│ │ ├─ report.py
|
|
│ │ ├─ rolecount.py
|
|
│ │ └─ tldr.py
|
|
│ ├─ database
|
|
│ │ ├─ client.py
|
|
│ │ └─ controllers
|
|
│ │ ├─ __init__.py
|
|
│ │ ├─ infractions.py
|
|
│ │ ├─ notes.py
|
|
│ │ ├─ reminders.py
|
|
│ │ ├─ roles.py
|
|
│ │ ├─ snippets.py
|
|
│ │ └─ users.py
|
|
│ ├─ main.py
|
|
│ └─ utils
|
|
│ ├─ activities.py
|
|
│ ├─ console.py
|
|
│ ├─ constants.py
|
|
│ ├─ embeds.py
|
|
│ ├─ functions.py
|
|
│ └─ sentry.py
|
|
├─ tux.service
|
|
├─ docker-compose.yml
|
|
```
|