⚙️ Environment
🗺️ Emoji ↔ Type
✍️ Commit-msg
😄 Gitmojis
📚 Offline docs
🚀 First repo
📁 Structure
📦 Python packagesrc/ layout — snowflake-kit, provider, tools
🗄️ Data projectresources/ layout — template & instances
conda environment name
📦 Project dependencies Select all
snowflake-core base
Snowflake Python Core API
snowflake-snowpark-python base
Snowpark Python (DataFrames, UDFs, sprocs)
snowflake-telemetry-python base
Tracing & telemetry events
🪝 Pre-commit hooks Select all
Generated commands
Full script
copy
Step by step
1. Create env
copy
2. Project dependencies
copy
3. pre-commit + hook libs
copy
4. Activate hooks
copy
🗺️ Emoji ↔ Type mapping + New type
Each emoji belongs to exactly one type . The hook validates the combination.
Click an emoji to add/remove. A greyed emoji is already used by another type.
👁️ Mapping preview
The hook validates: the emoji must match the declared type exactly.
📊 Coverage
📂 Scopes
+ Add
🎫 Ticket prefixes
+ Add
💾 Special case "save"
💾 save: <desc> [skip ci]
Always included — WIP commit without triggering CI
Expected format
<emoji> <type>(<scope>): <description>
scope and ticket are optional · emoji determines the allowed type
Generated hook
copy
Installation
copy
💡 Two installation methods
A) git config core.hooksPath scripts/hooks
B) pre-commit install --hook-type commit-msg
🐍 Python modules to document
Doc generated locally from installed source — browsable offline.
🔧 Documentation tool
🌐 External APIs
Specs in docs/api/ alongside the code that uses them (Swagger, WSDL, XSD).
Generated commands
Generate Python offline docs
copy
Integrate external API specs
copy
💡 Convention
📁 docs/api/snowflake-core/ → Python offline doc
📁 docs/api/snowpark/ → Snowpark offline doc
📁 docs/api/<service>/ → swagger / wsdl / xsd
🌐 Serve locally
python -m http.server 8080 --directory docs/api/copy
📁 Project structure
Switch between profiles above to see the matching layout.
copy
🔗 Path ↔ purpose
📋 pyproject.toml
copy
📋 .gitignore
copy
💡 docs/api/ — two conventions Ignore generated HTML (lighter repo) · or version it for offline-first teams (e.g. snowflake-kit).