Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
632 commits
Select commit Hold shift + click to select a range
7273cdc
refactor(moderation): update case creation parameters and enhance typ…
kzndotsh Oct 2, 2025
a253462
refactor(database): remove legacy methods from BaseController for imp…
kzndotsh Oct 2, 2025
de70837
refactor(case): implement case creation with locking mechanism to pre…
kzndotsh Oct 2, 2025
6cc249d
refactor(moderation): update clearafk command alias for clarity
kzndotsh Oct 2, 2025
5555b0e
refactor(permission): implement dynamic permission system with databa…
kzndotsh Oct 4, 2025
23ba340
refactor(database): remove unused guild blacklist and whitelist contr…
kzndotsh Oct 4, 2025
60ca170
refactor(database): introduce base model and enums for improved struc…
kzndotsh Oct 4, 2025
c64d4ff
refactor(database): update model imports for enhanced permission stru…
kzndotsh Oct 4, 2025
257373f
feat(event): implement guild registration on bot startup
kzndotsh Oct 4, 2025
f77052a
feat(tests): add comprehensive integration and unit tests for dynamic…
kzndotsh Oct 4, 2025
e65d7d2
feat(exceptions): update permission error messages and introduce TuxP…
kzndotsh Oct 4, 2025
c9f84b5
feat(config): introduce comprehensive guild configuration management …
kzndotsh Oct 4, 2025
2f0c276
refactor(moderation): update documentation to reflect dynamic permiss…
kzndotsh Oct 4, 2025
c054146
refactor(postgres): overhaul PostgreSQL configuration for improved cl…
kzndotsh Oct 6, 2025
1765056
test(guild_permissions): add assertions to verify rank IDs in permiss…
kzndotsh Oct 6, 2025
8a15c38
refactor(database): rename guild permission controller and add onboar…
kzndotsh Oct 6, 2025
1bde0f5
feat(onboarding): implement interactive setup wizard for guild config…
kzndotsh Oct 6, 2025
18ace36
feat(permission_system): add method to remove role assignment from pe…
kzndotsh Oct 6, 2025
e015078
fix(docker): update PostgreSQL image version and adjust health check …
kzndotsh Oct 6, 2025
28524b6
chore(bot): add TODO comment to address presence change issue in on_r…
kzndotsh Oct 6, 2025
7a06936
refactor(cog_loader): simplify setup function check by reading file c…
kzndotsh Oct 6, 2025
b15ac31
refactor(logging): remove file logging configuration from logger setup
kzndotsh Oct 6, 2025
3e4e7eb
refactor(deepfry): streamline image handling by enforcing attachment …
kzndotsh Oct 6, 2025
29bea47
feat(event_handler): integrate onboarding service for new guilds
kzndotsh Oct 6, 2025
b2ed809
refactor(flagremover, supportnotifier): move out flag remover and sup…
electron271 Oct 7, 2025
9f25b07
feat(dev): add "dev shutdown" alias to "dev stop"
electron271 Oct 7, 2025
6100de3
refactor(database): expunge instances after retrieval and updates in …
kzndotsh Oct 7, 2025
0c2b8b6
feat(config): implement new configuration system with modular structure
kzndotsh Oct 7, 2025
ea23f5b
refactor(onboarding): remove onboarding service and related components
kzndotsh Oct 7, 2025
e7c897a
feat(member_count): add member count command to display server statis…
kzndotsh Oct 7, 2025
782bc8c
refactor(event_handler): update guild onboarding process to directly …
kzndotsh Oct 7, 2025
b132c80
feat(constants): add config priority to cog loading priorities
kzndotsh Oct 7, 2025
81d7d06
refactor(tests): rename GuildPermissionController to GuildPermissionR…
kzndotsh Oct 7, 2025
e01ca1b
refactor(app): enhance documentation and improve lifecycle management
kzndotsh Oct 14, 2025
da1d707
refactor(base_cog): enhance documentation and improve command usage g…
kzndotsh Oct 14, 2025
b2cc22c
refactor(bot): enhance documentation and improve lifecycle management
kzndotsh Oct 14, 2025
47be5f6
refactor(cog_loader): enhance documentation and improve cog loading p…
kzndotsh Oct 14, 2025
2f37ddd
refactor(permission_system): enhance documentation and improve permis…
kzndotsh Oct 14, 2025
82f801c
refactor(guild_permissions): remove unused fields and simplify permis…
kzndotsh Oct 15, 2025
654f080
refactor(prefix_manager): enhance documentation and improve prefix ma…
kzndotsh Oct 15, 2025
dfa2e5c
refactor(config): simplify rank and permission handling in configurat…
kzndotsh Oct 15, 2025
4923657
refactor(db): remove deprecated migration commands from DatabaseCLI
kzndotsh Oct 15, 2025
a0c125b
refactor(poll): remove hard-coded poll channel functionality
electron271 Oct 15, 2025
0fbbd7e
refactor: move harmful command detection into its own plugin
electron271 Oct 15, 2025
b94ac91
refactor(deepfry): add gif support and improve image compatibility
electron271 Oct 15, 2025
719f58c
style: auto fixes from pre-commit hooks
pre-commit-ci[bot] Oct 15, 2025
203894e
refactor(db): enhance DatabaseCLI with improved command structure and…
kzndotsh Oct 15, 2025
4608d3c
refactor(db): enhance database setup service with migration handling
kzndotsh Oct 15, 2025
d1f1eab
refactor(migrations): update migration script template with dynamic p…
kzndotsh Oct 15, 2025
ab7c510
refactor(migrations): streamline migration script by removing unused …
kzndotsh Oct 15, 2025
f5cbd7b
refactor(migrations): remove obsolete migration scripts and related f…
kzndotsh Oct 15, 2025
299504d
refactor(db): simplify database service architecture by removing sync…
kzndotsh Oct 15, 2025
6b9e586
test(cli): add comprehensive integration tests for database CLI commands
kzndotsh Oct 15, 2025
51214d8
refactor(db): update DatabaseCLI documentation and commands for table…
kzndotsh Oct 15, 2025
f929a0b
refactor(cog_loader): enhance cog validation by adding AST-based setu…
kzndotsh Oct 15, 2025
387691e
chore: add docstring linting and coverage using pydoclint, pydocstyle…
electron271 Oct 15, 2025
61b3b6f
style: auto fixes from pre-commit hooks
pre-commit-ci[bot] Oct 15, 2025
471c6c5
style: update docstrings to follow numpy convention
electron271 Oct 15, 2025
2372693
style: auto fixes from pre-commit hooks
pre-commit-ci[bot] Oct 15, 2025
a144e28
chore: add configurations for pydoclint and docstr-coverage
electron271 Oct 15, 2025
7b306f9
revert: remove old unused "Note" database table
electron271 Oct 16, 2025
5747727
chore: convert assets to avif/webp
electron271 Oct 16, 2025
482bd17
feat(migrations): enhance Alembic migration environment with comprehe…
kzndotsh Oct 16, 2025
98cd444
feat(migrations): add initial schema migration for guild management
kzndotsh Oct 16, 2025
41207da
refactor(database): update session method signature and clean up unus…
kzndotsh Oct 16, 2025
ed46908
refactor(tracing): migrate tracing utilities to a dedicated module an…
kzndotsh Oct 16, 2025
bf01676
fix(tests): remove unused test file and update expected tables in dat…
kzndotsh Oct 16, 2025
3884bd3
refactor(database): streamline table count and migration count querie…
kzndotsh Oct 16, 2025
7dc649f
chore: remove migrations directory from exclusion list in pyproject.toml
kzndotsh Oct 16, 2025
c2323fc
chore(dependencies): update package versions in uv.lock
kzndotsh Oct 16, 2025
2f2b974
chore(dependencies): update pre-commit hook versions
kzndotsh Oct 16, 2025
e4dc814
refactor(tty_roles): move tty roles into plugins directory
electron271 Oct 16, 2025
30e6b88
refactor(dev): update emoji command alias for consistency
kzndotsh Oct 16, 2025
56405d4
fix(eval): remove delete_after parameter from ctx.reply for improved …
kzndotsh Oct 16, 2025
0bc6ab4
refactor(avatar): remove description from avatar command for clarity
kzndotsh Oct 16, 2025
a84abdf
refactor(encode_decode): remove unused comment to enhance code clarity
kzndotsh Oct 16, 2025
3fcc01a
refactor(guild): rename membercount command to member_count for consi…
kzndotsh Oct 16, 2025
e5e9725
refactor(level): format level command parameters for improved readabi…
kzndotsh Oct 16, 2025
899b579
refactor(levels): remove unused comment to enhance code clarity
kzndotsh Oct 16, 2025
dbd8765
refactor(ping): remove unused comment to enhance code clarity
kzndotsh Oct 16, 2025
49fc7af
refactor(wiki): remove unused comment to enhance code clarity
kzndotsh Oct 16, 2025
c17774c
refactor(remindme): update time format documentation for clarity
kzndotsh Oct 16, 2025
6f81331
refactor(cog_loader): simplify cog loading logging
electron271 Oct 16, 2025
21868ae
feat(emoji_manager): add .avif to valid emoji extensions
electron271 Oct 16, 2025
56565a1
fix: convert emojis to png to follow discord limitations
electron271 Oct 16, 2025
2e47890
fix: fix extremely bad issue in communication service
electron271 Oct 16, 2025
b0113bd
fix(random): truncate dice side count in embed to 50 chars
electron271 Oct 17, 2025
66b85dc
refactor(case_controller): enhance case creation and expiration handling
kzndotsh Oct 17, 2025
691d82b
fix(cases): properly sort cases
electron271 Oct 17, 2025
e82d704
fix(moderation_coordinator): increase DM timeout from 3 to 15 seconds
electron271 Oct 17, 2025
d73cb9d
fix(cases): disable delete_on_timeout on cases view
electron271 Oct 17, 2025
db8bf92
refactor(case_controller): enhance case processing and logging
kzndotsh Oct 17, 2025
bb8de41
refactor(tempban): improve documentation and logging for temporary ba…
kzndotsh Oct 17, 2025
94548bb
fix(database): make datetime database columns timezone aware
electron271 Oct 17, 2025
a5450ea
refactor(database): simplify created_at and updated_at fields in Base…
electron271 Oct 17, 2025
343c309
refactor(cli): rename "test" command to "tests" to fix conflict with …
electron271 Oct 17, 2025
cfe1e0b
refactor(flags): implement boolean flags with no flag annotation usin…
electron271 Oct 17, 2025
d306251
feat(plugins): add new plugins for image processing, facts, and role …
kzndotsh Oct 17, 2025
641f6cd
docs(flags): update documentation to include source reference for Tux…
kzndotsh Oct 17, 2025
eb193dd
refactor(file_utils): enhance get_extension_from_path function with i…
kzndotsh Oct 17, 2025
81ac50f
refactor: cog_loader added getting cogs for erorrs
meatharvester Oct 17, 2025
078a3cb
refactor(moderation): enhance moderation action execution with additi…
kzndotsh Oct 17, 2025
1405277
feat(event): add listener to automatically deny view permissions for …
kzndotsh Oct 17, 2025
bb3d5e5
feat(moderation): add additional aliases for view and modify commands…
kzndotsh Oct 17, 2025
57b5c8f
refactor(tests): remove obsolete fact module integration tests from H…
kzndotsh Oct 17, 2025
3940102
refactor: cleaned up unloading cogs and git plugin
meatharvester Oct 17, 2025
5ccbfc3
fix: new roles and comments in rolecount.py
meatharvester Oct 17, 2025
4e4ecad
fix(bulk): update rowcount handling for SQLAlchemy 2.0 compatibility
kzndotsh Oct 17, 2025
c406c6b
refactor(db): improve documentation and add detailed docstrings for D…
kzndotsh Oct 17, 2025
17b2496
refactor(docs): enhance documentation across multiple modules with de…
kzndotsh Oct 17, 2025
c9f38e6
refactor(docs): update .docstr.yaml with comprehensive configuration …
kzndotsh Oct 17, 2025
cc660c7
refactor: cleaned up encode/decode
meatharvester Oct 17, 2025
7645503
refactor(docs): enhance documentation with detailed docstrings across…
kzndotsh Oct 17, 2025
5cda990
refactor: update return value in BaseCog to improve clarity
kzndotsh Oct 18, 2025
6cf2eb4
refactor(config): enhance configuration management with multi-format …
kzndotsh Oct 18, 2025
b4cb4e0
chore: re-enable D1XX formatting rules and add all docstrings
electron271 Oct 18, 2025
e825b48
chore: update .gitignore to include config files
electron271 Oct 18, 2025
527ec7a
refactor(config): streamline configuration files and enhance loading …
kzndotsh Oct 18, 2025
82f6381
refactor(docs): update README for improved clarity and organization
kzndotsh Oct 19, 2025
1d530fd
refactor(docs): improve README layout for metrics and contributors se…
kzndotsh Oct 19, 2025
fef8839
refactor(docs): adjust alignment and headings in README metrics and c…
kzndotsh Oct 19, 2025
b0f0adc
refactor(docs): update headings and captions in README for consistency
kzndotsh Oct 19, 2025
f7c6e75
refactor(docker): rename Dockerfile to Containerfile and update relat…
kzndotsh Oct 19, 2025
61ce19b
fix(ci): include Containerfile in hadolint configuration
kzndotsh Oct 19, 2025
c2cb651
fix(ci): update Docker workflow conditions and build settings
kzndotsh Oct 19, 2025
2f2f64c
chore(ci): add checkout step to Docker workflow
kzndotsh Oct 19, 2025
a9af7a6
refactor(database): enhance database service architecture and improve…
kzndotsh Oct 19, 2025
c6a526a
refactor(cogs): improve configuration handling and logging in BaseCog
kzndotsh Oct 19, 2025
e969c61
refactor(help): replace CONST with specific constants for embed color…
kzndotsh Oct 19, 2025
6c8a323
feat(features): add multiple new services for enhanced Discord bot fu…
kzndotsh Oct 19, 2025
3062943
refactor(moderation): streamline service initialization and enhance d…
kzndotsh Oct 19, 2025
0c14c54
refactor(constants): replace CONST references with specific constants…
kzndotsh Oct 19, 2025
96b2dcb
refactor(embeds): replace CONST references with EMBED_COLORS and EMBE…
kzndotsh Oct 19, 2025
5f5d81a
refactor(loaders): introduce abstract base class for file-based confi…
kzndotsh Oct 19, 2025
001ce46
refactor(mail): replace CONST.HTTP_OK with specific HTTP_OK constant …
kzndotsh Oct 19, 2025
859fc6f
refactor(hot_reload): replace CONST references with specific constant…
kzndotsh Oct 19, 2025
0211b33
refactor(moderation): introduce ModerationServiceFactory for centrali…
kzndotsh Oct 19, 2025
846e9e0
refactor(godbolt): replace CONST references with specific HTTP status…
kzndotsh Oct 19, 2025
0f97a37
refactor(http_client): enhance documentation and lifecycle management…
kzndotsh Oct 19, 2025
fd93d27
refactor(constants): reorganize and expand constants for improved cla…
kzndotsh Oct 19, 2025
44f13df
refactor(database_service): replace AsyncDatabaseService with Databas…
kzndotsh Oct 19, 2025
7e4dece
refactor(extensions): remove prisma extension as we no longer use prisma
electron271 Oct 19, 2025
c7635b3
refactor(moderation): streamline jail role management and error handling
kzndotsh Oct 20, 2025
dd18968
feat(logging): integrate loguru for enhanced logging across various m…
kzndotsh Oct 20, 2025
ce61929
feat(tests): add integration tests for jail and unjail system
kzndotsh Oct 20, 2025
e60f8c0
refactor(logging): enhance logging configuration and integration
kzndotsh Oct 20, 2025
ca425da
refactor(logging): remove redundant debug logging verification
kzndotsh Oct 20, 2025
65efcb7
feat(dev): enhance tool command execution with stderr output option
kzndotsh Oct 20, 2025
7b79081
feat(docs): update parameter documentation across multiple modules
kzndotsh Oct 20, 2025
f08821f
chore(docs): enhance function documentation across multiple modules
kzndotsh Oct 20, 2025
5261f3b
fix(docs): correct critical documentation inaccuracies
kzndotsh Oct 21, 2025
c2514f0
docs: init base docs structure
kzndotsh Oct 21, 2025
ca27b8e
style: auto fixes from pre-commit hooks
pre-commit-ci[bot] Oct 21, 2025
945bb79
fix(app): improve bot startup logging for better shutdown clarity
kzndotsh Oct 21, 2025
7099e12
feat(styles): introduce comprehensive CSS modules for Tux documentation
kzndotsh Oct 21, 2025
0262db8
feat(docs): revamp homepage and enhance documentation structure
kzndotsh Oct 21, 2025
7dd02a3
feat(dev): implement automatic cog path resolution for loading commands
kzndotsh Oct 21, 2025
faa2232
chore(pre-commit): update ruff-pre-commit hooks to version 0.14.1
kzndotsh Oct 21, 2025
6fe1887
refactor(tests): rename 'run' command to 'all' and update correspondi…
kzndotsh Oct 21, 2025
1e8803b
docs: update deployment navigation to indicate future consolidation i…
electron271 Oct 22, 2025
6558b07
style: adjust heading font sizes for improved readability
electron271 Oct 22, 2025
ee9c532
fix: oops
electron271 Oct 22, 2025
873d436
feat: enhance cases command to view specific moderation cases by numb…
electron271 Oct 22, 2025
9c20e10
feet: make moderation coordinator embed style consistent to standard …
electron271 Oct 22, 2025
3e1e709
docs: streamline code execution documentation by removing redundant e…
kzndotsh Oct 22, 2025
14afbdc
refactor(docker_cli): comment out test command and its implementation…
kzndotsh Oct 22, 2025
01a9e86
refactor(permission_system): rename permission-related classes and up…
kzndotsh Oct 22, 2025
95b5ae5
refactor(permission_system): update test fixtures and integration tes…
kzndotsh Oct 22, 2025
1a8ac9a
refactor: clean up dead code
electron271 Oct 22, 2025
c03f9cb
refactor: standardize ID field naming across models and controllers
kzndotsh Oct 22, 2025
74cb5dc
refactor: remove outdated documentation files
kzndotsh Oct 22, 2025
37d664f
chore: update Python version and coverage threshold in CI configuration
kzndotsh Oct 22, 2025
56d458d
chore: update Python version to 3.13.8 in CI and workflow configurations
kzndotsh Oct 22, 2025
e2f4207
ci: finalize GitHub workflows before v0.1.0 merge to main
kzndotsh Oct 22, 2025
5f437db
fix(ci): use uv for docs dependencies installation
kzndotsh Oct 22, 2025
d8f8622
fix(ci): simplify docs workflow for Cloudflare Workers integration
kzndotsh Oct 22, 2025
4b81392
feat(docs): add Cloudflare Workers wrangler config
kzndotsh Oct 22, 2025
79e5837
feat(docs): enhance Wrangler CLI integration for Cloudflare Workers
kzndotsh Oct 22, 2025
c8d918f
feat(docs): add Wrangler CLI commands to docs script
kzndotsh Oct 22, 2025
0990b28
chore(docs): update documentation structure and styling
kzndotsh Oct 22, 2025
c1e1d57
feat(docs): enhance documentation navigation and fix links
kzndotsh Oct 22, 2025
23b5bf0
chore(flake): simplify project description in flake.nix
kzndotsh Oct 22, 2025
80841a3
chore(todos): remove outdated TODO.md
kzndotsh Oct 23, 2025
f147ec7
chore(config): add log level configuration to example files
kzndotsh Oct 23, 2025
7513edb
chore(docs): update configuration documentation to include log level
kzndotsh Oct 23, 2025
3b8fcdc
docs: update README for improved clarity and structure
kzndotsh Oct 23, 2025
879afe9
docs: restructure README for improved presentation and clarity
kzndotsh Oct 23, 2025
c098a54
docs: update README to enhance clarity and structure
kzndotsh Oct 23, 2025
1b506a5
docs: refine README formatting for consistency and clarity
kzndotsh Oct 23, 2025
f954d87
docs: add quick links section to README for improved navigation
kzndotsh Oct 23, 2025
a92d3c9
docs: update README to improve structure and visual appeal
kzndotsh Oct 23, 2025
7cddcbc
docs: enhance README with table format for quick links
kzndotsh Oct 23, 2025
f856bf2
docs: update README to enhance layout and accessibility
kzndotsh Oct 23, 2025
f1dd299
docs: update wrangler.toml to modify build command
kzndotsh Oct 23, 2025
56b41e1
docs: restructure documentation for improved organization and clarity
kzndotsh Oct 30, 2025
07a1271
docs: add abbreviations reference for improved clarity and understanding
kzndotsh Oct 30, 2025
4298c0f
docs: remove home.html and add new main layout and partials for impro…
kzndotsh Oct 30, 2025
404d598
docs: add comprehensive documentation for Tux project
kzndotsh Oct 30, 2025
6924d77
chore: update VSCode settings for improved YAML support
kzndotsh Oct 30, 2025
7368b0e
docs: update mkdocs.yml for enhanced documentation structure and feat…
kzndotsh Oct 30, 2025
4e89fbc
refactor: enhance configuration generation process with CLI integration
kzndotsh Oct 30, 2025
695a5e1
feat: add semantic versioning utilities and build metadata generation
kzndotsh Oct 30, 2025
133aa51
chore: update dependencies in pyproject.toml for improved functionali…
kzndotsh Oct 30, 2025
afe6380
chore: update markdownlint and pre-commit configurations, add changel…
kzndotsh Oct 30, 2025
11303a7
docs: overhaul documentation rules and structure for Tux project
kzndotsh Oct 31, 2025
bbaf4a9
style: enhance CSS for improved readability and layout
kzndotsh Oct 31, 2025
0d71f0b
docs: update documentation structure and content for Tux project
kzndotsh Oct 31, 2025
3814a7e
fix: update markdownlint configuration to disable code block inclusion
kzndotsh Oct 31, 2025
4fd81d8
docs: add comprehensive AGENTS.md documentation for Tux project
kzndotsh Oct 31, 2025
18c3b0b
docs: add TODO.md for plugin system and documentation improvements
kzndotsh Oct 31, 2025
63f5f65
feat: add schema validation command and enhance database setup
kzndotsh Oct 31, 2025
88fd23b
docs: update rules documentation for clarity and reference
kzndotsh Oct 31, 2025
79f0372
feat: enhance database schema validation in DatabaseService
kzndotsh Oct 31, 2025
423b16e
docs: add best practices documentation for Tux development
kzndotsh Oct 31, 2025
e44e2e6
docs: enhance best practices documentation and update mkdocs configur…
kzndotsh Oct 31, 2025
42b1a09
docs: update installation documentation for Tux
kzndotsh Nov 10, 2025
94d1d12
docs: add comprehensive rules documentation for Discord.py Components V2
kzndotsh Nov 10, 2025
7e4f3a1
feat: improve database migration handling and setup process
kzndotsh Nov 10, 2025
f7027bf
feat: enhance signal handling and bot connection management
kzndotsh Nov 10, 2025
342274b
refactor: rename setup task method for clarity
kzndotsh Nov 10, 2025
2985610
refactor: update permission rank system to a 0-10 hierarchy
kzndotsh Nov 10, 2025
864215e
refactor: adjust permission rank range to 0-10
kzndotsh Nov 10, 2025
d846116
feat: add asynchronous database connectivity test method
kzndotsh Nov 10, 2025
f0475f2
feat: add configuration constants for dashboard features
kzndotsh Nov 10, 2025
53d2b9c
feat: enhance error message for unconfigured commands
kzndotsh Nov 10, 2025
35866f7
refactor: replace ASCII art variable in banner.py
kzndotsh Nov 10, 2025
a254be0
feat: improve bot shutdown handling and exit codes
kzndotsh Nov 10, 2025
496e3a8
feat: add initial database schema migration
kzndotsh Nov 10, 2025
78856cf
feat: implement modular configuration management system
kzndotsh Nov 10, 2025
513ac53
feat: enhance documentation and restructure configuration references
kzndotsh Nov 10, 2025
3d2e06b
chore: update dependencies in configuration files
kzndotsh Nov 10, 2025
8118397
feat: add comprehensive database and tech stack documentation
kzndotsh Nov 10, 2025
cade91d
feat: update documentation structure and enhance content clarity
kzndotsh Nov 10, 2025
c526f3a
feat: add new features to user documentation
kzndotsh Nov 10, 2025
4e23b04
feat: expand user documentation structure in SUMMARY.md
kzndotsh Nov 10, 2025
d70c627
feat: enhance documentation layout and content clarity
kzndotsh Nov 10, 2025
2d5fd0e
feat: restructure documentation for improved navigation and clarity
kzndotsh Nov 10, 2025
efbb2e3
refactor: remove unused columns from Guild model and migration script
kzndotsh Nov 10, 2025
8b9b7a1
feat: update TuxApp run methods to return exit codes
kzndotsh Nov 10, 2025
caa1fa1
fix: improve error handling in emoji cache initialization
kzndotsh Nov 10, 2025
7261045
fix: clean up whitespace and improve Markdown file handling
kzndotsh Nov 10, 2025
ce7e6ce
chore: update commitlint configuration for improved commit message st…
kzndotsh Nov 10, 2025
b9debc8
feat: add initial database schema migration for guild management
kzndotsh Nov 10, 2025
a36cdce
feat: enhance CLI options for database and development commands
kzndotsh Nov 10, 2025
64e60f1
chore: update volume mounts in Docker Compose configuration
kzndotsh Nov 10, 2025
f6a57a5
chore: remove unused configuration files and update versioning
kzndotsh Nov 10, 2025
83f60b0
chore: remove adminer theme CSS file
kzndotsh Nov 10, 2025
66a77b2
docs: update README to enhance feature descriptions and add new sections
kzndotsh Nov 10, 2025
aaed755
docs: streamline README content and enhance feature descriptions
kzndotsh Nov 10, 2025
7699788
docs: update README for clarity and accuracy in licensing information
kzndotsh Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
508 changes: 0 additions & 508 deletions .codecov.yml

