mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-09-19 08:11:52 +08:00
94b6727b00
Replace the regex token substitution and the line-parsed bmad-if directives in render_skill.py with Jinja2. Templates see config, workflow, and snapshot(); undefined names, empty entry files, and links to omitted sources halt; every value a render reaches and the Jinja2 version key the generation. Migrate the five rendered skills' sources to the new forms, keep their shipped output byte-identical, and update the validator rule and the authoring docs.
65 lines
1.8 KiB
TOML
65 lines
1.8 KiB
TOML
# Development tooling for the BMAD-METHOD repository.
|
|
#
|
|
# This is not a distributable package: the repository tree itself is what
|
|
# `npx skills add bmad-code-org/BMAD-METHOD` and the plugin marketplaces
|
|
# install, and each shipped script under skills/*/scripts declares its own
|
|
# dependencies inline (PEP 723) so `uv run` works without this file.
|
|
# The release version lives in skills/*/module-manifest.toml, not here.
|
|
|
|
[project]
|
|
name = "bmad-method"
|
|
version = "0"
|
|
description = "Repository tooling for BMAD-METHOD (not published)"
|
|
requires-python = ">=3.11"
|
|
dependencies = []
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"jinja2>=3.1",
|
|
"pre-commit>=4.6.2",
|
|
"pytest>=8",
|
|
"pytest-xdist>=3",
|
|
"pyyaml>=6.0.2,<7",
|
|
"ruamel.yaml>=0.18",
|
|
"ruff>=0.14",
|
|
]
|
|
|
|
[tool.uv]
|
|
package = false
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-q -ra --tb=short -n auto -p no:cacheprovider"
|
|
testpaths = ["tools/tests", "skills"]
|
|
|
|
[tool.ruff]
|
|
# Every shipped script declares the same floor inline (PEP 723) as
|
|
# requires-python above; tools/tests/test_python_floor.py enforces that,
|
|
# since ruff reads only this setting.
|
|
target-version = "py311"
|
|
line-length = 120
|
|
extend-exclude = ["tools/tests/fixtures"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP", "B"]
|
|
ignore = [
|
|
"E501", # long lines: the formatter handles code; strings and comments may exceed
|
|
]
|
|
|
|
[tool.rumdl]
|
|
# The five rules markdownlint enforced before; the rest stay off.
|
|
enable = ["MD001", "MD024", "MD026", "MD034", "MD037"]
|
|
exclude = ["node_modules", "tools/tests/fixtures", "CODE_OF_CONDUCT.md", "docs-site/dist", "docs-site/.astro"]
|
|
|
|
[tool.rumdl.MD024]
|
|
siblings-only = true
|
|
|
|
[tool.rumdl.MD026]
|
|
punctuation = ","
|
|
|
|
[tool.yamlfix]
|
|
# yamlfix's default of 0 also strips blank lines inside block scalars,
|
|
# which rewrites the shell scripts in workflows. 1 keeps them.
|
|
whitelines = 1
|
|
section_whitelines = 1
|
|
explicit_start = false
|