Scaffold archipy service
Skill SyntaxArc/archipy-plugin/skills/scaffold-archipy-service
Scaffold a thin ArchiPy service (FastAPI router or gRPC servicer) and note AppUtils / FastAPIConfig bootstrap. Use when adding HTTP/gRPC transport under services/{domain}/v{n}/.From its SKILL.md
npx -y skills add SyntaxArc/archipy-plugin --skill scaffold-archipy-serviceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
1.8 KB, as published. Nobody here has run it
Scaffold ArchiPy Service
Before writing files
Ask the user for:
- Domain name (e.g.
user) - API version (default
v1) - Transport: FastAPI (default) or gRPC (sync vs async)
Prefer ArchiPy
uv add "archipy[fastapi]" # HTTP
uv add "archipy[grpc]" # gRPC
Generate
services/<domain>/v{n}/
└── <domain>_service.py
FastAPI
- Thin router: request → domain
*InputDTO→ logic →*OutputDTO. - Export
create_router(container)(or equivalent) formanage.py/ app factory. - Map domain errors to HTTP status; no business rules / atomic UoW decorators here.
gRPC
- Thin servicer calling logic; sync servicers with
AppUtils.create_grpc_app, async withcreate_async_grpc_app. - Do not mix sync/async servicer styles on one server.
Bootstrap (entrypoint)
Prefer AppUtils — do not hand-roll bare FastAPI() / grpc.server():
from archipy.helpers.utils.app_utils import AppUtils
from archipy.configs.base_config import BaseConfig
app = AppUtils.create_fastapi_app()
app.include_router(create_user_v1_router(container))
uvicorn in manage.py from config.FASTAPI (SERVE_HOST, SERVE_PORT, RELOAD, PROXY_HEADERS,
FORWARDED_ALLOW_IPS).
Constraints
- Version in path (
v1,v2), not in business logic. - Do not re-implement CORS/exception handlers/stock gRPC interceptors AppUtils already wires.
- Wire logic via DI container.