Skip to content

0.1.8

Choose a tag to compare

@cursor cursor released this 16 Sep 17:26
bfbc0c3

0.1.8 — First-time setup templates, platform TOML, and GitHub docs paths

16 September 2026. Patch on the public 0.1.7 beta.

Install

pip install opentide==0.1.8
export OPENTIDE_REPO_ROOT=/path/to/detection-repo
opentide validate --strict

Added

  • VS Code snippets use tide-threat / tide-objective / tide-rule / tide-<platform> prefixes, scope: yaml, descriptions, and tabstops (#194).
  • opentide setup vscode --mcp writes .vscode/mcp.json. Parent --vscode-setup does not imply MCP (#193).

Fixed

  • Missing objects/* folders log at debug, not error (#212).
  • Optional #key: template subtrees comment nested children so YAML does not attach them to the previous mapping (#209).
  • Generated templates never emit YAML null; typed placeholders are restored (#210).
  • opentide setup repo --platform writes enabled platform TOML so generate emits configuration stubs (#211).
  • Objective docs render priority as the author string, not a criticality::1.0 token (#204).
  • GitHub/generic docs use lowercase docs/{rules,objectives,threats}/<slug>.md; UUID permalinks stay GitLab-only (#203).

Verify

python -c "import opentide; print(opentide.__version__)"
opentide setup --yes --name "Tutorial Detections" --org "Example Corp" --platform sentinel --path /tmp/tutorial-detections
opentide --repo /tmp/tutorial-detections generate
opentide --repo /tmp/tutorial-detections validate --strict

Expect 0.1.8. The scaffold must contain .opentide/configurations/platforms/sentinel.toml with enabled = true, and .opentide/templates/rule.1.0.template.yaml must contain #sentinel: and no YAML null.

Links

License: EUPL-1.2. Issues: OpenTideHQ/opentide.