Phase 1 - Internal reference cleanup:
- Delete dev_docs/meetings/ (internal meeting notes/transcripts)
- Replace hardcoded usernames (padak/matejkys/dasa) with deploy/generic
- Replace "Internal AI Data Analyst" with "AI Data Analyst"
- Replace keboola/internal_ai_data_analyst URLs with your-org/ai-data-analyst
- Replace /tmp/keboola_load/ with /tmp/data_analyst_staging/ in dev_docs
Phase 2 - Deployment hardening:
- Tighten sudoers wildcards to explicit paths (visudo, sudoers cp)
- setup.sh creates all groups (data-ops, dataread, data-private) and deploy user
- webapp-setup.sh copies sudoers-webapp from repo instead of inline definition
- deploy.sh conditional copy for data_description.md (not in git for OSS)
- deploy.sh ownership changed to deploy:data-ops for /data/{scripts,docs,examples}
Phase 3 - Config and misc:
- Add ${ENV_VAR} interpolation to config/loader.py
- Expand config/instance.yaml.example with all sections (admins, deployment, auth, etc.)
- Create config/.env.template for secret values
- Add MIT LICENSE
- Fix .gitignore: add .venv/, docs/data_description.md
- Fix README.md: CSV status Planned, remove metrics/, update license text
- Translate Czech comments in requirements.txt to English
- Fix test_account_service.py: mock username mapping instead of relying on instance config
All 118 tests pass.
130 lines
1.6 KiB
Text
130 lines
1.6 KiB
Text
# Claude Code
|
|
.claude/
|
|
|
|
# Local dev data (copied from server for testing)
|
|
dev_data/
|
|
session-analysis/
|
|
|
|
# Environment variables
|
|
.env
|
|
.env.local
|
|
.env.development
|
|
.env.test
|
|
.env.production
|
|
.env*.local
|
|
|
|
# Operating System
|
|
.DS_Store
|
|
.DS_Store?
|
|
._*
|
|
.Spotlight-V100
|
|
.Trashes
|
|
ehthumbs.db
|
|
Thumbs.db
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# IDEs and Editors
|
|
.vscode/
|
|
.idea/
|
|
*.sublime-project
|
|
*.sublime-workspace
|
|
.project
|
|
.classpath
|
|
.settings/
|
|
*.iml
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
MANIFEST
|
|
.pytest_cache/
|
|
.coverage
|
|
.coverage.*
|
|
htmlcov/
|
|
.tox/
|
|
.nox/
|
|
.mypy_cache/
|
|
.dmypy.json
|
|
dmypy.json
|
|
.pyre/
|
|
venv/
|
|
.venv/
|
|
env/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
|
|
# Node.js
|
|
node_modules/
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.npm
|
|
.yarn/cache
|
|
.yarn/unplugged
|
|
.yarn/build-state.yml
|
|
.yarn/install-state.gz
|
|
.pnp.*
|
|
|
|
# Logs
|
|
logs/
|
|
*.log
|
|
|
|
# Temporary files
|
|
*.tmp
|
|
*.temp
|
|
.cache/
|
|
prototypes/*
|
|
dev_scripts/metadata_writer/proposals/*
|
|
|
|
# Build outputs
|
|
dist/
|
|
build/
|
|
out/
|
|
target/
|
|
|
|
# SSH keys
|
|
.ssh/
|
|
|
|
# Instance configuration (contains secrets and instance-specific values)
|
|
config/instance.yaml
|
|
config/data_description.md
|
|
|
|
# Instance-specific data description (generated per-instance)
|
|
docs/data_description.md
|
|
|
|
# Actual deploy workflow (created from .example, may contain secrets in comments)
|
|
.github/workflows/deploy.yml
|
|
|
|
# Project-specific: Data directory
|
|
# Downloaded data from Keboola - never commit
|
|
data/
|
|
|
|
# Metadata tooling - entire folder
|
|
# Tooling for metadata enrichment - not part of main application
|
|
metadata_tooling/
|
|
|
|
# Internal notes (not for git)
|
|
temp/
|
|
docs/schema.yml
|
|
docs/datasets/*/schema.yml
|