Skip to content
Open
Show file tree
Hide file tree
Changes from 71 commits
Commits
Show all changes
565 commits
Select commit Hold shift + click to select a range
6f2d312
test: add unit tests for error handling and Sentry integration
kzndotsh Sep 20, 2025
f65d8d6
test: add end-to-end tests for error handling flow
kzndotsh Sep 20, 2025
185d485
refactor: simplify test configuration by consolidating fixtures
kzndotsh Sep 20, 2025
077ef2d
refactor: remove Sentry error capturing from database connection methods
kzndotsh Sep 20, 2025
6820e30
refactor: enhance bot setup process with improved error handling and …
kzndotsh Sep 21, 2025
be7a9bc
feat: add Role Count plugin for All Things Linux Discord server
kzndotsh Sep 21, 2025
37c7b2f
refactor: enhance error handling in guild configuration and snippet c…
kzndotsh Sep 23, 2025
fc8a0b8
fix: change default value of 'dirty' option in DocsCLI to False
kzndotsh Sep 23, 2025
f90a0cf
style: enhance UI with smooth scrolling, custom scrollbars, and moder…
kzndotsh Sep 23, 2025
9d7120e
feat: add MkDocs Tux plugin for documentation generation
kzndotsh Sep 23, 2025
2bd9a82
feat: update MkDocs configuration for enhanced documentation structure
kzndotsh Sep 23, 2025
58c6fc0
docs: update README and add comprehensive documentation
kzndotsh Sep 24, 2025
7e0f750
chore: fix mkdocs color
kzndotsh Sep 24, 2025
21e75a9
feat(pyproject.toml): add MkDocs plugin entry point for TuxPlugin
kzndotsh Sep 24, 2025
ec9ef44
chore: update .gitignore to include settings.yml for developers who s…
electron271 Sep 25, 2025
e23d120
docs: update markdown formatting in contributing, faq, support, and d…
kzndotsh Sep 28, 2025
df66aac
refactor: update import paths for ErrorHandler in error handling tests
kzndotsh Sep 28, 2025
b35ad29
feat(setup): implement bot initialization services for setup orchestr…
kzndotsh Sep 28, 2025
c979767
feat(base_cog): add unload_if_missing_config method for graceful cog …
kzndotsh Sep 28, 2025
7ed3b81
refactor(bot): streamline bot setup process and remove deprecated met…
kzndotsh Sep 28, 2025
a6468dc
feat(cog_loader): enhance cog eligibility checks and logging
kzndotsh Sep 28, 2025
115bb8f
refactor(logging): simplify logging configuration and remove deprecat…
kzndotsh Sep 28, 2025
a7e4015
refactor(database): improve database service retrieval logic
kzndotsh Sep 28, 2025
64dc98e
feat(config): implement unload_if_missing_config checks in multiple cogs
kzndotsh Sep 28, 2025
9b18520
feat(error_handler): introduce comprehensive error handling cog for D…
kzndotsh Sep 28, 2025
eb17ea9
feat(activity_handler): enhance activity management with placeholder …
kzndotsh Sep 28, 2025
049f709
chore(substitutions): remove unused substitutions module from the cod…
kzndotsh Sep 28, 2025
5c2f948
feat(hot_reload): add hot reload cog and enhance reload logic
kzndotsh Sep 28, 2025
47c35f0
feat(base_cli): add type annotations for CLI application attributes
kzndotsh Sep 30, 2025
4eec1a8
feat(app): add type annotations and improve shutdown event handling
kzndotsh Sep 30, 2025
7d8f118
feat(base_cog): add type annotation for _unload_task attribute
kzndotsh Sep 30, 2025
a5bfa6f
fix(permission_system): update type ignore comments for context handling
kzndotsh Sep 30, 2025
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
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,14 +117,14 @@ coverage:
# BOT COMMANDS AND FEATURES (High standards - 75% target)
# User-facing commands and Discord integrations
# High standards because these directly impact user experience
cogs:
modules:
target: 75%
threshold: 2%
informational: true # Don't block PRs while building up test suite
flags:
- unit
paths:
- tux/cogs/**/* # All command cogs and Discord slash commands
- tux/modules/**/* # All command modules and Discord slash commands
only_pulls: true

