ワンクリックで
add-service
Guided checklist for safely adding a new platform service to AIXCL, preserving all invariants
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Guided checklist for safely adding a new platform service to AIXCL, preserving all invariants
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Audit all versioned platform components and manage the update process following issue-first workflow
Comprehensive repository health check covering hygiene, security, and code quality
Guided workflow for cutting an AIXCL release, fronting the aixcl release command
Validates Issue-First workflow compliance before execution
| name | add-service |
| description | Guided checklist for safely adding a new platform service to AIXCL, preserving all invariants |
| compatibility | OpenCode, Claude Code |
| metadata | {"category":"platform","version":"1.1"} |
Add a new operational service to the AIXCL platform stack, walking through every required change in the correct order and flagging invariant risks.
When a new operational service (monitoring, logging, automation, UI) is being added to the stack.
Before starting, confirm:
docker compose -f services/docker-compose.yml config > /dev/null passes currentlyAdd a service entry to services/docker-compose.yml.
Required fields:
<service-name>:
image: <registry>/<image>:<pinned-version> # Always pin the version
container_name: <service-name>
network_mode: host # INVARIANT -- do not change
restart: unless-stopped # or on-failure for one-shot
volumes:
- <named-volume>:/data # use named volumes, not bind mounts
Rules:
network_mode: host is present (invariant)latest tags)scripts/runtime/Validate:
docker compose -f services/docker-compose.yml config > /dev/null
yamllint -c .yamllint.yml services/docker-compose.yml
Add the named volume to the volumes: section at the bottom of docker-compose.yml:
volumes:
<service-volume-name>:
Naming convention: aixcl-<service-name>-<purpose> (e.g., aixcl-grafana-data)
Edit config/profiles/<profile>.env to add the service name to the active
service list for each profile that should include it.
Profile decision guide:
bld.env: observability, server-side tools, no end-user UI
sys.env: everything in bld plus end-user UI (WebUI, admin tools)
Both: required infrastructure (secrets, databases)
Service added to the appropriate profile env file(s)
If adding to bld, also add to sys (sys is a superset of bld)
Edit docs/architecture/governance/02_profiles.md to list the new service
under the correct profile's "Includes" section.
For services that other services depend on, add a service contract:
docs/architecture/governance/service_contracts/runtime/<service>.mddocs/architecture/governance/service_contracts/bld/<service>.mdContract template:
# Service Contract: <service-name>
## Provides
- <what other services can depend on>
## Requires
- <what this service depends on>
## Invariants
- <things that must always be true about this service>
If the service needs custom startup logic:
scripts/runtime/<service>-entrypoint.shset -euo pipefail at the topvolumes:
- ../scripts/runtime/<service>-entrypoint.sh:/<service>-entrypoint.sh:ro
entrypoint: ["/<service>-entrypoint.sh"]
shellcheck --severity=warning --exclude=SC1091 scripts/runtime/<service>-entrypoint.sh passesbash -n scripts/runtime/<service>-entrypoint.sh passesdocker compose -f services/docker-compose.yml config > /dev/null
yamllint -c .yamllint.yml services/docker-compose.yml
bash scripts/checks/check-paths.sh
./scripts/checks/check-ai-elisions.sh --staged
git add services/docker-compose.yml config/profiles/ docs/ scripts/runtime/
git commit -m "feat: add <service-name> service
- Add compose service definition with host networking
- Register in <profile> profile
- Add entrypoint script
- Update profile documentation
Fixes #<issue-number>"
PR checklist:
Add <service-name> service (#<N>) (no colons)Feature + component:infrastructure (+ profile label if applicable)You MUST NOT:
latest image tagsnetwork_mode: bridge or custom Docker networks