Development process
Skill quantum-box/agent-packages/plugins/quantum-box/skills/development-process
Distribution repository for agent skills and plugins
npx -y skills add quantum-box/agent-packages --skill development-processAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
Tachyon standard development process. Use proactively before non-trivial Tachyon work, when choosing commands, checks, coding conventions, taskdoc/DD/ADR flow, or when detailed project rules are needed.
SKILL.md
9.9 KB, as published. Nobody here has run it
Development Process
Purpose
This skill is the canonical place for Tachyon's detailed development workflow,
basic commands, quality checks, and coding conventions. AGENTS.md and
CLAUDE.md should stay small and only route agents to skills and durable docs.
When a rule is a long-lived architecture or operations decision, verify or
create an ADR with adr-check. When a rule is implementation design for a
specific change, create or update a DD with design-doc.
Non-Negotiable Rules
- Use polite Japanese in conversation. Keep code comments and commit messages in English.
- Do not commit, push, create PRs, or change branches unless the user asks.
- Use
mise runfor project tasks. Do not usejust. - PRs are Ready PRs by default. Do not add
[codex]to PR titles. - Create Linear issues, not GitHub issues. For Codex, use
create-linear-issuewhen available; otherwise use the Tachyon CLI issue flow. - Do not create, change, or delete GitHub repositories directly with
ghor the GitHub UI. Manage them through Terraform inquantum-box/governance. - Keep everyday
ghauth read-only or unauthenticated. Do not storeadmin:org,repo,workflow, or similarly broad scopes. - Never commit secrets. Keep local credentials in ignored files such as
.env.localor.secrets.json.
Standard Flow
-
Orient
- Run
project-statuswhen the current branch or task state is unclear. - Search related taskdocs, DDs, ADRs, and Linear references before starting.
- Use
context-loaderfor domain-specific work.
- Run
-
Decide task tracking
- Use
taskdoc-createfor non-trivial work. - Taskdocs are execution logs and evidence, not durable architecture records.
- Keep only active branch work in
docs/src/tasks/in-progress/.
- Use
-
Design before implementation
- Use
design-docfor API, DB, UI workflow, cross-context behavior, authorization, billing, deployment, or operational behavior changes. - Use
adr-checkfor long-lived architecture, provider, runtime, security, deployment, billing, or operating decisions. - Always look for existing ADRs in
docs/src/architecture/decisions/before introducing a new durable rule.
- Use
-
Implement with local patterns
- Use
explore/find-patternbefore writing unfamiliar code. - Use the focused implementation skills when applicable:
implement-usecase,implement-graphql-resolver,implement-rest-endpoint,implement-component,implement-repository,implement-domain-entity,create-migration,create-scenario-test, andcreate-storybook. - Update the taskdoc with progress, decisions, checks, and evidence as work proceeds.
- Use
-
Verify
- Run lightweight checks for the changed surface first.
- Run build, format, lint, type checks, and tests on the host by default, scoped to the changed package or Rust crate when practical. macOS Docker virtualization overhead is not justified for ordinary validation.
- Use
docker-ci*only when the user explicitly requests it, CI parity depends on the container image, or the failure is suspected to be Docker-specific. Otherwise leave full integration coverage to PR CI. - For UI/user-flow changes, use
browser-testorplaywright-cli; API-only verification is not enough for UI changes. - Use real sign-in paths for browser verification unless the user explicitly asks for mock auth.
- Use heavy quality skills (
rust-quality-checker,node-quality-checker,final-quality-gate) only before PR/merge or when risk justifies it.
-
Prepare Ready PR
- Use
task-pr-ready. - Fetch
origin/main, confirm the target component version onorigin/main, bump the target component by at least one patch version in every implementation PR, archive taskdocs todocs/src/tasks/completed/v<pr-version>/, update docs navigation if needed, and then create a Ready PR.
- Use
-
Release work
- Use
task-completeonly for post-merge release work such as changelog, release notes, tags, and post-merge durable docs. The ordinary component version bump already belongs in the implementation PR. - Do not leave normal taskdoc archiving for merge-time cleanup.
- Use
-
Audit lifecycle
- Use
taskdoc-auditwhenin-progressgrows or duplicate taskdocs are suspected.
- Use
Basic Commands
Run commands from the repository root.
| Purpose | Command | Notes |
|---|---|---|
| Setup | mise install then mise run setup | Install tools and dependencies. |
| Local Tachyon | mise run up-local-tachyon or mise run uplt | Preferred daily path: API/UI on host, DB/Redis in Docker. |
| Full Tachyon | mise run up-tachyon | Docker-based stack. |
| Library | mise run up-library | Library API/UI stack. |
| Infra only | mise run docker-up | DB/Redis/migrations/seeds without app processes. |
| Logs | mise run docker-logs | Tail Tachyon API/UI logs. |
| Stop | mise run down | Stop containers and volumes. |
| Build | mise run build or pnpm run build | Turbo build. |
| Rust check | mise run check | Default lightweight Rust check. |
| Rust format | mise run fmt | Use before PR when Rust changed. |
| Full CI | mise run ci | Host execution; prefer changed-surface checks when practical. |
| Rust CI | mise run ci-rust | Host execution; use only when broad Rust validation is justified. |
| Node lint | pnpm exec turbo run lint --filter=<pkg> | Run for changed package. |
| Node types | pnpm exec turbo run ts --filter=<pkg> | Run for changed package. |
| Node format | pnpm exec turbo run format --filter=<pkg> | Use pnpm run format:write to fix format errors. |
| Docker CI | mise run docker-ci | Exceptional; explicit request or Docker-specific parity only. |
| Scenario tests | mise run tachyon-api-scenario-test | Required when Tachyon API scenarios change. |
| Library scenarios | mise run library-api-scenario-test | Required when Library API scenarios change. |
| Library codegen | mise run codegen-library | Required after Library GraphQL changes. Tachyon normally does not need codegen. |
| ID generation | mise run ulid | Lowercase ULID. |
For DB schema changes, load create-migration first and follow its TiDB rules.
For migration/seed execution, use db-sync.
Local URLs And Headers
- Tachyon UI:
http://localhost:${TACHYON_HOST_PORT:-16000} - Tachyon dev tenant:
http://localhost:${TACHYON_HOST_PORT:-16000}/v1beta/tn_01hjryxysgey07h5jz5wagqj0m - Tachyon GraphQL:
http://localhost:${TACHYON_API_HOST_PORT:-50054}/v1/graphql - Library UI:
http://localhost:${LIBRARY_HOST_PORT:-5010} - Required API headers in local/dev checks:
Authorization: Bearer dummy-tokenx-operator-id: tn_01hjryxysgey07h5jz5wagqj0mx-platform-idoptional,tn_prefixedx-user-idoptional; omit only when seed-user fallback is intended
Common test users:
test:us_01hs2yepy5hw4rz8pdq2wywnwt, administrator.test2:us_01ke1h5471vxsbscp8jd3bramn, non-admin permission testing.
Coding Conventions
TypeScript / React
- Follow Biome formatting: single quotes, trailing commas, minimal semicolons.
- Use Next.js App Router. Prefer Server Components unless client state or browser APIs are required.
- Keep GraphQL operations in
.graphqlfiles and use generated documents. - Component and story filenames are kebab-case.
- Prefer table/dense operational UI for large datasets.
- Use
neverthrowResult<T, E>for new frontend error handling where practical. - For Tachyon v1beta pages, wrap with
V1BetaSidebarHeaderand pass breadcrumbs. - Do not use Next.js Middleware; perform auth checks in pages with
authWithCheck().
Rust
- Follow
rustfmtand clippy. Keep line width around 76. - Follow Clean Architecture boundaries:
domain,usecase,interface_adapter, andhandler. - Use one public method per usecase. Name usecases with verbs, not nouns, and do
not add a
Usecasesuffix. - Include
executorandmulti_tenancyin usecase input data and runpolicy_checkat the start of authorized usecases. - Add auth actions and policy mappings to
scripts/seeds/n1-seed/008-auth-policies.yamlwhen introducing new actions. - Prefer
ok_or_elsewhen error construction is non-trivial. - Do not use
SQLX_OFFLINE=true. Use online SQLx checks and project tasks. - Do not use
sqlx::query!macros in tests; use repositories, fixtures, or mocks.
GraphQL / API
- Do not edit generated
schema.graphqldirectly. - Library GraphQL changes require
mise run codegen-library. - Keep resolver/controller code thin and route behavior through usecases.
Docs / YAML / Tests
- Project docs are Japanese. Use PlantUML for diagrams when applicable.
- Structured specs should be YAML with units and currency stated explicitly.
examples/should use real services, not mocks.tests/may use mocks/stubs for isolation and repeatability.- Storybook interaction tests are expected for UI components.
Domain Context Routing
- Auth, policies, and multi-tenancy: use
context-loaderthen relevant implementation skills. Check existing ADRs and auth policy seeds. - Payment, billing, NanoDollar, catalog pricing: use
context-loaderand linked architecture docs before changing calculations or units. - LLM/agents/providers: use
context-loader; provider/runtime rules often need ADR review. - Cloud app routing and txcloud proxy behavior are platform rules. Check ADRs or create/update one before changing the operating model.
Output When Used
When this skill guides a task, report:
- selected taskdoc / DD / ADR state
- implementation skills to use
- lightweight checks planned
- browser/scenario verification plan
- PR Ready or release path, if relevant