Skip to main content
Version: Next

Tasks and application artifacts

This guide shows how to save personal command shortcuts and run application artifact scripts.

Save common commands​

Save a complete command as a task:

shine task save logs -- tail -f /var/log/example.log
shine task save kill-port -- sh -c 'lsof -ti :3000 | xargs kill'
shine task save project-check --cwd ~/src/example -- bun run check

Run it later from any directory:

shine task run logs
shine run logs
shine task list
shine task info kill-port

Tasks are saved in tasks.toml under the active Shine configuration directory. Use SHINE_CONFIG_DIR or --config-dir to select a different task list. A task saved with --cwd always starts in that directory; without it, the task uses your current directory. --cwd accepts ~.

If saving or deleting a task times out because another command is updating the list, wait for that command to finish and retry. Do not delete tasks.lock to force an update.

Tasks do not automatically invoke a shell. For pipes, redirection, variable expansion, or globs, include a shell such as sh -c '...'. Windows does not include sh; choose an installed shell. Task output can be piped to other commands, and a failed task returns the program's exit code.

Replace or delete a task:

shine task save logs --force -- journalctl -f
shine task delete logs

Task names may contain letters, numbers, dots, hyphens, and underscores and must start with a letter or number.

Generate application helper resources​

Some application presets declare an artifact script that generates extra files from current configuration:

shine app artifact apply surge

Shine shows a plan and asks for confirmation before running the script. Scripts run with your permissions without sandbox isolation; review external code before approving it. Non-interactive runs require --yes and an existing trust grant for external code. A script failure fails the command, with details shown in the terminal.

Some presets also declare automatic actions after installation or upgrade; those actions require review and approval too. shine update only checks for updates. Follow the application preset guide for setup, prerequisites, and removal instructions.

If you want to write an artifact script, see Custom presets for its runtime, input declarations, and output directories.