Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Configuration

devflow.toml is the source of truth for workflow behavior.

Full Example

[project]
name = "my-project"
stack = ["rust", "node"]

[runtime]
# Runtime execution profile for command execution
# Allowed values: container | host | auto
profile = "auto"

[targets]
# Profile names are user-defined map keys.
# Common names: pr, main, release, staging, hotfix
pr = ["fmt:check", "lint:static", "build:debug", "test:unit", "test:integration"]
main = ["fmt:check", "lint:static", "build:release", "test:unit", "test:integration", "test:smoke"]
staging = ["fmt:check", "lint:static", "build:release", "test:unit", "test:integration", "package:artifact"]

[extensions.rust]
source = "builtin"
required = true
# Optional explicit capabilities. If omitted for builtin extension,
# default capabilities are loaded from the extension crate.
# capabilities = ["fmt:check", "lint:static", "test:unit"]

[extensions.node]
source = "builtin"
required = false

# Example path extension
[extensions.custom]
source = "path"
path = "./tools/devflow-ext-custom"
required = false
trusted = false
capabilities = ["lint:policy"]

Section Details

[project]

[runtime]

[targets]

[extensions.<name>]

custom Stack Command Mapping

When stack = ["custom"], Devflow maps selectors to just/make targets by replacing : with -.

Examples:

Execution order:

  1. use just <target> when justfile exists and just is installed

  2. otherwise use make <target> when Makefile exists

Validation Rules