# UTILITIES AND HELPERS (Moderate standards - 70% target)
Expand Down Expand Up @@ -366,10 +366,10 @@ component_management:
# User-facing Discord commands and integrations
- unit
- database
- component_id: cogs
- component_id: modules
name: Bot Commands & Features
paths:
- tux/cogs/**/* # All command cogs organized by category
- tux/modules/**/* # All command modules organized by category
flag_regexes:
- unit

Expand Down
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
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
38 changes: 19 additions & 19 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 Down Expand Up @@ -106,7 +106,7 @@ Follow these steps to set up your local development environment. For more compre

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

## 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
52 changes: 17 additions & 35 deletions .github/actions/setup-python/action.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,48 @@
name: Setup Python Environment
description: Set up Python with Poetry, dependencies, and optional Prisma client generation
description: Set up Python with Uv, dependencies, and optional Prisma client generation
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
default: 0.8.8
enable-cache:
description: Enable uv cache persistence
required: false
default: default
default: 'true'
generate-prisma:
description: Whether to generate Prisma client
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
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
run: uv sync --frozen

# 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 run prisma generate
7 changes: 3 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
files: |
**/*.py
pyproject.toml
poetry.lock
uv.lock

# EARLY TERMINATION FOR UNCHANGED FILES
# Skips expensive Python setup if no relevant files changed
Expand All @@ -110,15 +110,14 @@ jobs:
uses: ./.github/actions/setup-python
with:
python-version: '3.13'
install-groups: dev,types
cache-suffix: ci
generate-prisma: 'true'
enable-cache: 'true'

# STATIC TYPE CHECKING
# basedpyright provides comprehensive type checking for Python
# Annotations appear directly in PR for developer feedback
- name: Run basedpyright type checker
run: poetry run basedpyright
run: uv run basedpyright

# ============================================================================
# MARKDOWN DOCUMENTATION LINTING
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/maintenance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ jobs:
ESCAPE: true # Handle special characters safely
# EXCLUSION PATTERNS
# Skip maintenance-heavy directories and lock files
IGNORE: .github/,node_modules/,dist/,build/,vendor/,poetry.lock
IGNORE: .github/,node_modules/,dist/,build/,vendor/,uv.lock
PROJECTS_SECRET: ${{ secrets.ADMIN_PAT }}
env:
# MANUAL OVERRIDE SUPPORT
Expand Down Expand Up @@ -201,9 +201,9 @@ jobs:
# Monitors for outdated dependencies requiring security or feature updates
- name: Check for outdated dependencies
run: |
if command -v poetry &> /dev/null; then
if command -v uv &> /dev/null; then
echo "Checking for outdated dependencies..."
poetry show --outdated || echo "All dependencies up to date"
uv pip list --outdated || echo "All dependencies up to date"
fi

# PROJECT METRICS COLLECTION
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,18 +176,15 @@ jobs:
uses: ./.github/actions/setup-python
with:
python-version: '3.13'
install-groups: main
cache-suffix: security
generate-prisma: 'false'
enable-cache: 'true'

# SECURITY VULNERABILITY SCANNING
# Comprehensive security advisory checking with structured output
- name: Run Safety check
run: |
pip install safety
# Ensure Poetry export plugin is available
poetry self add poetry-plugin-export
poetry export --without=dev --format=requirements.txt --output=requirements.txt
uv export --format requirements.txt --output-file requirements.txt
safety check --json --output safety-report.json -r requirements.txt || true

# SECURITY REPORT ARCHIVAL
Expand Down
17 changes: 8 additions & 9 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
files: |
**/*.py
pyproject.toml
poetry.lock
uv.lock
tests/**
conftest.py

Expand All @@ -122,9 +122,8 @@ jobs:
uses: ./.github/actions/setup-python
with:
python-version: ${{ matrix.python-version }}
install-groups: dev,test,types
cache-suffix: test
generate-prisma: 'true'
enable-cache: 'true'

# TEST ENVIRONMENT CONFIGURATION
# Creates isolated test environment with SQLite for CI safety
Expand Down Expand Up @@ -154,13 +153,13 @@ jobs:
# ADAPTIVE PARALLEL EXECUTION
# Uses pytest-xdist for parallel execution when beneficial
# Threshold of 10 tests balances overhead vs performance gain
TEST_COUNT=$(poetry run pytest --collect-only -q tests/ -m "not slow and not docker" 2>/dev/null | grep -c "test session starts" || echo "0")
TEST_COUNT=$(uv run pytest --collect-only -q tests/ -m "not slow and not docker" 2>/dev/null | grep -c "test session starts" || echo "0")
if [ "$TEST_COUNT" -gt 10 ]; then
echo "Running $TEST_COUNT tests in parallel..."
poetry run pytest tests/ -v --cov=tux --cov-branch --cov-report=xml:coverage-unit.xml --cov-report=term-missing -m "not slow and not docker" --junitxml=junit-unit.xml -o junit_family=legacy --cov-fail-under=0 -n auto
uv run pytest tests/ -v --cov=tux --cov-branch --cov-report=xml:coverage-unit.xml --cov-report=term-missing -m "not slow and not docker" --junitxml=junit-unit.xml -o junit_family=legacy --cov-fail-under=0 -n auto
else
echo "Running $TEST_COUNT tests sequentially..."
poetry run pytest tests/ -v --cov=tux --cov-branch --cov-report=xml:coverage-unit.xml --cov-report=term-missing -m "not slow and not docker" --junitxml=junit-unit.xml -o junit_family=legacy --cov-fail-under=0
uv run pytest tests/ -v --cov=tux --cov-branch --cov-report=xml:coverage-unit.xml --cov-report=term-missing -m "not slow and not docker" --junitxml=junit-unit.xml -o junit_family=legacy --cov-fail-under=0
fi
echo "Unit test coverage generation completed"

Expand Down Expand Up @@ -224,7 +223,7 @@ jobs:
# Targets only database directory for precise scope
- name: Run database tests with coverage
if: steps.check_db_tests.outputs.has_tests == 'true'
run: poetry run pytest tests/tux/database/ -v --cov=tux/database --cov-branch
run: uv run pytest tests/tux/database/ -v --cov=tux/database --cov-branch
--cov-report=xml:coverage-database.xml --junitxml=junit-database.xml -o
junit_family=legacy --cov-fail-under=0

Expand Down Expand Up @@ -259,7 +258,7 @@ jobs:
== 'workflow_dispatch'
id: check_integration_tests
run: |
if poetry run pytest --collect-only -m "slow" -q tests/ | grep -q "test session starts"; then
if uv run pytest --collect-only -m "slow" -q tests/ | grep -q "test session starts"; then
echo "has_tests=true" >> "$GITHUB_OUTPUT"
echo "Integration tests found"
else
Expand All @@ -283,7 +282,7 @@ jobs:
# Provides realistic end-to-end testing without blocking development
- name: Run integration tests with coverage
if: steps.check_integration_tests.outputs.has_tests == 'true'
run: poetry run pytest tests/ -v --cov=tux --cov-branch --cov-report=xml:coverage-integration.xml
run: uv run pytest tests/ -v --cov=tux --cov-branch --cov-report=xml:coverage-integration.xml
-m "slow" --junitxml=junit-integration.xml -o junit_family=legacy --cov-fail-under=0
continue-on-error: true # Don't fail CI if integration tests fail

Expand Down
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ ipython_config.py
# Pipenv
Pipfile.lock

# Poetry
poetry.lock
# uv
uv.lock

# Pdm
.pdm.toml
Expand Down Expand Up @@ -181,3 +181,6 @@ prisma_binaries/
.archive/

reports/

.kiro
.audit
4 changes: 4 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,7 @@ prisma/
typings/

.github/

.kiro/

.audit/
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ repos:
additional_dependencies:
- '@commitlint/cli'
- '@commitlint/config-conventional'
exclude: ^(\.archive/|.*typings/|node_modules/|\.venv/).*$
exclude: ^(\.archive/|.*typings/|node_modules/|\.venv/|\.kiro/).*$
ci:
autofix_commit_msg: 'style: auto fixes from pre-commit hooks'
autoupdate_commit_msg: 'chore: update pre-commit hook versions'
Loading