* fix: resolve all Rubocop and ERBLint offenses
Rubocop (16 offenses):
- Style/IfUnlessModifier in account_logo_controller
- Lint/RedundantSafeNavigation in templates_documents_controller
- Layout/LineLength in templates_documents_controller, account_config
- Rails/WhereMissing in teams_controller
- Rails/WhereExists in send_submitter_reminder_email_job
- Style/StringLiterals in create_teams migration
- Metrics/* (disabled via inline comments for complex case statements)
ERBLint (10 errors):
- Void element self-closing tags (img /> → img >)
- Layout/ArgumentAlignment in reminder_queue
- Style/StringLiterals + Rails/LinkToBlank in navbar_buttons
- Layout/BlockAlignment in custom_content mailer
- Style/WordArray in role_select
* feat: add local CI via Docker and pre-push lint hook
- Add docker-compose.ci.yml: lint, brakeman, rspec services
- Add Dockerfile.ci: test environment with Ruby, Node, Chromium
- Add bin/lint: quick lint-only check
- Add bin/ci: full CI suite (lint + brakeman + rspec)
- Add .githooks/pre-push: auto-runs linters before push
- Update docker-compose.yml: use ghcr.io image instead of local build
Setup: git config core.hooksPath .githooks
Usage: bin/ci or bin/lint
---------
Co-authored-by: Sebastian Noe <sebastian.schneider@boxine.de>
- Remove Discord, AI assistant, and support email from settings sidebar
- Remove Console and Plans menu items from sidebar and navbar dropdown
- Grey out SSO menu item (pro feature, not yet implemented)
- Rename 'Upgrade' button to 'Go Full Pro' linking to docuseal.com
- Point GitHub URL to snoe/docuseal-like-a-pro fork
- Replace hardcoded GitHub URLs with Docuseal::GITHUB_URL constant
Co-authored-by: Sebastian Noe <sebastian.schneider@boxine.de>