1
Fork 0
mirror of https://github.com/allthingslinux/tux.git synced 2024-10-02 16:43:12 +00:00
tux/.archive/PROJECT_STRUCTURE.md
kzndotsh ad919afc14 feat(docs): add CLI.md, COG_STANDARDS.md, EMBED_STANDARDS.md to .archive directory
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
2024-07-29 20:58:32 +00:00

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
```