This file was deleted.

99 changes: 97 additions & 2 deletions .commitlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,35 @@
2,
"never"
],
"type-min-length": [
2,
"always",
1
],
"type-max-length": [
2,
"always",
15
],
"scope-case": [
2,
"always",
"lower-case"
],
"scope-empty": [
0,
"never"
],
"scope-min-length": [
2,
"always",
1
],
"scope-max-length": [
2,
"always",
20
],
"subject-case": [
2,
"never",
Expand All @@ -45,26 +74,92 @@
"never",
"."
],
"subject-min-length": [
2,
"always",
1
],
"subject-max-length": [
2,
"always",
120
],
"subject-exclamation-mark": [
2,
"never"
],
"header-case": [
0,
"never"
],
"header-full-stop": [
2,
"never",
"."
],
"header-min-length": [
2,
"always",
10
],
"header-max-length": [
2,
"always",
120
],
"header-trim": [
2,
"always"
],
"body-leading-blank": [
2,
"always"
],
"body-max-line-length": [
"body-case": [
0,
"always",
"lower-case"
],
"body-empty": [
0,
"never"
],
"body-full-stop": [
0,
"never",
"."
],
"body-min-length": [
0,
"always",
0
],
"body-max-line-length": [
0,
"always",
120
],
"footer-leading-blank": [
2,
"always"
],
"header-max-length": [
"footer-empty": [
0,
"never"
],
"footer-min-length": [
2,
"always",
0
],
"footer-max-line-length": [
2,
"always",
120
],
"references-empty": [
0,
"never"
]
},
"defaultIgnores": true,
Expand Down
196 changes: 196 additions & 0 deletions .cursor/rules/core/tech-stack.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
---
alwaysApply: true
---

# Tech Stack & Dependencies

## Core Runtime

**Python:** 3.13+ • **Discord:** `discord-py` • **Package Manager:** `uv`

## Key Configuration Files

- **`pyproject.toml`** - Central config (deps, tools, scripts, build)
- **`uv.lock`** - Dependency lock file
- **`compose.yaml`** - Docker services (PostgreSQL 17, Adminer, hot reload)
- **`Containerfile`** - Multi-stage Docker build
- **`alembic.ini`** - Database migrations config
- **`config/`** - Config examples (TOML/YAML/JSON from pydantic-settings)

## Dependencies by Group

**Core Runtime:**

- `discord-py`, `jishaku` (Discord bot framework)
- `sqlmodel`, `sqlalchemy`, `alembic` (Database ORM & migrations)
- `httpx`, `aiofiles`, `aiocache`, `redis` (Async I/O)
- `loguru`, `sentry-sdk[httpx,loguru]` (Logging & monitoring)
- `pydantic`, `pydantic-settings` (Data validation & config)
- `typer`, `rich`, `click` (CLI & output)
- `pillow`, `cairosvg` (Image processing)

**Development:**

- `basedpyright` (Type checking - strict mode)
- `ruff` (Linting & formatting)
- `pre-commit` (Git hooks)
- `pydoclint` (Docstring linting - NumPy style)
- `yamllint`, `yamlfix` (YAML tools)

**Testing:**

- `pytest` + plugins (`asyncio`, `mock`, `cov`, `sugar`, `randomly`, `timeout`, `html`, `benchmark`, `alembic`, `loguru`, `parallel`, `httpx`)
- `py-pglite[all]` (In-memory PostgreSQL for tests)

**Documentation:**

- `mkdocs` + `mkdocs-material`
- `mkdocstrings` + `mkdocstrings-python`
- `griffe` + plugins (API docs generation)
- `pymdown-extensions` (Markdown extensions)

**Type Stubs:**

- `types-*` packages for external libraries
- `asyncpg-stubs`
- `annotated-types`

See `pyproject.toml` for a more full and up to date list of dependencies.

## Database Stack

**ORM:** SQLModel (SQLAlchemy + Pydantic integration)
**Migrations:** Alembic + `alembic-postgresql-enum` + `alembic-utils`
**Drivers:** `asyncpg` (primary), `psycopg[binary,pool]` (backup)
**Database:** PostgreSQL 17+ (Docker: `postgres:17-alpine`)
**Testing:** `py-pglite` (in-memory PostgreSQL)

## Development Tools

**Code Quality:**

- `ruff` - Linting & formatting (120 char line length, Python 3.13 target)
- `basedpyright` - Strict type checking with execution environments
- `pydoclint` - NumPy-style docstring validation
- `pre-commit` - Automated git hooks

**Testing Framework:**

- `pytest` with async support and comprehensive plugins
- Markers: `unit`, `integration`, `slow`, `database`, `async`
- Coverage reports: terminal, XML, JSON, LCOV, HTML

**Monitoring & Logging:**

- `loguru` - Structured logging with rich formatting
- `sentry-sdk` - Error tracking and performance monitoring
- Custom logging configuration for development vs production

## CLI Scripts System

All scripts use `typer` and are defined in `pyproject.toml`:

```bash
# Core commands
uv run tux start [--debug] # Start bot
uv run db migrate-dev # Database operations
uv run dev all # All quality checks
uv run tests run # Run tests with coverage
uv run docs serve # Documentation server
uv run config generate # Generate config examples
```

## Project Structure

```text
tux/
├── src/tux/ # Main source code
│ ├── core/ # Bot core (app, logging, config)
│ ├── database/ # Models, migrations, controllers
│ ├── services/ # Business logic services
│ ├── modules/ # Discord cogs/commands
│ ├── ui/ # Embeds, views, components
│ ├── shared/ # Utilities, constants, config
│ └── help/ # Help system
├── scripts/ # CLI scripts (typer-based)
├── tests/ # Test suite (unit/integration/e2e)
├── docs/ # MkDocs documentation
├── config/ # Configuration examples
└── docker/ # Docker-related files
```

## Development Workflow

```bash
# Setup
uv sync # Install all dependencies
cp .env.example .env # Configure environment
cp config/config.toml.example config/config.toml

# Development
uv run dev all # Run all quality checks
uv run tests quick # Fast test run
uv run tux start --debug # Start bot in debug mode

# Database
uv run db migrate-dev # Create & apply migrations
uv run db health # Check database connection

# Documentation
uv run docs serve # Local preview
uv run docs build # Build static site
```

## Configuration System

**Multi-format support:** TOML (primary), YAML, JSON, .env
**Generation:** `pydantic-settings-export` creates examples from code
**Validation:** Pydantic models with type safety
**Environment:** `.env` file + environment variables
**Regions:** Markdown docs with embedded config sections

## Docker Setup

**Services:**

- `postgres:17-alpine` - Database
- `adminer` - Database admin interface
- `tux` - Bot service with hot reload

**Features:**

- Multi-stage builds (dev/production)
- Non-root user security
- Volume mounts for development
- Health checks and restart policies

## Testing Strategy

**Unit Tests:** Fast, isolated, use py-pglite
**Integration Tests:** Database interactions, service integration
**E2E Tests:** Full workflow testing
**Markers:** Categorize tests by type and speed
**Coverage:** Comprehensive reporting with multiple formats
**Async:** Full asyncio support with proper fixtures

## Quality Standards

- **Type Safety:** Strict basedpyright configuration
- **Code Style:** Ruff with 120-char lines, Python 3.13 target
- **Documentation:** NumPy-style docstrings, comprehensive API docs
- **Testing:** High coverage, multiple test types, async support
- **Dependencies:** Locked versions, security scanning
- **Git:** Conventional commits, automated hooks

## Best Practices

1. **Dependencies:** Always use `uv`, commit `uv.lock`
2. **Types:** Fix all type errors, use strict mode
3. **Testing:** Use appropriate markers, maintain coverage
4. **Documentation:** NumPy docstrings, update examples
5. **Database:** Use migrations, test with py-pglite
6. **Configuration:** Validate with Pydantic, support multiple formats
7. **CLI:** Use typer for all scripts, provide help text
8. **Docker:** Use multi-stage builds, non-root users
9. **Monitoring:** Structured logging, error tracking
10. **Security:** Regular dependency updates, secret management
Loading