Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
597 commits
Select commit Hold shift + click to select a range
369f726
feat(help): enhance help command functionality with pagination and co…
kzndotsh Sep 30, 2025
b2057be
refactor(avatar): update avatar command to use hybrid command and imp…
kzndotsh Sep 30, 2025
3ca3192
refactor(membercount): convert member count command to hybrid command…
kzndotsh Sep 30, 2025
fcfaac3
feat(rand): remove Random cog and its associated commands
kzndotsh Sep 30, 2025
de7b050
feat(random): add Random cog with commands for coin flip, 8-ball, dic…
kzndotsh Sep 30, 2025
9174467
refactor(xkcd): remove auto-generated usage comment from Xkcd class i…
kzndotsh Sep 30, 2025
f6aca19
refactor(dev): simplify cog reloading by using reload_extension method
kzndotsh Sep 30, 2025
0e08144
refactor(tests): update type annotations and remove unnecessary impor…
kzndotsh Sep 30, 2025
a71c3a2
chore(pyproject): update type dependencies and configure execution en…
kzndotsh Sep 30, 2025
ee1f1ce
feat(error-handling): add new error configurations for extension mana…
kzndotsh Sep 30, 2025
15a10e3
refactor(suggestions): enhance command name checking for better sugge…
kzndotsh Sep 30, 2025
b30029e
chore(dependencies): add types-mock dependency to type definitions an…
kzndotsh Sep 30, 2025
b0a2a90
fix(error-handling): remove RuntimeError from exception handling in T…
kzndotsh Sep 30, 2025
82dfa30
refactor(moderation): improve context handling in permission decorator
kzndotsh Sep 30, 2025
ed6b5bc
feat(info): enhance information commands with detailed entity handlin…
kzndotsh Sep 30, 2025
0cbe502
refactor(info): update datetime formatting to use TimestampStyle for …
kzndotsh Oct 1, 2025
6f78a68
refactor(utility): standardize AFK command responses and improve nick…
kzndotsh Oct 1, 2025
57c188e
feat(help): implement paginated help embeds for large command groups …
kzndotsh Oct 1, 2025
9b52ec1
refactor(cog_loader): streamline file checks and enhance folder cog l…
kzndotsh Oct 1, 2025
a23dac1
refactor(moderation): adjust case retrieval parameters and enhance ca…
kzndotsh Oct 1, 2025
4258c5b
feat(moderation): initialize moderation services on cog load
kzndotsh Oct 1, 2025
1cee2f5
feat(error-handling): implement cog reload functionality and enhance …
kzndotsh Oct 1, 2025
746d48e
feat(hot-reload): enhance file change handling with debounced reload …
kzndotsh Oct 1, 2025
8fa89bb
refactor(tests): update import paths for Fact module in integration a…
kzndotsh Oct 1, 2025
ee55c10
refactor(moderation): improve context parameter retrieval in permissi…
kzndotsh Oct 1, 2025
7c0eaaa
feat(deepfry): add image deepfrying functionality with error handling
kzndotsh Oct 1, 2025
ab7b3a8
refactor(versioning): replace hardcoded bot version with dynamic retr…
kzndotsh Oct 1, 2025
dacaca0
chore(migrations): remove obsolete migration files
kzndotsh Oct 2, 2025
fa3b874
feat(models): integrate automatic timestamp management into BaseModel
kzndotsh Oct 2, 2025
b5f4cc5
feat(database): add hard reset command for complete database reinitia…
kzndotsh Oct 2, 2025
1760e16
refactor(case): update guild retrieval to use get_or_create method
kzndotsh Oct 2, 2025
950ff68
refactor(moderation): enhance service initialization and error handli…
kzndotsh Oct 2, 2025
0a3d0b7
refactor(moderation): remove outdated documentation and streamline im…
kzndotsh Oct 2, 2025
a8ccbe1
feat(moderation): add logging for action execution attempts in Execut…
kzndotsh Oct 2, 2025
852a39b
feat(moderation): enhance logging for moderation actions in Moderatio…
kzndotsh Oct 2, 2025
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
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.

4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ indent_size = 2

# Docker files
[{Dockerfile,*.dockerfile}]
indent_size = 4
indent_size = 8

[docker-compose*.yml]
indent_size = 2
Expand Down Expand Up @@ -65,7 +65,7 @@ indent_size = 4
indent_size = 4

# Lock files (read-only, preserve formatting)
[{poetry.lock,package-lock.json,yarn.lock,Pipfile.lock}]
[{uv.lock,package-lock.json,yarn.lock,Pipfile.lock}]
insert_final_newline = false
trim_trailing_whitespace = false

