schematic
schematic에는 uvicore에서 수집한 skills 10개가 있으며, 저장소 수준 직업 범위와 사이트 내 skill 상세 페이지를 제공합니다.
이 저장소의 skills
Configuration and authentication for a Uvicore app — the package-vs-app config split, env() variables, concern config files, accessing config at runtime, overriding other packages' config/IoC bindings, HTTP middleware, and auth (Guards, scopes/permissions, the current user, the Authentication middleware). Use when working with config, middleware, permissions, or login in a Uvicore application.
Working with data in a Uvicore app — defining database tables (database/tables/), ORM models (models/) with fields and relations, seeders (database/seeders/), querying with the async ORM query builder, configuring connections (config/database.py), and the ./uvicore db CLI commands. Use when adding or querying models/tables/seeders in a Uvicore application. Requires the 'database' extra.
Quick reference for the Uvicore framework that an app developer needs but cannot see (the framework is installed as a library in the uv virtualenv, not in this repo). Covers the import cheatsheet (where to import everything from), the uvicore.* globals, debugging with dump/dd, useful ./uvicore inspection commands, and how to read the installed framework source when a skill doesn't cover something.
Building server-rendered web features in a Uvicore app — web routes (http/routes/web.py), web controllers (http/controllers/), Jinja2 views/templates (http/views/), public files and static assets, the response.View/HTML/Text/Redirect helpers, route naming, and route groups. Use when adding browser-facing HTML pages to a Uvicore application.
Building REST API features in a Uvicore app — API routes (http/routes/api.py), API controllers (http/api/), the APIResponse envelope, returning ORM models, the automatic model CRUD API (ModelRouter / auto_api), OpenAPI/Swagger docs, route guards/scopes, and HTTP exceptions. Use when adding JSON/REST endpoints to a Uvicore application.
Writing and running tests for a Uvicore application — the pytest layout in tests/, the appstub fixture in tests/conftest.py that boots the app, enabling DB drop/create/seed, async test patterns, testing HTTP routes with a client, and running via uv run ./bin/test.sh. Use when adding or running tests in a Uvicore application.
Orientation for developing a Uvicore application — the folder layout, the package-vs-app config split, config/dependencies.py, the provider register()/boot() lifecycle and its register_* helpers, the console + HTTP entrypoints, and the ./uvicore gen schematic generators. Read this first before adding any feature to a Uvicore app.
Adding CLI commands to a Uvicore app — async command modules in commands/, the @command/@argument/@option decorators (AsyncClick), registering commands/groups in the provider via register_cli_commands, running them with ./uvicore <group> <command>, and the ./uvicore gen generators. Use when adding console commands to a Uvicore application.
Using the built-in Uvicore framework services from app code — caching (uvicore.cache), email (Mail), the Templates engine (render a Jinja .j2 to a string, e.g. for email bodies or CLI output), Redis (uvicore.ioc.make('redis')), the colored logger (uvicore.log), and the shared aiohttp HTTP client. Covers their async APIs and the matching config files. Use when an app needs to cache, send mail, render a template to a string, talk to Redis, log, or make outbound HTTP calls.
Extending a Uvicore app with your own logic layer — binding custom services into the IoC container (@uvicore.service / uvicore.ioc.make), defining and listening to events (@uvicore.event, Event.listen, app lifecycle events, reacting to ORM model events), and defining/dispatching background jobs (@uvicore.job). Use when adding reusable services, event listeners, or jobs to a Uvicore application.