General
PromptBeginner5 minmarkdown
Untitled Skill
193
**⚠️ CRITICAL: This project uses TWO dependency files that MUST be kept in sync**
Loading actions...
Main instructions and any bundled files for this skill.
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend li...
risks
⚠️ CRITICAL: This project uses TWO dependency files that MUST be kept in sync
backend/requirements.txt: Runtime dependencies for local development (Conda environment)backend/pyproject.toml: Development dependencies used by GitHub Actions CI/CDDependency sync failures WILL break CI and block commits.
# 1. Add to requirements.txt
echo "new-package==1.2.3" >> backend/requirements.txt
# 2. Add to pyproject.toml dependencies section
# Edit backend/pyproject.toml and add: "new-package==1.2.3",
# 3. Verify sync (MANDATORY)
make check-deps
# 4. Install locally
conda run -n ymb-py311 pip install new-package==1.2.3
# Add only to pyproject.toml [project.optional-dependencies.dev]
# Then reinstall dev dependencies
conda run -n ymb-py311 pip install -e ./backend[dev]
make check-deps before commits❌ Dependencies in requirements.txt but missing from pyproject.toml:
- new-package
- another-package==2.1.0
❌ Dependencies in pyproject.toml but missing from requirements.txt:
- dev-only-package
# ✅ CORRECT: Use conda environment for all backend operations
conda run -n ymb-py311 pip install package-name
conda run -n ymb-py311 pip list
conda run -n ymb-py311 python -m pip freeze
# ❌ INCORRECT: Never use system pip
pip install package-name # Will install in wrong environment
bleach==6.1.0 # HTML sanitization
cryptography==41.0.7 # API key encryption
slowapi==0.1.9 # Rate limiting
chardet==5.2.0 # Safe encoding detection
pydantic>=2.0.0 # Input validation
# Check dependency sync (run before committing)
make check-deps
# Install/update dependencies
conda run -n ymb-py311 pip install -e ./backend[dev]
# Verify environment state
conda run -n ymb-py311 pip list | grep mypy
# If dependency sync fails
make check-deps # See what's missing/mismatched
# If environment is corrupted
conda env remove -n ymb-py311
make setup # Recreate environment
# If CI fails but local passes
conda run -n ymb-py311 pip install -e ./backend[dev] # Sync with CI
The project ensures identical dependencies between:
ymb-py311)# Verify conda environment setup
conda run -n ymb-py311 python --version # Should show Python 3.11.x
conda run -n ymb-py311 which python # Should point to conda env
conda run -n ymb-py311 pip list | grep mypy # Verify dev tools
# Verify dependency files are in sync
make check-deps # Should show ✅ All dependencies are in sync
When implementing new features that require dependencies:
requirements.txt and pyproject.tomlmake check-deps to verify syncconda run -n ymb-py311 pip install package-name# 1. Update version in both files
# 2. Install updated version
conda run -n ymb-py311 pip install --upgrade package-name
# 3. Test thoroughly
make test
# 4. Verify sync
make check-deps
# 5. Commit both files
git add backend/requirements.txt backend/pyproject.toml
git commit -m "chore: upgrade package-name to vX.Y.Z"