Skip to content

feat: крейт mt-protocol — вбудована специфікація для Rust-реалізації - #62

Closed
vitaliytv wants to merge 1 commit into
mainfrom
claude/mt-protocol-crate
Closed

feat: крейт mt-protocol — вбудована специфікація для Rust-реалізації#62
vitaliytv wants to merge 1 commit into
mainfrom
claude/mt-protocol-crate

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Що зроблено

Додано root-level Rust-крейт mt-protocol поряд з docs/ цього спека-репозиторію:

  • Cargo.toml — пакет mt-protocol (edition 2021, license ISC), залежність include_dir (feature glob).
  • src/lib.rspub static DOCS: Dir вшиває docs/ на етапі компіляції через include_dir!, pub fn get(path: &str) -> Option<&'static str> дає доступ до вмісту файлу специфікації за відносним шляхом.
  • Тести (cargo test): index.md присутній і непорожній, у корпусі більше 5 md-файлів, відсутній файл дає None.
  • .github/workflows/lint-rust.yml — канонічний CI (rustfmt + clippy) за шаблоном плагіна rust.lint_rust_yml.
  • .n-rules.json: додано правило rust.
  • README.md: короткий розділ про крейт.
  • package.json/.gitignore: npm-пакет @7n/mt лишається docs-only (files не змінювались), /target в .gitignore.

Навіщо

Встановлює канал вбудовування специфікації для Rust — крейт буде споживатись nitra/mt-rust як git-залежність (branch claude/mt-protocol-crate цього репозиторію), щоб Rust-код мав доступ до корпусу docs/ без ручного копіювання файлів між репозиторіями. Крейт наразі не публікується в crates.io — тільки через git-dependency.

Верифікація

  • cargo build — OK
  • cargo test — 3/3 passed
  • cargo fmt --all -- --check — OK
  • cargo clippy --all-targets --all-features -- -D warnings — OK
  • npx @7n/rules lint --no-fix — 0 порушень
  • npx @7n/rules lint ga --no-fix / lint rust --no-fix — 0 порушень
  • npx @7n/rules lint --full --no-fix — exit 0
  • npm pack --dry-run — тарбол лишається docs-only (45 файлів, тільки docs/, README.md, CHANGELOG.md, package.json)

Не мерджити

Гілка призначена для консьюмингу з nitra/mt-rust (PR буде відкрито окремо, вказуватиме на цю гілку до мерджу).

🤖 Generated with Claude Code

Root-level Rust-крейт mt-protocol вшиває docs/ через include_dir і
надає mt_protocol::get(path) для доступу до контенту специфікації без
ручного копіювання. Споживається nitra/mt-rust як git-залежність.
npm-пакет @7n/mt лишається docs-only — Rust-файли в тарбол не входять.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vitaliytv vitaliytv closed this Jul 23, 2026
vitaliytv added a commit to nitra/mt-rust that referenced this pull request Jul 23, 2026
Замість окремого Rust-крейта (nitra/mt#62, лишається відкритим на
розгляд) — простіший канал: @7n/mt (сам пакет-специфікація, docs-only,
з 0.29.0) як звичайна devDependency. Після bun install доступна на
диску без окремого клонування: node_modules/@7n/mt/docs/index.md.

README: виправлено застарілу згадку "@7n/mt = тонкий JS-клієнт" — це
ім'я тепер належить специфікації; код CLI живе в nitra/mt-js і наразі
не публікується.

.cspell.json: додано відсутні словоформи (бампом, бінарниками), які
спливли при делта-лінті зміненого README.md.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@vitaliytv
vitaliytv deleted the claude/mt-protocol-crate branch July 23, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant