Settings fixes: - MAX_SITES_PER_USER, USER_RATE_LIMIT_PER_MIN/HR now read from DB settings table (DB > ENV > default), so dashboard/settings changes apply without restart. Sync cache refreshed on every save or delete. - /api/me reports the live DB value for max_sites_per_user. Admin improvements: - Admin users bypass per-user rate limiting entirely (role=admin or ADMIN_EMAILS). - Admin Overview now shows platform stats: registered users, new users (7d), total user sites, available tools. Plugin cleanup: - Appwrite and Directus plugins removed from the active registry (8 plugins now: WordPress, WooCommerce, WordPress Specialist, Gitea, n8n, Supabase, OpenPanel, Coolify). Plugin code is retained for future re-enabling. - Settings page plugin visibility list updated to match. Mobile onboarding: - Stepper steps on narrow viewports stack vertically with correct full border and rounded corners on each step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
195 lines
3.8 KiB
Plaintext
195 lines
3.8 KiB
Plaintext
# ====================================
|
|
# Python
|
|
# ====================================
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
|
|
# Distribution / packaging
|
|
dist/
|
|
build/
|
|
*.egg-info/
|
|
*.egg
|
|
MANIFEST
|
|
|
|
# Track G — preserve the SPA dist directory placeholder (so package_data can
|
|
# pick it up) but ignore the actual build output, which is regenerated by
|
|
# `cd web && npm run build` or the Dockerfile's frontend stage.
|
|
!core/templates/static/dist/
|
|
!core/templates/static/dist/.gitkeep
|
|
core/templates/static/dist/*
|
|
!core/templates/static/dist/.gitkeep
|
|
|
|
# Virtual environments
|
|
venv/
|
|
env/
|
|
ENV/
|
|
.venv/
|
|
|
|
# ====================================
|
|
# Testing
|
|
# ====================================
|
|
.pytest_cache/
|
|
.coverage
|
|
.coverage.*
|
|
htmlcov/
|
|
.tox/
|
|
pytest-out.txt
|
|
scripts/community-build/BUILD_REPORT.md
|
|
.nox/
|
|
coverage.xml
|
|
*.cover
|
|
.hypothesis/
|
|
|
|
# ====================================
|
|
# Type checking and linting
|
|
# ====================================
|
|
.mypy_cache/
|
|
.dmypy.json
|
|
dmypy.json
|
|
.ruff_cache/
|
|
.pytype/
|
|
|
|
# ====================================
|
|
# IDE and Editors
|
|
# ====================================
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.project
|
|
.pydevproject
|
|
.settings/
|
|
|
|
# Claude Code local settings
|
|
.claude/
|
|
|
|
# ====================================
|
|
# Logs and Runtime
|
|
# ====================================
|
|
*.log
|
|
server_output*.log
|
|
*.pid
|
|
|
|
# Keep logs directory structure but ignore contents
|
|
logs/*
|
|
!logs/.gitkeep
|
|
|
|
# ====================================
|
|
# OS Files
|
|
# ====================================
|
|
.DS_Store
|
|
.DS_Store?
|
|
._*
|
|
.Spotlight-V100
|
|
.Trashes
|
|
ehthumbs.db
|
|
Thumbs.db
|
|
Desktop.ini
|
|
|
|
# ====================================
|
|
# Environment and Configuration
|
|
# ====================================
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
.kilocode
|
|
.mcp.json
|
|
|
|
# ====================================
|
|
# Docker
|
|
# ====================================
|
|
docker-compose.override.yml
|
|
*.pid
|
|
|
|
# ====================================
|
|
# Backup files
|
|
# ====================================
|
|
*.backup
|
|
*.bak
|
|
*.old
|
|
*.orig
|
|
*~
|
|
|
|
# ====================================
|
|
# MCP Test files
|
|
# ====================================
|
|
MCP_TEST_REPORT.md
|
|
mcp_test_*.txt
|
|
test_mcp_connection.py
|
|
mcp_test_results.json
|
|
|
|
# ====================================
|
|
# Documentation builds
|
|
# ====================================
|
|
docs/_build/
|
|
site/
|
|
|
|
# ====================================
|
|
# Temporary files
|
|
# ====================================
|
|
*.tmp
|
|
*.temp
|
|
.cache/
|
|
|
|
# ====================================
|
|
# Security and sensitive data
|
|
# ====================================
|
|
secrets/
|
|
data/
|
|
*.pem
|
|
*.key
|
|
*.crt
|
|
*.cert
|
|
*.p12
|
|
*.pfx
|
|
|
|
# ====================================
|
|
# Database files
|
|
# ====================================
|
|
*.sqlite
|
|
*.sqlite3
|
|
*.db
|
|
|
|
# ====================================
|
|
# Node.js (if added in future)
|
|
# ====================================
|
|
node_modules/
|
|
|
|
# ====================================
|
|
# Temporary directories
|
|
# ====================================
|
|
temp/
|
|
pytest-cache-files-*/
|
|
|
|
# ====================================
|
|
# Project specific
|
|
# ====================================
|
|
# Add project-specific ignores here
|
|
.worktrees/
|
|
worktrees/
|
|
/.agents
|
|
uv.lock
|
|
|
|
# planning-with-files skill artifacts (session-local)
|
|
task_plan.md
|
|
findings.md
|
|
progress.md
|
|
|
|
# wp.org SVN working copies (separate VCS, not for git):
|
|
# - airano-mcp-bridge-wporg-svn/ → new slug `airano-mcp-bridge` (current)
|
|
# - airano-mcp-seo-bridge-svn/ → old slug `airano-mcp-seo-bridge` (deprecated, migration release lives here)
|
|
# - airano-mcp-bridge-svn/ → legacy stub from earlier exploration
|
|
wordpress-plugin/airano-mcp-bridge-svn/
|
|
wordpress-plugin/airano-mcp-bridge-wporg-svn/
|
|
wordpress-plugin/airano-mcp-seo-bridge-svn/
|
|
|
|
# Screenshot harness auth state — never commit (contains session cookie)
|
|
screenshots/.auth-state.json
|
|
screenshots/_*.json
|
|
# wp.org SVN working copy for the airano-mcp-bridge plugin (separate VCS, not for git)
|
|
wordpress-plugin/airano-mcp-bridge-svn/
|