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

4.8 KiB

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