Expand Down
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ docker-compose*.yml text eol=lf
#
# Lock Files (binary-like treatment)
#
poetry.lock text eol=lf linguist-generated=true
package-lock.json text eol=lf linguist-generated=true
yarn.lock text eol=lf linguist-generated=true
Pipfile.lock text eol=lf linguist-generated=true
uv.lock text eol=lf linguist-generated=true

#
# Binary Files
Expand Down
44 changes: 22 additions & 22 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ Before you start, ensure you have:
* [Python](https://www.python.org/) (3.13+ recommended)
* If you don't have Python installed, we suggest using something like [mise](https://mise.jdx.dev/) or [pyenv](https://github.com/pyenv/pyenv) to manage your Python installations.

* [Poetry](https://python-poetry.org/docs/) (1.2+ recommended)
* If you don't have Poetry installed, you can use one of the official methods. We recommend using the official installer:
* [Uv](https://docs.astral.sh/uv/) (recommended)
* If you don't have Uv installed, use the official installer and verify:

```bash
# Linux, macOS, Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# After installation and ensuring Poetry is in your PATH, you can verify it by running:
poetry --version
# Verify installation
uv --version
```

* A PostgreSQL Database (local or remote)
Expand Down Expand Up @@ -61,19 +61,19 @@ Follow these steps to set up your local development environment. For more compre
git remote -v
```

2. **Install Dependencies with Poetry**
2. **Install Dependencies with Uv**

Ensure Poetry is installed and configured to use the correct Python version (e.g., 3.13.5).
Ensure Uv is installed and using the correct Python version (project requires 3.13.x).

```bash
# Create a virtual environment
poetry env use 3.13.5
# (Optional) Pin the Python version used by uv
uv python pin 3.13.5

# Install project dependencies and dev tools
poetry install
# Create the virtual environment and install all dependencies
uv sync

# Install pre-commit hooks for quality checks
poetry run pre-commit install
uv run pre-commit install
```

3. **Configure Environment Variables**
Expand All @@ -94,19 +94,19 @@ Follow these steps to set up your local development environment. For more compre

Copy the example settings file.

`cp config/settings.yml.example config/settings.yml`
`cp .env.example .env`

Review `config/settings.yml` and customize it.
Review `.env` and customize it.

**Crucially, add your Discord User ID to the `BOT_OWNER` list.**

5. **Initialize Development Database**

Push the Prisma schema to your development database. This also generates the Prisma client.
Run database migrations to set up your development database.

```bash
# Use --dev or rely on the default development mode
poetry run tux --dev db push
uv run tux --dev db upgrade
```

## Development Workflow
Expand Down Expand Up @@ -164,16 +164,16 @@ Follow these steps to set up your local development environment. For more compre

```bash
# Format code using Ruff
poetry run tux dev format
uv run tux dev format

# Lint code using Ruff
poetry run tux dev lint-fix
uv run tux dev lint-fix

# Type-check code using basedpyright
poetry run tux dev type-check
# Type-check code using Pyright
uv run tux dev type-check

# Run all pre-commit checks (includes formatting, linting, etc.)
poetry run tux dev pre-commit
uv run tux dev pre-commit
```

Fix any issues reported by these tools.
Expand Down
56 changes: 56 additions & 0 deletions .github/actions/action-basedpyright/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: action-basedpyright
description: Run basedpyright with reviewdog on pull requests to improve code review
experience
inputs:
github_token:
description: GITHUB_TOKEN
default: ${{ github.token }}
workdir:
description: Working directory relative to the root directory.
default: .
### Flags for reviewdog ###
tool_name:
description: Tool name to use for reviewdog reporter.
default: basedpyright
level:
description: Report level for reviewdog [info,warning,error].
default: warning
reporter:
description: Reporter of reviewdog command [github-check,github-pr-review,github-pr-check,sarif].
default: github-pr-review
filter_mode:
description: |
Filtering mode for the reviewdog command [added,diff_context,file,nofilter].
Default is `added` except that sarif reporter uses `nofilter`.
default: file
fail_level:
description: |
If set to `none`, always use exit code 0 for reviewdog. Otherwise, exit code 1 for reviewdog if it finds at least 1 issue with severity greater than or equal to the given level.
Possible values: [none,any,info,warning,error]
Default is `none`.
default: none
reviewdog_flags:
description: Additional reviewdog flags.
default: ''
### Flags for basedpyright ###
basedpyright_flags:
description: Additional flags for basedpyright command.
default: --outputjson
runs:
using: composite
steps:
- name: Run basedpyright with reviewdog
shell: bash
working-directory: ${{ inputs.workdir }}
run: |
(uv run basedpyright ${{ inputs.basedpyright_flags }} || true) | \
reviewdog -f=rdjson \
-reporter=${{ inputs.reporter }} \
-level=${{ inputs.level }} \
-filter-mode=${{ inputs.filter_mode }} \
-fail-level=${{ inputs.fail_level }} \
-name=${{ inputs.tool_name }} \
${{ inputs.reviewdog_flags }}
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ inputs.github_token }}
35 changes: 23 additions & 12 deletions .github/actions/create-test-env/action.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
---
name: Create Test Environment
description: Create .env file with test configuration for CI/testing purposes
description: Create .env file with test configuration for CI/testing purposes using
pydantic settings
inputs:
database-url:
description: Database URL for testing
required: false
default: sqlite:///tmp/test.db
bot-token:
description: Bot token for testing
required: false
Expand All @@ -17,20 +15,33 @@ runs:
using: composite
steps:
# TEST ENVIRONMENT CONFIGURATION
# Creates isolated test environment with safe defaults
# Creates isolated test environment with safe defaults for pydantic settings
- name: Create test environment file
shell: bash
run: |-
# Create .env file for CI/testing with required values
# Create .env file for CI/testing with pydantic settings format
cat > .env << EOF
DEV_DATABASE_URL=${{ inputs.database-url }}
PROD_DATABASE_URL=${{ inputs.database-url }}
DEV_BOT_TOKEN=${{ inputs.bot-token }}
PROD_BOT_TOKEN=${{ inputs.bot-token }}
# Core configuration
DEBUG=True

# Bot token
BOT_TOKEN=${{ inputs.bot-token }}

# Database configuration (tests use py-pglite, so these are just defaults)
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=tuxdb_test
POSTGRES_USER=tuxuser_test
POSTGRES_PASSWORD=tuxpass_test

# Bot info defaults
BOT_INFO__BOT_NAME=Tux Test
BOT_INFO__BOT_VERSION=0.0.0-test
BOT_INFO__PREFIX=$
EOF

# Add any additional environment variables if provided
if [ -n "${{ inputs.additional-vars }}" ]; then
echo "${{ inputs.additional-vars }}" >> .env
fi
echo "✅ Test environment file created"
echo "✅ Test environment file created with pydantic settings format"
32 changes: 0 additions & 32 deletions .github/actions/setup-nodejs-markdown/action.yml

This file was deleted.

62 changes: 17 additions & 45 deletions .github/actions/setup-python/action.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,38 @@
---
name: Setup Python Environment
description: Set up Python with Poetry, dependencies, and optional Prisma client generation
description: Set up Python with Uv and dependencies
inputs:
python-version:
description: Python version to use
required: false
default: '3.13'
install-groups:
description: Poetry groups to install (comma-separated)
uv-version:
description: Uv version to install (e.g. 0.8.8)
required: false
default: dev,types
cache-suffix:
description: Cache key suffix for differentiation
required: false
default: default
generate-prisma:
description: Whether to generate Prisma client
default: 0.8.8
enable-cache:
description: Enable uv cache persistence
required: false
default: 'true'
runs:
using: composite
steps:
# POETRY INSTALLATION
# Uses pipx for isolated Poetry installation without conflicts
- name: Install Poetry
shell: bash
run: pipx install poetry

# PYTHON ENVIRONMENT SETUP
# Configures Python with integrated Poetry cache support
# PYTHON ENVIRONMENT SETUP (use GitHub's cached Python)
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: poetry

# ADVANCED DEPENDENCY CACHING
# Multi-level caching strategy for maximum cache hit rate
- name: Cache Poetry dependencies
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
# UV INSTALLATION
# Installs uv and optionally enables cache persistence
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
path: |
~/.cache/pypoetry
~/.cache/pip
key: poetry-${{ inputs.cache-suffix }}-${{ runner.os }}-${{ hashFiles('poetry.lock')
}}
restore-keys: |
poetry-${{ inputs.cache-suffix }}-${{ runner.os }}-
version: ${{ inputs.uv-version }}
enable-cache: ${{ inputs.enable-cache }}

# DEPENDENCY INSTALLATION
# Installs specified Poetry groups with CI-optimized settings
# Install project with locked dependencies
- name: Install dependencies
shell: bash
run: |
if [[ "${{ inputs.install-groups }}" == "main" ]]; then
poetry install --only=main --no-interaction --no-ansi
else
poetry install --with=${{ inputs.install-groups }} --no-interaction --no-ansi
fi

# CONDITIONAL PRISMA CLIENT GENERATION
# Generates Prisma database client when needed for database operations
- name: Generate Prisma client
if: ${{ inputs.generate-prisma == 'true' }}
shell: bash
run: poetry run prisma generate
run: uv sync --frozen
Loading
Loading