ワンクリックで
justfile
This skill should be used every time you work on justfile projects or just command changes in this repository.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
This skill should be used every time you work on justfile projects or just command changes in this repository.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Comprehensive guide for the ratkit Rust TUI component library built on ratatui 0.29, including feature flags, APIs, and implementation patterns. Use when building, debugging, or extending ratkit applications and examples.
Use this skill for all context planning, creation, updates, review, search, and sync work in this repository.
This skill should be used every time you generate, refresh, or validate codebase-derived SKILL.md documentation for this repository.
Use this skill when working on Nexus context workflows, CDD specifications, or deriving reusable skills from repository code.
This skill should be used every time you create, update, or review end-to-end tests in this repository.
This skill should be used every time you work on Next.js projects or Next.js app code changes in this repository.
| name | justfile |
| description | This skill should be used every time you work on justfile projects or just command changes in this repository. |
| compatibility | opencode |
Use a modular justfile architecture with separate recipe files organized by category in a justfiles/ directory.
justfiles/ directory at project root - All recipe files live heredevelopment/, building/, verification/, testing/, utilities/.just file (e.g., justfiles/development/web.just)justfile at root - Imports all recipe files, contains help command--list, a themed help menu# Default: Show help menu
default:
@just help
# ============================================================================
# Help Command
# ============================================================================
help:
@echo ""
@echo "\033[1;36m========== Project Commands ==========\033[0m"
# ... help content ...
# ============================================================================
# Development Commands
# ============================================================================
import 'justfiles/development/web.just'
import 'justfiles/development/desktop.just'
# ============================================================================
# Building Commands
# ============================================================================
import 'justfiles/building/build-server.just'
project/
├── justfile # Main justfile with imports
└── justfiles/
├── development/
│ ├── web.just
│ ├── desktop.just
│ └── dev.just
├── building/
│ ├── build-server.just
│ ├── build-desktop.just
│ └── build-web.just
├── verification/
│ ├── check-server.just
│ ├── check-desktop.just
│ └── check-web.just
├── testing/
│ ├── test.just
│ ├── test-unit.just
│ ├── test-integration.just
│ ├── test-e2e.just
│ └── test-all.just
└── utilities/
├── clean.just
└── install-tools.just
build-server, test-e2e, install-toolsbuild-server command lives in build-server.justPARAM, OPTIONAL, TARGET*ARGS) don't preserve quotes - When using *ARGS to accept multiple words, the quotes from the shell are stripped"{{ARGS}}" to pass multi-word arguments correctly to subcommands# BAD: Quotes are not preserved, "foo bar" becomes two arguments
search *QUERY:
my-tool {{QUERY}}
# `just search foo bar` runs: my-tool foo bar (2 args)
# GOOD: Wrap in quotes to preserve as single argument
search *QUERY:
my-tool "{{QUERY}}"
# `just search foo bar` runs: my-tool "foo bar" (1 arg)
# Command: build-server
# File: justfiles/building/build-server.just
build-server TARGET="release":
cargo build --release --bin {{TARGET}}
# Command: test-e2e
# File: justfiles/testing/test-e2e.just
test-e2e HEADLESS="true":
playwright test --headed={{HEADLESS}}
# Command: search (with variadic parameter)
# File: justfiles/utilities/search.just
search *QUERY:
cargo run --bin search -- "{{QUERY}}"
just with no arguments\033[1;36m - Cyan for section headers/boxes\033[0;33m - Yellow for command names\033[0;32m - Green for descriptions\033[1;35m - Magenta for category labels\033[0m - Reset to defaulthelp:
@echo ""
@echo "\033[1;36m======================================\033[0m"
@echo "\033[1;36m Project Commands \033[0m"
@echo "\033[1;36m======================================\033[0m"
@echo ""
@echo "\033[1;35m Most Common Commands:\033[0m"
@echo " just \033[0;33mweb\033[0m \033[0;32mStart web dev server\033[0m"
@echo " just \033[0;33mdesktop\033[0m \033[0;32mStart desktop app\033[0m"
@echo " just \033[0;33mtest\033[0m \033[0;32mRun all tests\033[0m"
@echo ""
@echo "\033[1;35m Building:\033[0m"
@echo " just \033[0;33mbuild-server\033[0m \033[0;32mBuild production server\033[0m"
@echo ""
# Brief description of what this command does
# Usage: just command-name <required> [optional]
# Example: just command-name example-value
command-name PARAM OPTIONAL="default":
command {{PARAM}} {{OPTIONAL}}
#!/usr/bin/env bashset -euo pipefail# Description
# Usage: just command-name <param>
command-name PARAM:
#!/usr/bin/env bash
set -euo pipefail
# Script content here
echo "Processing {{PARAM}}"
@just command-name# Good: User feedback with emojis
build-server:
@echo "Building server..."
cargo build --release
@echo "Build complete!"
# Good: Calling other recipes
test-all:
@just test
@just test-e2e
web - Web dev serverdesktop - Desktop appdev - Both via mprocsbuild-server - Production serverbuild-desktop - Desktop bundlebuild-web - WASM bundlecheck-server - Server compilationcheck-desktop - Desktop compilationcheck-web - WASM compilationtest - All Rust teststest-unit - Unit tests onlytest-integration - Integration teststest-e2e - E2E tests (headless)test-e2e-ui - E2E tests (interactive)test-all - All tests combinedclean - Clean build artifactsinstall-tools - Install dev toolsPlace commands in the appropriate category based on their primary purpose:
development/building/verification/testing/utilities/