diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 0000000..1b1f99e --- /dev/null +++ b/.cspell.json @@ -0,0 +1,8 @@ +{ + "import": [ + "@papia/cspell-kea/cspell-ext.json" + ], + "dictionaries": [ + "kea" + ] +} diff --git a/.github/ISSUE_TEMPLATE/preset-request.kea.md b/.github/ISSUE_TEMPLATE/preset-request.kea.md new file mode 100644 index 0000000..d61d14e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/preset-request.kea.md @@ -0,0 +1,36 @@ +--- +name: Pididu di preset (Kriolu) +about: Pidi un domain novu ô preset ki ka inda eziste +title: '[Pididu] ' +labels: ['preset-request'] +--- + +> **DRAFT — needs native-speaker review.** +> +> [English](./preset-request.md) | **Kriolu** + +## Pididu di preset + +**Domain propostu:** + +**ID di preset propostu:** + +### Ke ki es ta kobri + + + +### Pamodi é nesesáriu + + + +### Fontis dispunivel + + + +### Bu pode autoria-l? + +- [ ] Si — N sta a voluntaria pa autoria es preset +- [ ] Parsialmenti — N pode kontribui entradas ma N meste djuda ku kuradoria ô rivizon +- [ ] Na — N sta pidi alguen otu ta kria-l + +(Tudu três é válidu! Mutu preset útil ta kumesa komo pididu ki alguen otu ta panha más tardi.) diff --git a/.github/ISSUE_TEMPLATE/preset-request.md b/.github/ISSUE_TEMPLATE/preset-request.md index 526f26b..9f59d40 100644 --- a/.github/ISSUE_TEMPLATE/preset-request.md +++ b/.github/ISSUE_TEMPLATE/preset-request.md @@ -5,6 +5,8 @@ title: '[Request] ' labels: ['preset-request'] --- +> **English** | [Kriolu](./preset-request.kea.md) + ## Preset request **Proposed domain:** diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md new file mode 100644 index 0000000..a625621 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md @@ -0,0 +1,46 @@ +--- +name: Preset novu (Kriolu) +about: Submete un preset novu di glosáriu pa katalogu +--- + +> **DRAFT — needs native-speaker review.** +> +> [English](./new-preset.md) | **Kriolu** + +## Preset novu + +**ID di preset:** `` + +**Domain:** + +**Konta di entradas:** + +### Ke ki es preset ta kobri + + + +### Fontis + + + +- Fonti 1 +- Fonti 2 +- Fonti 3 + +### Kobertura di dialetu + + + +### Kontestu di autor + + + +### Checklist + +- [ ] N kore `pnpm validate ` lokalmenti i el ta pasa +- [ ] `manifest.entryCount` ta korresponde ku númeru reál di entradas na `glossary.json` +- [ ] `manifest.id` ta korresponde ku nomi di diretóriu +- [ ] Kada entrada ten polmenus un alvu +- [ ] `manifest.sources` ta lista polmenus un referensia kredíbel +- [ ] N lê i N konkorda ku [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) +- [ ] N sta publika es kontribuison sob [Lisensia MIT](../../LICENSE) diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.md index d3f38d6..3ff324c 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new-preset.md +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.md @@ -3,6 +3,8 @@ name: New preset about: Submit a new glossary preset to the catalog --- +> **English** | [Kriolu](./new-preset.kea.md) + ## New preset **Preset ID:** `` @@ -39,4 +41,4 @@ about: Submit a new glossary preset to the catalog - [ ] Every entry has at least one target - [ ] `manifest.sources` lists at least one credible reference - [ ] I have read and agree to [CONTRIBUTING.md](../../CONTRIBUTING.md) -- [ ] I release this contribution under [CC BY-SA 4.0](../../LICENSE) +- [ ] I release this contribution under the [MIT License](../../LICENSE) diff --git a/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md new file mode 100644 index 0000000..b2fa61f --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md @@ -0,0 +1,40 @@ +--- +name: Atualiza preset (Kriolu) +about: Atualiza un preset ki ja ta eziste (entradas novu, korreson, klarifikason) +--- + +> **DRAFT — needs native-speaker review.** +> +> [English](./update-preset.md) | **Kriolu** + +## Atualiza preset + +**ID di preset:** `` + +**Bump di verson:** `` → `` + +**Tipu di bump:** +- [ ] Patch (korreson di tipo, klarifikason di notas) +- [ ] Minor (entradas novu adisionadu, sen mudansa ki ta keba) +- [ ] Major (termus tiradu ô tradusãu preferida mudadu — ta keba aprovasãu downstream) + +### Ke ki mudou + + + +### Pamodi + + + +### Fontis pa entradas novu/mudadu + + + +### Checklist + +- [ ] N bumpa `manifest.version` siginu semver +- [ ] N atualiza `manifest.updatedAt` pa data di oji +- [ ] N atualiza `manifest.entryCount` si entradas foi adisionadu/tiradu +- [ ] N adisiona un entrada na `CHANGELOG.md` pa es verson +- [ ] N kore `pnpm validate ` lokalmenti i el ta pasa +- [ ] N é un maintainer listadu di es preset, Ô N ja ping un maintainer pa sign-off diff --git a/.github/PULL_REQUEST_TEMPLATE/update-preset.md b/.github/PULL_REQUEST_TEMPLATE/update-preset.md index 7c63b39..9700896 100644 --- a/.github/PULL_REQUEST_TEMPLATE/update-preset.md +++ b/.github/PULL_REQUEST_TEMPLATE/update-preset.md @@ -3,6 +3,8 @@ name: Update preset about: Update an existing preset (new entries, fixes, clarifications) --- +> **English** | [Kriolu](./update-preset.kea.md) + ## Update preset **Preset ID:** `` diff --git a/.github/workflows/publish-index.yml b/.github/workflows/publish-index.yml index a7aeed9..b1bb2c5 100644 --- a/.github/workflows/publish-index.yml +++ b/.github/workflows/publish-index.yml @@ -18,19 +18,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v6 with: version: 9 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: pnpm - name: Install diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 3d93ad5..f702c35 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -19,19 +19,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 # need git history for version-bump check - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v6 with: version: 9 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: pnpm - name: Install diff --git a/.gitignore b/.gitignore index 3d61783..a426688 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ dist/ .idea/ .vscode/ *.swp + +# Use pnpm only — npm/yarn lockfiles are accidental +package-lock.json +yarn.lock diff --git a/.kriolu/ledger.jsonl b/.kriolu/ledger.jsonl new file mode 100644 index 0000000..81f4f0a --- /dev/null +++ b/.kriolu/ledger.jsonl @@ -0,0 +1,36 @@ +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 9, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 46, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 46, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 48, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 54, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_KA_POS", "line": 59, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:The negation marker 'ka' should be followed by a verb or TMA marker, not a noun or adjective.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 60, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 116, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 19, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_KA_POS", "line": 21, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:The negation marker 'ka' should be followed by a verb or TMA marker, not a noun or adjective.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 43, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 62, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 89, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 91, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 108, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 117, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 120, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 130, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 136, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 146, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 149, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 164, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-b9900650db57", "topic": null, "file": "presets/_example/presets/_example/README.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_NPI", "line": 7, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Negative polarity items (ningen, nada, nunka, ninhun) require the negation marker 'ka' in the same sentence.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-b9900650db57", "topic": null, "file": "presets/_example/presets/_example/README.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 13, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 3, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 5, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 7, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 7, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 11, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 11, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-09aee78da8a1", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 33, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-09aee78da8a1", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 19, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-09aee78da8a1", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 19, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-31bcbc65e057", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 38, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-31bcbc65e057", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 46, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6a96481d4455", "topic": null, "file": ".github/ISSUE_TEMPLATE/.github/ISSUE_TEMPLATE/preset-request.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_KA_POS", "line": 3, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:The negation marker 'ka' should be followed by a verb or TMA marker, not a noun or adjective.", "papia_version": "0.2.0"} diff --git a/.kriolu/seen-runs.txt b/.kriolu/seen-runs.txt new file mode 100644 index 0000000..1551420 --- /dev/null +++ b/.kriolu/seen-runs.txt @@ -0,0 +1,7 @@ +run-43ad92996fb4 +run-757d39951366 +run-b9900650db57 +run-6552bf46e6e6 +run-09aee78da8a1 +run-31bcbc65e057 +run-6a96481d4455 diff --git a/CONTRIBUTING.kea.md b/CONTRIBUTING.kea.md new file mode 100644 index 0000000..f033e1a --- /dev/null +++ b/CONTRIBUTING.kea.md @@ -0,0 +1,164 @@ +> **DRAFT — needs native-speaker review.** Pull requests welcome. + +> [English](./CONTRIBUTING.md) | **Kriolu** + +# Kontribui un preset + +Obrigadu pa kre djuda konstrui es glosáriu komun di Kriolu. Es gia ta papia pa tudu fluxu, di idea te preset merged. + +Si algun kuza li ka sta klaru, é un bug di nos — purfavor abri un issue i nu ta koreji dokumentu. + +--- + +## Antis di kumesa + +Disidi três kuza: + +1. **Domain.** Kale kategoria ki bu preset ta kobri? Saúdi, edukasan, agrikultura, relijian, múzika, tek, sirvisus sivikus, etc. Mante-l strétu — un preset apertadu di 80 termu é midjor ki un di 800 termu spadjadu. +2. **Públiku.** Ken ki ta uza es preset? Materiál pa pasienti ta lê diferenti di notas klínika; testu di skola ta diferensia di artigu akadémiku. Marka es informasan na README di bu preset. +3. **Kobertura di dialetu.** Santiagu (Badiu)? São Vicente (Sanpajudu)? Tudu dôs? Marka es informasan na manifest. Mistura dialetu sen sinaliza é problema mas komun na revizan. + +Si bu domain ka eziste inda, ka ten problema — bai en frenti i kria-l. + +--- + +## Setup di un bes + +Bu ta meste [Node.js 20+](https://nodejs.org/) i [pnpm](https://pnpm.io/installation). + +```sh +git clone https://github.com/YOUR-USERNAME/papia-presets.git +cd papia-presets +pnpm install +``` + +É só kel. Repo ka ten dipendénsia di runtime alén di un validador di JSON schema. + +--- + +## Fluxu di autoria + +### Opsan A — Konstrui-l na Skrebe i exporta + +Keli e manera mas faxi. É tanbé más konfiavel, pamodi linter ALUPEC di Skrebe ta panha erus di ortografia kantu bu sta skrebe. + +1. Abri Skrebe, kria ô abri kualker dokumentu. +2. Abri panel di Glosáriu. Adisiona bu termus un pa un, ô importa un CSV. +3. Esporta komo `.glossary.json` (Panel di Glosáriu → Esporta → JSON). +4. Poi fixeru exportadu na `presets//glossary.json`. + +### Opsan B — Skrebe JSON diretamenti + +1. Kria un preset novu: + + ```sh + pnpm new-preset health-basic + ``` + + Es ta kria `presets/health-basic/` ku stub di `manifest.json`, `glossary.json`, `README.md`, i `CHANGELOG.md`. + +2. Edita `manifest.json` — kompleta, nomi, diskrisan, autoris, fontis. Odja [`schema/preset-manifest.schema.json`](./schema/preset-manifest.schema.json) pa kada propriedadi. + +3. Edita `glossary.json` — adisiona bu entradas. Formatu sta dokumentadu na [`schema/glossary-entry.schema.json`](./schema/glossary-entry.schema.json). Entrada mínimu: + + ```json + { + "source": "informed consent", + "targets": [{ "term": "konsentimentu informadu", "preferred": true }], + "policy": "must" + } + ``` + +4. Atualiza `entryCount` di `manifest.json` pa korresponde ku númeru di entradas. + +--- + +## Valida antis di submeti + +Kore validador lokalmenti — el ta panha omesmu kuzas ki CI, ma más rápidu. + +```sh +pnpm validate health-basic +``` + +Un kore verdi ta sinifika: + +- Anbus fixeru ta "parse" i ta korresponde ku ses schema +- `entryCount` ta korresponde ku entradas reál +- Sen termu `source` dupliku dentu di preset +- Tudu propriedadi obrigatóriu di manifest sta prezenti + +Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Korejil i kore di novu ta bira verdi. + +--- + +## Submeti + +1. Faze commit di bu mudansas na un branch: + + ```sh + git checkout -b add-health-basic + git add presets/health-basic + git commit -m "Add health-basic preset (87 entries)" + git push origin add-health-basic + ``` + +2. Abri un pull request. Uza template **"New preset"** — el ta pidi domain, fontis, i kobertura di dialetu. + + **Skodje template Kriolu:** GitHub ka ta mostra un menu di template di PR automatikamenti te ki ten múltipu template. Pa uza versan Kriolu, adisiona `?template=new-preset.kea.md` na fin di URL di krian di PR. Ezemplu: + + ``` + https://github.com/deznode/papia-presets/compare/main...bu-branch?template=new-preset.kea.md + ``` + + Pa atualizasan di preset, uza `update-preset.md` ô `update-preset.kea.md`. + +3. CI ta kore otomatikamenti (~1 minutu). Odja painel di checks: + - **Validason di schema** — formatu di fitxeru sta korretu + - **Integridadi di entrada** — kontas ta korresponde, sen dupliku + - **Linter ALUPEC** — kada termu alvu ta pasa tcheku di ortografia (eru ta bloka merge; avisu ta komentadu ma é permitidu) + - **Bump di verson** — só obrigatóriu kantu sta atualiza un preset ki ja ta eziste + +4. Un maintainer ta reviza. Nu pode sujeri mudansa — terminolojia, alkance, notas di dialetu. Es ka é rejeson; é manera ki nu ta manten katalogu útil. + +5. Na merge, `index.json` ta regenera i bu preset ta fika sta na marketplace di Skrebe dentu di próxiumu siklu di cache (≤1 ora). + +--- + +## Atualiza un preset ki ja ta eziste + +Maintainers di un preset sta listadu na si `manifest.json` sob `maintainers`. Es pode faze merge di atualizasan sen un rivizon separadu. Otu kontributoris é mutu ben-vindu pa manda atualizasan — só meste sign-off di un maintainer. + +Kada atualizasan **ten ki bumpa verson** na `manifest.json` siginu [semver](https://semver.org/): + +- **Patch** (1.0.0 → 1.0.1) — korreson di tipo, klarifikason di notas +- **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta keba +- **Major** (1.0.0 → 2.0.0) — termus tiradu ô tradusãu preferida mudadu (es ta afeta tradusons aprovadu di uzuárius downstream) + +Dokumenta kada mudansa na `CHANGELOG.md` di preset. + +--- + +## Kritériu di rivizon + +Un maintainer ta verifika: + +1. **Alkance é klaru.** Domain di preset sta ben defenidu i entradas ta kabe nel. +2. **Fontis é kredíbel.** Glosários governamental, materiál peer-reviewed, uzu komunitáriu stabelesedu, ô autoris peritu nomeadu. "Sensu komun" sô ka é fonti. +3. **Konformidadi ku ALUPEC.** Termus alvu ta pasa linter (CI ta enforsa). +4. **Onestidadi di dialetu.** Si entradas sta predominantimenti di un dialetu, manifest ta dize-l. +5. **Sen duplikason ku presetis ki ja eziste.** Si bu entrada di "consent" ta kontradidi un na otu preset ki ja merged, nu ta diskuti kal é kanóniku ô si tudu dôs ta kueksisti ku alkance más klaru. + +Nu ka ta gatekeep na stilu ô kompletu. Un preset di 30 entradas fokadu pa un peritu di domain é más válidu ki 300 entradas di palpiti. + +--- + +## Kódigu di konduta + +Ser respetozu na diskusan di PRs. Debati di terminolojia pode bira kenti — spesialmenti na skodje dialetu, lingua relijiozu, i vokabuláriu politikamenti sensível. Nu ta asumi boa fé i ta pidi tudu djenti pa faze mesmu. Si bu ta sinti ki un diskusan ta bira tóxiku, ô si bu ta sinti ki bu ta trata injustamenti, purfavor abri un issue i nu ta koreji situason. + +--- + +## Perguntas + +Abri un issue, ô pergunta na thread di diskusan di un PR ki dja sta abertu. Maintainers ta responde kostumadamenti dentu di poku dia. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 55c10d5..bf98a59 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,5 @@ +> **English** | [Kriolu](./CONTRIBUTING.kea.md) + # Contributing a preset Thank you for wanting to help build the Kriolu glossary commons. This guide walks you through the entire flow, from idea to merged preset. @@ -101,6 +103,14 @@ A red run prints exactly what's wrong and where. Fix and re-run until green. 2. Open a pull request. Use the **"New preset"** template — it asks for the domain, sources, and dialect coverage. Filling it out completely speeds up review. + **Selecting a PR template:** GitHub does not show a PR-template picker when multiple templates exist. To use a specific template, append `?template=.md` to the PR-creation URL. Example for a new preset: + + ``` + https://github.com/deznode/papia-presets/compare/main...your-branch?template=new-preset.md + ``` + + For updates, use `update-preset.md`. Kriolu versions are also available: `new-preset.kea.md` / `update-preset.kea.md`. + 3. CI runs automatically (~1 minute). Watch the checks panel: - **Schema validation** — file shapes are correct - **Entry integrity** — counts match, no duplicates diff --git a/LICENSE b/LICENSE index fdf56c6..2913d2e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,27 +1,21 @@ -papia-presets © contributors - -Licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0). - -You are free to: - - Share — copy and redistribute the material in any medium or format - Adapt — remix, transform, and build upon the material for any purpose, even commercially - -Under the following terms: - - Attribution — You must give appropriate credit, provide a link to the - license, and indicate if changes were made. You may do so in any - reasonable manner, but not in any way that suggests the licensor - endorses you or your use. - - ShareAlike — If you remix, transform, or build upon the material, you - must distribute your contributions under the same license as the - original. - - No additional restrictions — You may not apply legal terms or - technological measures that legally restrict others from doing - anything the license permits. - -Full legal text: https://creativecommons.org/licenses/by-sa/4.0/legalcode - -By contributing to this repository, you agree to release your contributions under CC BY-SA 4.0. +MIT License + +Copyright (c) 2026 Joaquim Costa and papia-presets contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.kea.md b/README.kea.md new file mode 100644 index 0000000..b7f131d --- /dev/null +++ b/README.kea.md @@ -0,0 +1,60 @@ +> **DRAFT — needs native-speaker review.** Pull requests welcome. + +> [English](./README.md) | **Kriolu** + +# papia-presets + +Presets di glosáriu pa [Skrebe](https://papia.studio), editor di tradusan markdown pa Kriolu di Kabu Verdi (ALUPEC). + +Kada preset é un vokabuláriu pikenu i fokadu na un domain spesífiku — saúdi, edukason, sirvisus sivikus, tekenolojia, relijaun, etc. Uzuárius di Skrebe ta navega na katalogu li dentu di aplikason, ta instala kes ki es ta meste, i ta resebe sujeston di termu i tcheku di konsistensia apropriadu pa domain, kantu sta tradusi. + +## Navega katalogu + +Abri **Marketplace** na Skrebe. Lista ki bu ta odja ta ben di [`index.json`](./index.json) di es repo, jeradu otomatikamenti tudu bes ki un preset é adisionadu ô atualizadu. + +## Kontribui un preset + +Bu ka meste ser dezenvolvedor. Si bu sabe edita un un dokumento i kore dôs komandu na terminal, bu pode kontribui. Guia kumpletu pasu-a-pasu: **[CONTRIBUTING.kea.md](./CONTRIBUTING.kea.md)**. + +Verson kurtu: + +1. Faze fork di es repo. +2. Kore `pnpm install` un bes. +3. Kore `pnpm new-preset ` pa kria un folder novu di preset. +4. Inxi `glossary.json` (ô esporta un di Skrebe i poi-l la). +5. Kore `pnpm validate ` te ki ta pasa. +6. Abri un pull request. + +Un maintainer ta reviza. CI ta verifika ortografia i strutura. Dipos di merge, bu preset ta parese na Skrebe na poku minutu. + +## Strutura di repositóriu + +``` +presets/ + / + manifest.json ← metadatu (nomi, domain, verson, autoris, fontis) + glossary.json ← entradas di termu propi + README.md ← kontestu, públiku-alvu, notas di dialetu + CHANGELOG.md ← ke ki mudou na kada verson +schema/ ← JSON Schemas ki ta defini formatu di fitxeru +scripts/ ← validate, build-index, new-preset +index.json ← otu-geradu; ka edita-l a mon +``` + +## Lisensia + +Tudu presets i dokumentasan na es repo sta lisensiadu sob [Lisensia MIT](./LICENSE). Bu ten libradadi pa uza, modifika, i redistribui konteúdu — te na produtus komersial i di kódigu fitchadu — ku atribuisan sima Lisensia MIT ta izixi. + +Kantu bu submete un pull request, bu ta konkorda publika bu kontribuisan ku Lisensia MIT. + +## Governason + +Es katalogu é parti di prujetu [Papia Studio](https://github.com/deznode/papia-studio). Maintainers ta triadja PRs, ta mediadja disputas sobri terminolojia, i ta disidi kal presetis ta resebe flag "Recomendadu" na marketplace di Skrebe. + +Diskorda di un dizizon di kuradoria? Bu pode **faze fork di katalogu** i hospeda un alternativu. Skrebe ta dexa uzuárius adisiona URLs di katalogu kustumizadu na setings — pluralizmu sta konstruidu na sistema. + +## Perguntas + +- **Atxa un termu eradu?** Abri un issue na preset, ô manda un PR ku korreson. +- **Kre un domain novu ki ka inda eziste?** Abri un [pididu di preset](./.github/ISSUE_TEMPLATE/preset-request.md) — alguen pode voluntaria pa autoria. +- **Sta konstrui ferramenta riba di es katalogu?** Schemas na [`schema/`](./schema) é kontratu stabel. Pin `schemaVersion: 1` i bu sta siguru. diff --git a/README.md b/README.md index f0400b1..b0c47e8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +> **English** | [Kriolu](./README.kea.md) + # papia-presets Community-curated glossary presets for [Skrebe](https://papia.studio), the Markdown translation editor for Cabo Verde Kriolu (ALUPEC). @@ -39,9 +41,9 @@ index.json ← auto-generated; do not edit by hand ## License -All presets in this repository are licensed under [CC BY-SA 4.0](./LICENSE). Contributors retain authorship; downstream users must credit the original contributors and share derivative works under the same license. +All presets and documentation in this repository are licensed under the [MIT License](./LICENSE). You're free to use, modify, and redistribute the content — including in commercial and closed-source products — with attribution as the MIT license requires. -By submitting a pull request you agree to release your contribution under CC BY-SA 4.0. +By submitting a pull request you agree to release your contribution under the MIT License. ## Governance diff --git a/package.json b/package.json index f2eb430..743afd2 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "description": "Community-curated glossary presets for Skrebe (Cabo Verde Kriolu translation editor).", "type": "module", - "license": "CC-BY-SA-4.0", + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/deznode/papia-presets.git" @@ -20,6 +20,7 @@ "new-preset": "tsx scripts/new-preset.ts" }, "devDependencies": { + "@papia/cspell-kea": "^2.0.2", "@types/node": "^20.11.0", "ajv": "^8.12.0", "ajv-formats": "^3.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..62249ec --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,386 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@papia/cspell-kea': + specifier: ^2.0.2 + version: 2.0.2 + '@types/node': + specifier: ^20.11.0 + version: 20.19.41 + ajv: + specifier: ^8.12.0 + version: 8.20.0 + ajv-formats: + specifier: ^3.0.1 + version: 3.0.1(ajv@8.20.0) + tsx: + specifier: ^4.7.0 + version: 4.22.3 + typescript: + specifier: ^5.3.3 + version: 5.9.3 + +packages: + + '@esbuild/aix-ppc64@0.28.0': + resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.28.0': + resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.28.0': + resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.28.0': + resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.28.0': + resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.28.0': + resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.28.0': + resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.0': + resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.28.0': + resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.28.0': + resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.28.0': + resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.28.0': + resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.28.0': + resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.28.0': + resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.28.0': + resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.28.0': + resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.28.0': + resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.28.0': + resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.28.0': + resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.28.0': + resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.28.0': + resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.28.0': + resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.28.0': + resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.28.0': + resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.28.0': + resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.28.0': + resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@papia/cspell-kea@2.0.2': + resolution: {integrity: sha512-FMVAty78mSZIMzEdrj7J0p8gV/4go1Uu9kc2+ucEEwoAmgwimOdtFjt5WsQZgv9dLlEEY8eIAOjSs9KEXu2jPA==} + + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + esbuild@0.28.0: + resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + engines: {node: '>=18'} + hasBin: true + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-uri@3.1.2: + resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + tsx@4.22.3: + resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==} + engines: {node: '>=18.0.0'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + +snapshots: + + '@esbuild/aix-ppc64@0.28.0': + optional: true + + '@esbuild/android-arm64@0.28.0': + optional: true + + '@esbuild/android-arm@0.28.0': + optional: true + + '@esbuild/android-x64@0.28.0': + optional: true + + '@esbuild/darwin-arm64@0.28.0': + optional: true + + '@esbuild/darwin-x64@0.28.0': + optional: true + + '@esbuild/freebsd-arm64@0.28.0': + optional: true + + '@esbuild/freebsd-x64@0.28.0': + optional: true + + '@esbuild/linux-arm64@0.28.0': + optional: true + + '@esbuild/linux-arm@0.28.0': + optional: true + + '@esbuild/linux-ia32@0.28.0': + optional: true + + '@esbuild/linux-loong64@0.28.0': + optional: true + + '@esbuild/linux-mips64el@0.28.0': + optional: true + + '@esbuild/linux-ppc64@0.28.0': + optional: true + + '@esbuild/linux-riscv64@0.28.0': + optional: true + + '@esbuild/linux-s390x@0.28.0': + optional: true + + '@esbuild/linux-x64@0.28.0': + optional: true + + '@esbuild/netbsd-arm64@0.28.0': + optional: true + + '@esbuild/netbsd-x64@0.28.0': + optional: true + + '@esbuild/openbsd-arm64@0.28.0': + optional: true + + '@esbuild/openbsd-x64@0.28.0': + optional: true + + '@esbuild/openharmony-arm64@0.28.0': + optional: true + + '@esbuild/sunos-x64@0.28.0': + optional: true + + '@esbuild/win32-arm64@0.28.0': + optional: true + + '@esbuild/win32-ia32@0.28.0': + optional: true + + '@esbuild/win32-x64@0.28.0': + optional: true + + '@papia/cspell-kea@2.0.2': {} + + '@types/node@20.19.41': + dependencies: + undici-types: 6.21.0 + + ajv-formats@3.0.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.2 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + esbuild@0.28.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.0 + '@esbuild/android-arm': 0.28.0 + '@esbuild/android-arm64': 0.28.0 + '@esbuild/android-x64': 0.28.0 + '@esbuild/darwin-arm64': 0.28.0 + '@esbuild/darwin-x64': 0.28.0 + '@esbuild/freebsd-arm64': 0.28.0 + '@esbuild/freebsd-x64': 0.28.0 + '@esbuild/linux-arm': 0.28.0 + '@esbuild/linux-arm64': 0.28.0 + '@esbuild/linux-ia32': 0.28.0 + '@esbuild/linux-loong64': 0.28.0 + '@esbuild/linux-mips64el': 0.28.0 + '@esbuild/linux-ppc64': 0.28.0 + '@esbuild/linux-riscv64': 0.28.0 + '@esbuild/linux-s390x': 0.28.0 + '@esbuild/linux-x64': 0.28.0 + '@esbuild/netbsd-arm64': 0.28.0 + '@esbuild/netbsd-x64': 0.28.0 + '@esbuild/openbsd-arm64': 0.28.0 + '@esbuild/openbsd-x64': 0.28.0 + '@esbuild/openharmony-arm64': 0.28.0 + '@esbuild/sunos-x64': 0.28.0 + '@esbuild/win32-arm64': 0.28.0 + '@esbuild/win32-ia32': 0.28.0 + '@esbuild/win32-x64': 0.28.0 + + fast-deep-equal@3.1.3: {} + + fast-uri@3.1.2: {} + + fsevents@2.3.3: + optional: true + + json-schema-traverse@1.0.0: {} + + require-from-string@2.0.2: {} + + tsx@4.22.3: + dependencies: + esbuild: 0.28.0 + optionalDependencies: + fsevents: 2.3.3 + + typescript@5.9.3: {} + + undici-types@6.21.0: {} diff --git a/presets/_example/.cspell.json b/presets/_example/.cspell.json new file mode 100644 index 0000000..3980e2f --- /dev/null +++ b/presets/_example/.cspell.json @@ -0,0 +1,6 @@ +{ + "import": ["@papia/cspell-kea/cspell-ext.json"], + "overrides": [ + { "filename": "**/{*.kea,kea}.{md,mdx}", "dictionaries": ["kea"] } + ] +} \ No newline at end of file diff --git a/presets/_example/CHANGELOG.kea.md b/presets/_example/CHANGELOG.kea.md new file mode 100644 index 0000000..3b3bf2e --- /dev/null +++ b/presets/_example/CHANGELOG.kea.md @@ -0,0 +1,19 @@ +> **DRAFT — needs native-speaker review.** +> +> [English](./CHANGELOG.md) | **Kriolu** + +# Changelog — _example + +Tudu mudansa notável na es preset ta sta dokumentadu na es dokumentu. Formatu ta segui livrementi [Keep a Changelog](https://keepachangelog.com/). Troka versan na `manifest.json` siginu [semver](https://semver.org/): + +- **Patch** (1.0.0 → 1.0.1) — korresan di tipo, klarifikasan di notas +- **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta kebra +- **Major** (1.0.0 → 2.0.0) — termus tiradu ô tradusan preferido mudadu (ta kebra aprovan downstream) + +--- + +## [0.0.1] — 2026-05-15 + +### Added + +- Skafold inisial ku trêz entradas ilustrativu ki ta demonstra polítika `must`, `should`, i `avoid`. diff --git a/presets/_example/README.kea.md b/presets/_example/README.kea.md new file mode 100644 index 0000000..553762d --- /dev/null +++ b/presets/_example/README.kea.md @@ -0,0 +1,15 @@ +> **DRAFT — needs native-speaker review.** +> +> [English](./README.md) | **Kriolu** + +# _example — Referénsia di skafold (KA é un preset reál) + +Es pasta ta ezisti pa mostra a kontributoris kumo layout di fixeru ta parese. Underline na inisiu ta signifika un script di build pa **salta es preset** te ki sta gera katalogu — el nunka ta parese na marketplace di Skrebe. + +Kantu sta autoria bu próprio preset: + +1. Kopia es pasta pa `presets/bu-preset-id/` (sen underline). +2. Substitui kada valor li ku konteúdu apropriadu pa bu domain. +3. Faze un faladô di Kriolu verifika kualker tradusan di ezemplu — entradas li é só placeholders pa ilustrasan i ka debe ser tratadu komu autoritáriu. + +Pa fluxu kumpletu di kontribuidor, odja [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) na root di repo. diff --git a/presets/_example/README.md b/presets/_example/README.md index 01a61dc..312cb15 100644 --- a/presets/_example/README.md +++ b/presets/_example/README.md @@ -1,3 +1,5 @@ +> **English** | [Kriolu](./README.kea.md) + # _example — Scaffold reference (NOT a real preset) This directory exists to show contributors what the file layout looks like. The leading underscore tells the build script to **skip this preset** when generating the catalog — it will never appear in Skrebe's marketplace. diff --git a/presets/_example/manifest.json b/presets/_example/manifest.json index 8f5adaf..b35ab1f 100644 --- a/presets/_example/manifest.json +++ b/presets/_example/manifest.json @@ -6,7 +6,7 @@ "description": "Scaffold reference showing the file layout and manifest fields. Not loaded into the catalog. Delete and replace with your own preset.", "domain": "general", "version": "0.0.1", - "license": "CC-BY-SA-4.0", + "license": "MIT", "entryCount": 3, "dialects": ["santiago"], "sourceLanguage": "en", diff --git a/schema/preset-manifest.schema.json b/schema/preset-manifest.schema.json index c545a9d..7ba52f8 100644 --- a/schema/preset-manifest.schema.json +++ b/schema/preset-manifest.schema.json @@ -78,8 +78,8 @@ }, "license": { "type": "string", - "enum": ["CC-BY-SA-4.0"], - "description": "All presets in this catalog use CC BY-SA 4.0." + "enum": ["MIT"], + "description": "All presets in this catalog use the MIT License." }, "entryCount": { "type": "integer",