Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 0 additions & 7 deletions .cargo/mutants.toml

This file was deleted.

5 changes: 5 additions & 0 deletions .changes/260722-1412.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
bump: minor
section: Changed
---
Прибрано workspaces із кореня — розблоковано n-cursor release для @7n/mt (раніше монорепо-детекція завжди пропускала корінь). layers/ став вкладеним пакетом зі своїм bun.lock; доданий pretest-скрипт (bun install --cwd layers) встановлює його залежності перед vitest.
4 changes: 1 addition & 3 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@
"*.svg",
"**/k8s/**/*.yaml",
"docs/adr/**",
"**/dist/**",
"target/**",
"Cargo.lock"
"**/dist/**"
],
"words": [
"aaif",
Expand Down
364 changes: 0 additions & 364 deletions .cursor/rules/n-npm-module.mdc

This file was deleted.

73 changes: 0 additions & 73 deletions .cursor/rules/n-rust.mdc

This file was deleted.

107 changes: 5 additions & 102 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ name: npm-publish
on:
push:
paths:
- 'npm/**'
- 'crates/**'
- 'packages/**'
- 'docs/**'
- 'package.json'
branches:
- main
workflow_dispatch: {}
Expand All @@ -14,78 +13,11 @@ concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true

permissions: {} # deny-all за замовчуванням; кожен job оголошує потрібне
permissions: {} # deny-all за замовчуванням; job оголошує потрібне

jobs:
# ── Збірка prebuilt-артефактів (mt-scanner бінарник + mt napi-аддон) ──────────
build-binaries:
permissions:
contents: read # лише checkout; артефакти йдуть через runtime-токен
strategy:
fail-fast: true
matrix:
include:
- os: macos-14 # native Apple Silicon
target: aarch64-apple-darwin
napi-target: aarch64-apple-darwin
pkg: mt-darwin-arm64
napi-artifact: mt.darwin-arm64.node
cdylib: libmt_napi.dylib
zig: false
- os: ubuntu-latest # бінарник — static musl через cargo-zigbuild; аддон — gnu
target: x86_64-unknown-linux-musl
napi-target: x86_64-unknown-linux-gnu
pkg: mt-linux-x64
napi-artifact: mt.linux-x64-gnu.node
cdylib: libmt_napi.so
zig: true
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false # build-only, токен не потрібен

- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }},${{ matrix.napi-target }}

- uses: Swatinem/rust-cache@v2

- name: Install cargo-zigbuild (Linux musl)
if: ${{ matrix.zig }}
run: |
pip install ziglang
cargo install --locked cargo-zigbuild

- name: Build mt-scanner (zigbuild)
if: ${{ matrix.zig }}
run: cargo zigbuild --release --target ${{ matrix.target }} -p mt-cli

- name: Build mt-scanner (native)
if: ${{ !matrix.zig }}
run: cargo build --release --target ${{ matrix.target }} -p mt-cli

# napi-аддон — cdylib; .node = той самий файл під napi-конвенцією імені.
- name: Build mt napi addon
run: cargo build --release --target ${{ matrix.napi-target }} -p mt-napi

- name: Stage artifacts into platform package
run: |
cp "target/${{ matrix.target }}/release/mt-scanner" "packages/${{ matrix.pkg }}/mt-scanner"
chmod +x "packages/${{ matrix.pkg }}/mt-scanner"
cp "target/${{ matrix.napi-target }}/release/${{ matrix.cdylib }}" "packages/${{ matrix.pkg }}/${{ matrix.napi-artifact }}"

- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.pkg }}
path: |
packages/${{ matrix.pkg }}/mt-scanner
packages/${{ matrix.pkg }}/*.node
if-no-files-found: error

# ── Release-bump + публікація платформних підпакетів і головного @7n/mt ──────
# ── Release-bump + публікація @7n/mt (спека) ──────────────────────────────
release-publish:
needs: build-binaries
runs-on: ubuntu-latest
permissions:
contents: write # commit-back версії + git-тег
Expand Down Expand Up @@ -113,39 +45,10 @@ jobs:
git config user.email "github-actions[bot]@users.noreply.github.com"
git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git"

- name: Download platform binaries
uses: actions/download-artifact@v4
with:
path: packages # → packages/<pkg>/{mt-scanner, mt.<triple>.node}

- name: Release (bump + CHANGELOG + tag)
run: bunx n-cursor release

# Платформні підпакети версіонуються в lockstep з @7n/mt; optionalDependencies
# головного пакета теж синхронізуються з новою версією перед публікацією.
- name: Sync platform versions to @7n/mt
run: |
VERSION=$(node -p "require('./npm/package.json').version")
echo "Publishing version $VERSION"
for pkg in mt-darwin-arm64 mt-linux-x64; do
V="$VERSION" node -e "const f='packages/'+process.argv[1]+'/package.json';const p=require('./'+f);p.version=process.env.V;require('fs').writeFileSync(f, JSON.stringify(p,null,2)+'\n')" "$pkg"
chmod +x "packages/$pkg/mt-scanner"
done
V="$VERSION" node -e "const f='npm/package.json';const p=require('./'+f);for(const k of Object.keys(p.optionalDependencies||{}))p.optionalDependencies[k]=process.env.V;require('fs').writeFileSync(f, JSON.stringify(p,null,2)+'\n')"

# Платформні підпакети — тим самим перевіреним каналом, що й головний пакет.
# Публікуються ПЕРЕД @7n/mt (його optionalDependencies вже вказують на ці версії).
- name: Publish @7n/mt-darwin-arm64
uses: JS-DevTools/npm-publish@v4.1.5
with:
package: packages/mt-darwin-arm64/package.json

- name: Publish @7n/mt-linux-x64
uses: JS-DevTools/npm-publish@v4.1.5
with:
package: packages/mt-linux-x64/package.json

- name: Publish package
uses: JS-DevTools/npm-publish@v4.1.5
with:
package: npm/package.json
package: package.json
16 changes: 0 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,6 @@
node_modules/
dist/

# Rust build artifacts
target/

# Prebuilt scanner binaries are produced by CI, never committed
packages/*/mt-scanner
packages/*/mt-scanner.exe

# napi addon artifacts (napi build / CI), never committed
crates/mt-napi/*.node
crates/mt-napi/index.js
crates/mt-napi/index.d.ts
packages/*/*.node

*.secret

.claude/hooks/*.log
Expand All @@ -32,6 +19,3 @@ packages/*/*.node
# Python bytecode (випадкові артефакти, джерел .py у репо немає)
__pycache__/
*.pyc

# PII-мапінг handle → email (operations.md) — ніколи в git
.mt/directory.json
18 changes: 0 additions & 18 deletions .mt.json

This file was deleted.

2 changes: 0 additions & 2 deletions .n-rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
"image-compress",
"js",
"js-run",
"npm-module",
"rust",
"security",
"test",
"text",
Expand Down
2 changes: 0 additions & 2 deletions .v8rignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,5 @@
.vscode/settings.json
.git/**
.cursor/hooks.json
npm/tsconfig.emit-types.json
.marksman.toml
.claude/settings.local.json
npm/lib/tests/fixtures/name-vectors.json
3 changes: 0 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ The primary development rules are stored in the Cursor rules directory:
- .cursor/rules/n-image-compress.mdc
- .cursor/rules/n-js-run.mdc
- .cursor/rules/n-js.mdc
- .cursor/rules/n-npm-module.mdc
- .cursor/rules/n-rust.mdc
- .cursor/rules/n-security.mdc
- .cursor/rules/n-test.mdc
- .cursor/rules/n-text.mdc
Expand All @@ -41,7 +39,6 @@ Generated from the root `package.json` on each `npx @7n/rules` sync. Prefer `bun

- **Залежності**: `bun i`
- **test**: `bun run test`
- **start**: `bun run start`
- **Оновити правила та AGENTS.md** (після змін у правилах/шаблоні CLI): `npx @7n/rules`
- **Перевірки правил (programmatic)**: `npx @7n/rules lint`
- **knip (невикористані залежності та експорти)**: `bunx knip`
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Changelog

Історія версій `@7n/mt` **≤ 0.28.0** (CLI-утиліта) — у [nitra/mt-js/CHANGELOG.md](https://github.com/nitra/mt-js/blob/main/CHANGELOG.md). Версії від **0.29.0** — це специфікація (вміст `docs/` цього репозиторію).
2 changes: 0 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
@.cursor/rules/n-image-compress.mdc
@.cursor/rules/n-js-run.mdc
@.cursor/rules/n-js.mdc
@.cursor/rules/n-npm-module.mdc
@.cursor/rules/n-rust.mdc
@.cursor/rules/n-security.mdc
@.cursor/rules/n-test.mdc
@.cursor/rules/n-text.mdc
Expand Down
Loading
Loading