temporal-go
Temporal Go SDK
Build durable, fault-tolerant distributed applications using the Temporal Go SDK (go.temporal.io/sdk). Temporal provides workflow orchestration with automatic retries, state persistence, and exactly-once execution semantics.
Core Principles
- Deterministic Workflows: Workflow code must be deterministic. Never use
time.Now(),rand,maprange, goroutines, or I/O directly in Workflows. - Activities for Side Effects: All non-deterministic operations (HTTP calls, DB queries, file I/O) go in Activities.
- Struct Parameters: Use single struct parameters and return values for forward compatibility.
- Idempotent Activities: Activities may be retried; design them to be safely re-executable.
- Explicit Error Handling: Use Temporal's typed errors (
ApplicationError,TimeoutError,CanceledError) for control flow.
Project Structure
.
├── cmd/
│ ├── worker/ # Worker process entry point
│ └── starter/ # Workflow starter (client) entry point
More from brojonat/llmsrules
ibis-data
Use Ibis for database-agnostic data access in Python. Use when writing data queries, connecting to databases (DuckDB, PostgreSQL, SQLite), or building portable data pipelines that should work across backends.
13go-service
Build Go microservices with stdlib HTTP handlers, sqlc, urfave/cli, and slog. Use when creating or modifying a Go HTTP server, adding routes, middleware, database queries, or CLI commands.
13python-cli
Build Python CLIs with Click using subcommand groups. Use when creating or modifying a Python command-line interface, adding subcommands, or structuring a CLI package.
13parquet-analysis
Analyze parquet files using Python and Ibis. Use when the user wants to explore, transform, or analyze parquet data files, perform aggregations, joins, or export results. Works with local parquet files and provides database-agnostic data operations.
12ducklake
Work with DuckLake, an open lakehouse format built on DuckDB. Use when creating or querying DuckLake tables, managing snapshots, time travel, schema evolution, partitioning, or lakehouse maintenance operations.
12temporal-python
Build Temporal applications in Python using the temporalio SDK. Use when creating workflows, activities, workers, clients, signals, queries, updates, child workflows, timers, retry policies, saga/compensation patterns, testing, or any durable execution pattern in Python.
12