AgentSkillsCN

sounio-language

编写并编辑 Sounio `.sio` 代码、示例与语言文档;严格遵循 Sounio 原生语法(如 `var`、`&!`、显式的 `with` 效果),并尽量减少 `examples/`、`tests/` 与 `docs/` 中的 Rust 风格偏差。

SKILL.md
--- frontmatter
name: sounio-language
description: "Write and edit Sounio `.sio` code, examples, and language docs; enforce Sounio-native syntax (`var`, `&!`, explicit `with` effects) and reduce Rust-like drift across `examples/`, `tests/`, and `docs/`."

Sounio Language

Overview

Write correct Sounio and keep language-facing materials aligned with what the compiler actually accepts.

Workflow

1) Decide “implemented” vs “aspirational”

  • Read compiler/docs/KNOWN_LIMITATIONS.md and docs/MV_CORE_CHECKLIST.md.
  • If you touch docs/examples, prefer aligning them to the compiler over adding new surface syntax.

2) Anchor to canonical examples

  • For real, compilable syntax patterns, mirror tests/run-pass/ and stdlib/ (not blog-like examples).
  • When unsure about a construct, search for it in:
    • docs/LLM_PROGRAMMING_GUIDE.md
    • compiler/src/parser/tests/

3) Enforce Sounio-native syntax (no Rust drift)

  • Use var (not let mut)
  • Use &!T (not &mut T)
  • Avoid Rust macros in .sio (println!, assert!, attributes like #[...])
  • If drift appears, run the scan script and then update the file(s) to match Sounio conventions.

4) Validate quickly

  • Prefer cd compiler && cargo run -- check <file.sio> for a single-file sanity check.
  • Add/adjust a focused test in tests/ when fixing language-facing behavior.

References

  • Repo navigation: references/repo-navigation.md
  • Drift patterns + quick rg queries: references/drift-scan-patterns.md

Scripts

  • scripts/scan_syntax_drift.py scans docs/, examples/, tests/, stdlib/ for Rust-like constructs and doc drift.