Skip to content
cccskills
FreePublished on GitHub

litestar-styleguide

Use when authoring Litestar skill content, Python/TypeScript examples, PEP 604, async I/O, Google docstrings, ruff/mypy/pyright, pytest, or CI rules. Not for focused Litestar APIs.

The English summary is being prepared. Showing the original description.

Works withGoogle Docs

Run score Not tested

See how to install

Files included (9)

  • SKILL.md7.8 KB
  • references/canonical-apps.md2.4 KB
  • references/ci-cd.md3.8 KB
  • references/general.md2.8 KB
  • references/google-developer-knowledge-mcp.md3.6 KB
  • references/litestar.md12.6 KB
  • references/python.md11.2 KB
  • references/testing.md7.2 KB
  • references/typescript.md5.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

litestar-styleguide

This is the shared style baseline that every other skill in this plugin references. It exists so that cross-cutting rules (PEP 604 unions, async I/O, ruff + mypy + pyright + prek, test file naming, CI/CD conventions) live in exactly one place — and individual skills stay focused on their framework or tool-specific surface.

Code Style Rules

  • Terse, imperative, authoritative. State the preferred choice and a one-line Reason:; never hedge ("you might want to…").
  • PEP 604 unions (T | None) and PEP 585 generics (list[T], dict[K, V]). Never use typing.Optional, typing.Union, typing.List, or typing.Dict.
  • from __future__ import annotations is a library-author guardrail, not a consumer rule. Application code (handlers, services, tests) MAY use it; avoid it only in modules defining runtime-introspected types (msgspec.Struct, SQLAlchemy Mapped[...], Dishka @provide, SAQ @task).
  • Keep runtime-inspected route annotations at module top-level (# noqa: TC001, TC002). When from __future__ import annotations and Ruff flake8-type-checking (TC) are active in Litestar controller/handler modules, keep Request, NamedDependency, FromDishka, FromPath, FromQuery, JSONBody, and request/response DTO imports at module top-level with # noqa: TC001, TC002 (or "**/controllers.py" = ["TC001", "TC002", "TC003"] in per-file-ignores), never inside if TYPE_CHECKING:. Reason: Litestar and Dishka inspect handler annotations at runtime during app startup and OpenAPI generation.
  • Async all I/O, Google-style docstrings, function-based pytest tests (@pytest.mark.anyio).
  • Litestar first-party stack bias with match-your-stack flexibility. Prefer msgspec, advanced-alchemy / sqlspec, litestar-granian, litestar-saq / litestar-queues when starting fresh, and match the user's existing stack when present.

Quick Reference

SliceReference FileKey Topics
Cross-language principlesreferences/general.mdSimplicity over cleverness, boundary validation, naming, import order
Python conventionsreferences/python.mdPEP 604/585, # noqa: TC001, TC002, msgspec.Struct, async I/O, docstrings, ruff, mypy, pyright, prek
Litestar baselinereferences/litestar.mdTyped markers (FromPath, FromQuery, JSONBody, RequestBody, NamedDependency, SkipValidation), Provide vs Dishka, MsgspecDTO, Guards, plugins
TypeScript conventionsreferences/typescript.mdStrict tsconfig, discriminated unions, named exports, oxlint / biome
Testing conventionsreferences/testing.mdpytest + anyio, AsyncTestClient lifespan fixtures, Vitest, 90%+ coverage
CI/CD conventionsreferences/ci-cd.mdGitHub Actions with setup-uv, prek / .pre-commit-config.yaml, matrix builds
Canonical reference appsreferences/canonical-apps.mdlitestar-fullstack-inertia, litestar-fullstack, litestar-sqlstack, oracledb-vertexai-demo
Google Developer Knowledge MCPreferences/google-developer-knowledge-mcp.mdOpt-in MCP setup for fresh GCP / Firebase / Maps documentation

How sibling skills consume this

Every SKILL.md in this plugin has a ## Shared Styleguide Baseline section near the bottom. That section links to a subset of these references — only the ones that apply to the skill's language / framework mix. For example:

  • skills/litestar/SKILL.md links to general.md + python.md + litestar.md
  • skills/litestar-vite/SKILL.md links to general.md + typescript.md + litestar.md
  • skills/litestar-testing/SKILL.md links to general.md + testing.md + python.md + litestar.md

The sibling skill extends the baseline with its own tool-specific Code Style Rules, Quick Reference, Guardrails, and Validation — but it does not duplicate the baseline. If a convention is generic (type hints, naming, imports), it belongs here.

When to update this skill

  • A rule becomes contentious across two or more sibling skills → pull it into the right baseline reference file here.
  • A new language lands (Rust, Mojo, etc.) → add a new references/<lang>.md and link from skills that use it.
  • A tool is swapped out (e.g., ruff replaces flake8 + black, prek replaces pre-commit CLI) → update python.md / ci-cd.md once; all sibling skills inherit it.
<workflow>

Workflow — consuming this baseline

  1. Open the sibling skill you are editing (skills/<name>/SKILL.md).
  2. Look at its ## Shared Styleguide Baseline section — it already lists a subset of the references here.
  3. When adding a rule to the sibling, ask: is it generic (language/tooling) or framework-specific? Generic → land it in the right file under references/ here. Specific → keep it in the sibling.
  4. Cross-link bidirectionally if a rule here is amplified in the sibling.
</workflow> <guardrails>

Guardrails

  • No duplication across skills. A rule lives in exactly one file; sibling skills link to it.
  • No folklore. Every rule has a one-line justification (perf, runtime introspection, OpenAPI alignment, etc.). Delete rules you cannot justify.
  • Terse and imperative. Bullets are ≤ 2 sentences. If a topic needs more, split it into its own reference file.
  • Examples are minimal and copy-pasteable. No pseudo-code; no multi-hundred-line fixtures.
</guardrails> <validation>

Validation Checkpoint

  • Every sibling skill's ## Shared Styleguide Baseline section resolves to files that exist under references/
  • No rule is duplicated between two reference files (check via grep when editing)
  • Each "never do X" rule has a one-line Reason: explanation
  • New language support lands as a single new references/<lang>.md — not scattered into sibling skills
</validation> <example>

Example — adding a new rule

A reviewer finds that two sibling skills independently wrote "use ruff format not black". Instead of leaving duplicates, pull the rule into references/python.md:

- **Use `ruff format`, never `black`.** Reason: ruff is the single toolchain for
  lint + format; running two formatters produces style drift.

Then in each sibling's SKILL.md, replace the duplicate with a pointer:

## Shared Styleguide Baseline

- [Python](../litestar-styleguide/references/python.md)
</example>

References Index

Official References

Shared Styleguide Baseline

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Auto-activate for advanced_alchemy, alembic/, SQLAlchemyAsyncRepositoryService, SQLAlchemyAsyncConfig, repository_type, service_class, filters, or storage. Not for raw SQLAlchemy — use sqlspec.

The English summary is being prepared. Showing the original description.

litestar-org/litestar-skills16Updated Oct 20, 2026

Auto-activate for Litestar, Controller, Router, @get/@post, FromPath, MsgspecDTO, OpenAPIConfig, Provide, FromDishka, Guard, ASGIMiddleware, HTTPException, ChannelsPlugin, or WebSocket. Not for standalone libs.

The English summary is being prepared. Showing the original description.

litestar-org/litestar-skills16Updated Oct 20, 2026

Auto-activate for Google ADK, LlmAgent, Runner, SQLSpecSessionService, google-genai, AgentRuntime, AgentGroup, SpecTree, DynamicWorkflow, FunctionTool, or SSE agent chats. Not for offline ML training.

The English summary is being prepared. Showing the original description.

litestar-org/litestar-skills16Updated Oct 20, 2026

Auto-activate for litestar_autowire, AutowirePlugin, AutowireConfig, domain_packages, AutowireIntegration, AutowireLoader, or clear_autowire_cache. Not for manual Router composition — use explicit routes.

The English summary is being prepared. Showing the original description.

litestar-org/litestar-skills16Updated Oct 20, 2026

Auto-activate for uv build, hatch build, PyApp, PYAPP_*, wheel assets, GitHub release matrices, cargo-zigbuild, or python-build-standalone. Not for runtime deployment.

The English summary is being prepared. Showing the original description.

litestar-org/litestar-skills16Updated Oct 20, 2026

Auto-activate for Dockerfile, compose, Railway, Cloud Run, GKE, systemd, Kubernetes, Terraform, deploy scripts, or granian/litestar run at runtime. Not for packaging artifacts.

The English summary is being prepared. Showing the original description.

litestar-org/litestar-skills16Updated Oct 20, 2026

See all skills by litestar-org

Report a problem with this skill