@devilsdev/rag-pipeline-utils 2.1.5 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +395 -179
  3. package/bin/cli.js +14 -62
  4. package/contracts/embedder-contract.json +52 -0
  5. package/contracts/llm-contract.json +36 -0
  6. package/contracts/loader-contract.json +43 -0
  7. package/contracts/retriever-contract.json +68 -0
  8. package/dist/index.cjs +67 -0
  9. package/dist/index.mjs +51 -0
  10. package/package.json +108 -22
  11. package/.codecov.yml +0 -21
  12. package/.dockerignore +0 -14
  13. package/.eslintignore +0 -5
  14. package/.eslintrc.json +0 -28
  15. package/.github/PROJECT_ROADMAP.md +0 -102
  16. package/.github/PULL_REQUEST_TEMPLATE.md +0 -8
  17. package/.github/release-template.md +0 -20
  18. package/.github/workflows/changelog-auto-commit.yml +0 -37
  19. package/.github/workflows/ci.yml +0 -53
  20. package/.github/workflows/docs-ci.yml +0 -46
  21. package/.github/workflows/docs-deploy.yml +0 -55
  22. package/.github/workflows/enforce-release-review.yml +0 -47
  23. package/.github/workflows/publish-release-blog.yml +0 -47
  24. package/.github/workflows/release-sync.yml +0 -50
  25. package/.github/workflows/roadmap-label-sync.yml +0 -35
  26. package/.github/workflows/roadmap-labels.yml +0 -67
  27. package/.github/workflows/roadmap-sync.yml +0 -44
  28. package/.github/workflows/sync-roadmap.yml +0 -62
  29. package/.husky/pre-commit +0 -6
  30. package/CHANGELOG.md +0 -97
  31. package/Dockerfile +0 -22
  32. package/Use-Cases.md +0 -134
  33. package/__tests__/fixtures/.ragrc.json +0 -8
  34. package/__tests__/fixtures/invalid-ragrc.json +0 -4
  35. package/__tests__/fixtures/sample-eval-dataset.json +0 -15
  36. package/__tests__/fixtures/sample.pdf +0 -1
  37. package/__tests__/fixtures/src/mocks/openai-embedder.js +0 -16
  38. package/__tests__/fixtures/src/mocks/openai-llm.js +0 -9
  39. package/__tests__/fixtures/src/mocks/pdf-loader.js +0 -17
  40. package/__tests__/fixtures/src/mocks/pinecone-retriever.js +0 -26
  41. package/__tests__/fixtures/valid-ragrc.json +0 -16
  42. package/__tests__/integration/cli/config-flow.test.js +0 -98
  43. package/__tests__/integration/config/load-config.test.js +0 -67
  44. package/__tests__/scripts/ensure-roadmap-labels.test.js +0 -64
  45. package/__tests__/unit/config/validate-schema.test.js +0 -121
  46. package/__tests__/unit/core/plugin-registry.test.js +0 -55
  47. package/__tests__/unit/reranker/__snapshots__/reranker.snapshot.test.js.snap +0 -15
  48. package/__tests__/unit/reranker/llm-reranker.test.js +0 -18
  49. package/__tests__/unit/reranker/reranker.enriched.test.js +0 -19
  50. package/__tests__/unit/reranker/reranker.fallback.test.js +0 -15
  51. package/__tests__/unit/reranker/reranker.snapshot.test.js +0 -15
  52. package/__tests__/unit/reranker/reranker.structured-output.test.js +0 -17
  53. package/codecov +0 -0
  54. package/codecov.SHA256SUM +0 -1
  55. package/codecov.SHA256SUM.sig +0 -16
  56. package/docs-site/README.md +0 -41
  57. package/docs-site/blog/2025-04-18-architecture-overview.md +0 -16
  58. package/docs-site/blog/2025-04-18-release-v2.1.1.md +0 -13
  59. package/docs-site/blog/2025-04-19-prompt-engineering-best-practices.md +0 -16
  60. package/docs-site/blog/2025-04-20-image-showcase.md +0 -14
  61. package/docs-site/blog/2025-04-20-release-2.1.1.md +0 -21
  62. package/docs-site/blog/2025-04-21-release-v2.1.3.md +0 -13
  63. package/docs-site/blog/2025-04-21-release-v2.1.4.md +0 -13
  64. package/docs-site/blog/authors.yml +0 -5
  65. package/docs-site/blog/tags.yml +0 -60
  66. package/docs-site/docs/Architecture.md +0 -76
  67. package/docs-site/docs/CLI.md +0 -69
  68. package/docs-site/docs/Evaluation.md +0 -61
  69. package/docs-site/docs/FAQ.md +0 -50
  70. package/docs-site/docs/Introduction.md +0 -58
  71. package/docs-site/docs/Plugins.md +0 -61
  72. package/docs-site/docs/Tutorials.md +0 -106
  73. package/docs-site/docs/Usage.md +0 -72
  74. package/docs-site/docs/Use-Cases.md +0 -77
  75. package/docs-site/docs/intro.mdx +0 -6
  76. package/docs-site/docusaurus.config.js +0 -88
  77. package/docs-site/package-lock.json +0 -17914
  78. package/docs-site/package.json +0 -47
  79. package/docs-site/sidebars.js +0 -39
  80. package/docs-site/src/components/HomepageFeatures/index.js +0 -56
  81. package/docs-site/src/components/HomepageFeatures/index.module.css +0 -57
  82. package/docs-site/src/components/HomepageHeader/index.js +0 -46
  83. package/docs-site/src/components/HomepageHeader/index.module.css +0 -77
  84. package/docs-site/src/css/custom.css +0 -104
  85. package/docs-site/src/pages/index.js +0 -20
  86. package/docs-site/src/pages/index.module.css +0 -23
  87. package/docs-site/src/pages/markdown-page.md +0 -7
  88. package/docs-site/static/.nojekyll +0 -0
  89. package/docs-site/static/img/authors/ali.jpg +0 -0
  90. package/docs-site/static/img/hero.jpg +0 -0
  91. package/docs-site/static/img/logo.png +0 -0
  92. package/docs-site/static/img/logo.svg +0 -6
  93. package/docs-site/static/img/social-card.jpg +0 -0
  94. package/jest.config.js +0 -24
  95. package/plugin.config.json +0 -14
  96. package/public/index.html +0 -0
  97. package/public/results/sample-eval.json +0 -0
  98. package/public/src/App.jsx +0 -57
  99. package/release.config.js +0 -36
  100. package/scripts/banner-injector.js +0 -102
  101. package/scripts/ci-runner.js +0 -51
  102. package/scripts/close-done-roadmap-issues.js +0 -65
  103. package/scripts/create-roadmap-issues.js +0 -47
  104. package/scripts/ensure-roadmap-labels.js +0 -73
  105. package/scripts/fix-mdx-blog-imports.js +0 -50
  106. package/scripts/fix-mdx-image-imports.js +0 -27
  107. package/scripts/generate-release-note.js +0 -40
  108. package/scripts/label-roadmap-issues.js +0 -125
  109. package/scripts/manual-test-checklist.md +0 -90
  110. package/scripts/repair-fixtures.js +0 -30
  111. package/scripts/setup.js +0 -31
  112. package/scripts/sync-labels.js +0 -71
  113. package/scripts/sync-roadmap-labels.js +0 -21
  114. package/scripts/tag-release.js +0 -64
  115. package/scripts/test-global-setup.js +0 -18
  116. package/scripts/validate-changelog-version.js +0 -48
  117. package/scripts/verify-fixture-mocks.js +0 -45
  118. package/scripts/verify-fixtures.js +0 -36
  119. package/server.js +0 -31
  120. package/src/config/load-config.js +0 -33
  121. package/src/config/load-plugin-config.js +0 -56
  122. package/src/config/validate-plugin-schema.js +0 -28
  123. package/src/config/validate-schema.js +0 -107
  124. package/src/core/create-pipeline.js +0 -96
  125. package/src/core/plugin-contracts.js +0 -21
  126. package/src/core/plugin-registry.js +0 -48
  127. package/src/dag/dag-engine.js +0 -70
  128. package/src/evaluate/evaluator.js +0 -44
  129. package/src/evaluate/scoring.js +0 -74
  130. package/src/loader/csv-loader.js +0 -30
  131. package/src/loader/directory-loader.js +0 -38
  132. package/src/loader/html-loader.js +0 -57
  133. package/src/loader/markdown-loader.js +0 -58
  134. package/src/mocks/openai-embedder.js +0 -30
  135. package/src/mocks/openai-llm.js +0 -18
  136. package/src/mocks/pdf-loader.js +0 -17
  137. package/src/mocks/pinecone-retriever.js +0 -25
  138. package/src/reranker/llm-reranker.js +0 -34
  139. package/src/utils/ci/diagnostic-reporter.js +0 -36
  140. package/src/utils/logger.js +0 -29
  141. package/src/utils/retry.js +0 -42
  142. package/src/utils/validate-plugin-contract.js +0 -36
@@ -1,102 +0,0 @@
1
- # 🛣️ Project Roadmap - RAG Pipeline Utils
2
-
3
- > Version: 1.2.0
4
- > Status: In Progress
5
- > Last Updated: 2025-04-22
6
-
7
- This roadmap guides the feature evolution, developer tooling, CI/CD automation, and community integration for the `@devilsdev/rag-pipeline-utils` project. Changes here are synchronized to GitHub Issues and CI workflows.
8
-
9
- ---
10
-
11
- ## ✅ Legend
12
-
13
- | Symbol | Meaning |
14
- |--------|---------|
15
- | ✅ | Done |
16
- | 🚧 | In Progress |
17
- | 🔜 | Upcoming |
18
- | 🧪 | Experimental |
19
-
20
- ---
21
-
22
- ## 📦 Phase 1: Foundation & CI/CD
23
-
24
- | Feature | Status | Target Version | Tags |
25
- |---------|--------|----------------|------|
26
- | Automated test coverage with Jest | ✅ Done | v2.0.0 | test, ci |
27
- | Codecov integration + badge | ✅ Done | v2.0.0 | ci, badge |
28
- | GitHub Actions CI: lint, test, release | ✅ Done | v2.0.0 | ci |
29
- | GitHub Pages deploy for Docusaurus | ✅ Done | v2.0.0 | docs, deploy |
30
- | CHANGELOG auto-generation | ✅ Done | v2.0.0 | release |
31
- | Blog post sync from changelog | ✅ Done | v2.1.0 | blog, release |
32
-
33
- ---
34
-
35
- ## 🚀 Phase 2: Community & Docs
36
-
37
- | Feature | Status | Target Version | Tags |
38
- |---------|--------|----------------|------|
39
- | Interactive onboarding via CLI | 🚧 In Progress | v2.2.0 | devx, onboarding |
40
- | GitHub Discussions integration | 🔜 | v2.2.0 | community |
41
- | Contributor guide & issue templates | ✅ Done | v2.0.0 | community, docs |
42
- | Roadmap → GitHub Issues sync | ✅ Done | v2.1.0 | ci, roadmap |
43
- | Label sync from roadmap | ✅ Done | v2.1.0 | ci, labels |
44
- | Manual & automated blog generation | ✅ Done | v2.1.1 | blog, release |
45
-
46
- ---
47
-
48
- ## 🧠 Phase 3: Developer Tooling
49
-
50
- | Feature | Status | Target Version | Tags |
51
- |---------|--------|----------------|------|
52
- | CLI for `release:tag` with changelog preview | ✅ Done | v2.1.1 | cli, release |
53
- | Hydra.js integration for dynamic RAG config | 🚧 In Progress | v2.2.0 | config, hydra |
54
- | CLI for roadmap issue tagging | ✅ Done | v2.1.1 | cli, roadmap |
55
- | Status badge: Release Review Passed | ✅ Done | v2.1.1 | badge, ci |
56
- | Kanban sync for roadmap issues | ✅ Done | v2.1.1 | roadmap, ci |
57
- | Custom VS Code snippets & workspace | 🔜 | v2.3.0 | devx |
58
-
59
- ---
60
-
61
- ## 🌐 Phase 4: International & Advanced UX
62
-
63
- | Feature | Status | Target Version | Tags |
64
- |---------|--------|----------------|------|
65
- | Blog subscribe + RSS | ✅ Done | v2.1.1 | blog |
66
- | i18n translation support | 🔜 | v2.3.0 | i18n |
67
- | SEO optimization + open graph cards | ✅ Done | v2.1.1 | seo, meta |
68
- | Comment system on blog posts | 🔜 | v2.3.0 | blog, community |
69
- | Performance tuning + SSR check | ✅ Done | v2.1.0 | perf, ssr |
70
- | Multilingual toggle in header | 🔜 | v2.3.0 | i18n, ui |
71
-
72
- ---
73
-
74
- ## 🧩 Future Enhancements
75
-
76
- | Feature | Status | Target Version | Tags |
77
- |---------|--------|----------------|------|
78
- | Plugin support via CLI | 🔜 | v2.4.0 | cli, plugin |
79
- | Graph-based pipeline UI | 🔜 | v2.5.0 | ux, devx |
80
- | Real-world RAG examples + use cases | 🔜 | v2.3.0 | docs, showcase |
81
- | Prebuilt Docker image | 🔜 | v2.4.0 | infra, deploy |
82
- | Slack/Discord webhook for releases | 🔜 | v2.3.0 | infra, notify |
83
-
84
- ---
85
-
86
- ## 📊 Contributor Stats
87
-
88
- - GitHub Insights Badge: ![Contributors](https://img.shields.io/github/contributors/DevilsDev/rag-pipeline-utils)
89
- - Roadmap Sync: `scripts/create-roadmap-issues.js`
90
- - Label Sync: `scripts/ensure-roadmap-labels.js`
91
- - CLI Integration: `scripts/release-changelog.js`, `scripts/sync-roadmap-cli.js`
92
-
93
- ---
94
-
95
- ## 📁 Files
96
-
97
- - `.github/PROJECT_ROADMAP.md` ← source
98
- - `scripts/ensure-roadmap-labels.js` ← label sync
99
- - `scripts/create-roadmap-issues.js` ← issue sync
100
- - `scripts/close-roadmap-done.js` ← close done items
101
- - `.github/workflows/sync-roadmap.yml` ← automation trigger
102
-
@@ -1,8 +0,0 @@
1
- ## ✅ Release Quality Checklist
2
-
3
- - [ ] CHANGELOG.md updated
4
- - [ ] Blog post generated (`docs-site/blog/*release*.md`)
5
- - [ ] `release:tag` and `release:sync` flows tested
6
-
7
- <!-- CI Badge -->
8
- ![Release Review Passed](https://github.com/DevilsDev/rag-pipeline-utils/actions/workflows/enforce-release-review.yml/badge.svg)
@@ -1,20 +0,0 @@
1
- <!-- .github/release-template.md -->
2
-
3
- # 🔖 Release v{{VERSION}}
4
-
5
- **Published:** `{{DATE}}`
6
- **Compare changes:** [View diff](https://github.com/DevilsDev/rag-pipeline-utils/compare/{{PREVIOUS_TAG}}...v{{VERSION}})
7
- **Contributors:** `{{CONTRIBUTORS}}`
8
- **Commits:** `{{COMMITS}}`
9
-
10
- ---
11
-
12
- ## 📦 What's New
13
-
14
- - Placeholder for changelog details or highlights.
15
-
16
- ---
17
-
18
- ## 📘 Changelog
19
-
20
- See full details in [CHANGELOG.md](../../CHANGELOG.md)
@@ -1,37 +0,0 @@
1
- # Version: 1.0.0
2
- # Description: Auto-commits CHANGELOG updates generated by tag-release CLI
3
- # Author: Ali Kahwaji
4
-
5
- name: 📘 Sync Changelog from CLI Tags
6
-
7
- on:
8
- push:
9
- tags:
10
- - 'v*'
11
-
12
- jobs:
13
- commit-changelog:
14
- runs-on: ubuntu-latest
15
- steps:
16
- - name: ⬇️ Checkout repo
17
- uses: actions/checkout@v4
18
-
19
- - name: 🧰 Setup Node.js
20
- uses: actions/setup-node@v4
21
- with:
22
- node-version: 20
23
-
24
- - name: 📦 Install
25
- run: npm ci
26
-
27
- - name: 📝 Append Changelog Entry
28
- run: |
29
- VERSION=${GITHUB_REF#refs/tags/v}
30
- node scripts/tag-release.js $VERSION
31
- cat scripts/.cache/v$VERSION.log >> CHANGELOG.md
32
-
33
- - name: 🔐 Commit changelog
34
- uses: stefanzweifel/git-auto-commit-action@v5
35
- with:
36
- commit_message: "docs(changelog): update for v${{ github.ref_name }}"
37
- file_pattern: "CHANGELOG.md"
@@ -1,53 +0,0 @@
1
- # .github/workflows/ci.yml
2
- # Version: 1.0.0
3
- # Description: Clean CI pipeline with lint, test, fixtures, coverage, and release
4
- # Author: Ali Kahwaji
5
-
6
- name: CI & Release
7
-
8
- on:
9
- push:
10
- branches: [main]
11
- pull_request:
12
- branches: [main]
13
-
14
- jobs:
15
- build-test-release:
16
- name: Lint, Test, and Release
17
- runs-on: ubuntu-latest
18
-
19
- steps:
20
- - name: ⬇️ Checkout code
21
- uses: actions/checkout@v4
22
-
23
- - name: 🟢 Setup Node.js
24
- uses: actions/setup-node@v4
25
- with:
26
- node-version: 20
27
- cache: 'npm'
28
- registry-url: 'https://registry.npmjs.org/'
29
-
30
- - name: 📦 Install dependencies
31
- run: npm ci
32
-
33
- - name: 🧹 Lint
34
- run: npm run lint
35
-
36
- - name: ✅ Run tests with coverage
37
- run: npm test
38
-
39
- - name: 🧪 Validate Fixtures
40
- run: npm run validate-fixtures
41
-
42
- - name: 📊 Upload coverage to Codecov
43
- uses: codecov/codecov-action@v5
44
- with:
45
- token: ${{ secrets.CODECOV_TOKEN }}
46
- slug: DevilsDev/rag-pipeline-utils
47
-
48
- - name: 🚀 Semantic Release
49
- env:
50
- GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
51
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
52
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
53
- run: npx semantic-release
@@ -1,46 +0,0 @@
1
- # .github/workflows/docs-ci.yml
2
- # Version: 1.1.0
3
- # Description: CI pipeline for linting, testing, and building docs
4
- # Author: Ali Kahwaji
5
-
6
- name: Docs CI
7
-
8
- on:
9
- push:
10
- branches: [main]
11
- pull_request:
12
- branches: [main]
13
-
14
- jobs:
15
- build:
16
- runs-on: ubuntu-latest
17
-
18
- steps:
19
- - name: ⬇️ Checkout repository
20
- uses: actions/checkout@v4
21
-
22
- - name: 🟢 Setup Node.js
23
- uses: actions/setup-node@v4
24
- with:
25
- node-version: '18'
26
- cache: 'npm'
27
- cache-dependency-path: 'package-lock.json'
28
-
29
- - name: 📦 Install dependencies
30
- run: npm ci
31
-
32
- - name: 🧹 Lint codebase
33
- run: npm run lint
34
-
35
- - name: 🛠 Build documentation
36
- run: npm run docs:build
37
-
38
- - name: ✅ Run tests (optional)
39
- run: npm test
40
- if: ${{ always() }}
41
-
42
- - name: 📦 Upload docs build (optional)
43
- uses: actions/upload-artifact@v4
44
- with:
45
- name: docusaurus-build
46
- path: docs-site/build
@@ -1,55 +0,0 @@
1
- # .github/workflows/docs-deploy.yml
2
- # Version: 1.1.0
3
- # Description: Deploys Docusaurus docs site to GitHub Pages
4
- # Author: Ali Kahwaji
5
-
6
- name: 📚 Deploy Docusaurus Docs
7
-
8
- on:
9
- push:
10
- branches: [main]
11
- paths:
12
- - 'docs-site/**'
13
- - 'docs/**'
14
- - 'blog/**'
15
- - 'sidebars.js'
16
- - 'docusaurus.config.js'
17
- - 'package.json'
18
-
19
- permissions:
20
- contents: write # Required for GitHub Pages deployment
21
-
22
- jobs:
23
- deploy:
24
- name: Deploy to GitHub Pages
25
- runs-on: ubuntu-latest
26
-
27
- steps:
28
- - name: Checkout repository
29
- uses: actions/checkout@v4
30
-
31
- - name: Setup Node.js
32
- uses: actions/setup-node@v4
33
- with:
34
- node-version: '18'
35
- cache: 'npm'
36
-
37
- - name: Install dependencies
38
- run: npm ci
39
-
40
- - name: Build docs
41
- run: npm run docs:build
42
-
43
- - name: Configure Git user
44
- run: |
45
- git config --global user.name "GitHub Actions"
46
- git config --global user.email "github-actions[bot]@users.noreply.github.com"
47
-
48
- - name: Deploy to GitHub Pages
49
- uses: peaceiris/actions-gh-pages@v4
50
- with:
51
- github_token: ${{ secrets.GITHUB_TOKEN }}
52
- publish_dir: docs-site/build
53
- publish_branch: gh-pages
54
- user_name: github-actions[bot]
55
- user_email: github-actions[bot]@users.noreply.github.com
@@ -1,47 +0,0 @@
1
- # .github/workflows/enforce-release-review.yml
2
- # Version: 1.0.1
3
- # Description: Prevents merge if changelog/blog updates not reviewed. Supports badge + manual trigger.
4
- # Author: Ali Kahwaji
5
-
6
- name: 🛡 Release Review Enforcement
7
-
8
- on:
9
- pull_request:
10
- branches: [main]
11
- workflow_dispatch: # ✅ Manual trigger from Actions tab
12
-
13
- permissions:
14
- contents: read
15
- pull-requests: write
16
-
17
- jobs:
18
- review-check:
19
- name: Validate Changelog & Blog Updates
20
- runs-on: ubuntu-latest
21
-
22
- steps:
23
- - name: 📥 Checkout repo
24
- uses: actions/checkout@v4
25
-
26
- - name: 🔍 Scan for changelog/blog edits
27
- id: check
28
- run: |
29
- git fetch origin main --depth=1
30
- CHANGED_FILES=$(git diff --name-only origin/main...HEAD)
31
-
32
- echo "Changed files:"
33
- echo "$CHANGED_FILES"
34
-
35
- if echo "$CHANGED_FILES" | grep -qE 'CHANGELOG\.md|docs-site/blog/'; then
36
- echo "✅ Changelog or blog post updated."
37
- echo "result=pass" >> "$GITHUB_OUTPUT"
38
- else
39
- echo "❌ No changelog or blog edits found."
40
- echo "result=fail" >> "$GITHUB_OUTPUT"
41
- fi
42
-
43
- - name: 🚫 Fail if missing changelog or blog updates
44
- if: steps.check.outputs.result == 'fail'
45
- run: |
46
- echo "Missing required changelog or blog post for release."
47
- exit 1
@@ -1,47 +0,0 @@
1
- name: Publish Release Blog Post
2
-
3
- on:
4
- release:
5
- types: [published]
6
-
7
- jobs:
8
- publish-blog-post:
9
- runs-on: ubuntu-latest
10
-
11
- steps:
12
- - name: ⬇️ Checkout main branch
13
- uses: actions/checkout@v4
14
- with:
15
- ref: main
16
- fetch-depth: 0
17
-
18
- - name: 🔧 Set up Node.js
19
- uses: actions/setup-node@v4
20
- with:
21
- node-version: 18
22
-
23
- - name: ✏️ Generate blog post
24
- run: |
25
- VERSION=${GITHUB_REF#refs/tags/}
26
- DATE=$(date +'%Y-%m-%d')
27
- FILE="docs-site/blog/${DATE}-release-${VERSION}.md"
28
-
29
- echo "---" > $FILE
30
- echo "slug: release-${VERSION}" >> $FILE
31
- echo "title: ✨ Version ${VERSION} Released" >> $FILE
32
- echo "authors: [ali]" >> $FILE
33
- echo "tags: [release, changelog]" >> $FILE
34
- echo "---" >> $FILE
35
- echo >> $FILE
36
- echo "RAG Pipeline Utils v${VERSION} is now available on NPM!" >> $FILE
37
- echo >> $FILE
38
- echo "#### Highlights" >> $FILE
39
- echo "- 🚀 Auto-published blog from GitHub Release" >> $FILE
40
- echo "- 📦 Version bump: ${VERSION}" >> $FILE
41
- echo "- 📘 See CHANGELOG.md for full details" >> $FILE
42
-
43
- - name: 📋 Commit blog post
44
- uses: stefanzweifel/git-auto-commit-action@v5
45
- with:
46
- commit_message: "docs(blog): add release post for ${{ github.ref_name }}"
47
- file_pattern: "docs-site/blog/*.md"
@@ -1,50 +0,0 @@
1
- # .github/workflows/release-sync.yml
2
- # Version: 1.0.0
3
- # Description: Syncs changelog/tag to blog post
4
- # Author: Ali Kahwaji
5
-
6
- name: 🔄 Release Sync
7
-
8
- on:
9
- push:
10
- tags:
11
- - 'v*' # any pushed Git tag
12
- paths:
13
- - 'CHANGELOG.md'
14
- - 'scripts/**'
15
- - '.github/workflows/release-sync.yml'
16
-
17
- permissions:
18
- contents: write
19
- id-token: write
20
-
21
- jobs:
22
- publish-release-blog:
23
- name: 📝 Create Blog Post from CHANGELOG + Tag
24
- runs-on: ubuntu-latest
25
-
26
- steps:
27
- - name: 🧾 Checkout Repo
28
- uses: actions/checkout@v4
29
- with:
30
- fetch-depth: 0 # get full commit history for changelog diff
31
-
32
- - name: 🧰 Setup Node
33
- uses: actions/setup-node@v4
34
- with:
35
- node-version: 20
36
-
37
- - name: 📦 Install deps
38
- run: npm ci
39
-
40
- - name: 🔁 Generate blog post
41
- run: |
42
- VERSION=${GITHUB_REF#refs/tags/}
43
- PREV=$(git tag --sort=committerdate | grep -B1 $VERSION | head -n1)
44
- node scripts/generate-release-note.js $VERSION $PREV
45
-
46
- - name: 💬 Commit release blog
47
- uses: stefanzweifel/git-auto-commit-action@v5
48
- with:
49
- commit_message: "docs(blog): auto-publish release notes for ${{ github.ref_name }}"
50
- file_pattern: "docs-site/blog/*.md"
@@ -1,35 +0,0 @@
1
- name: 🔖 Sync Roadmap Labels
2
-
3
- on:
4
- push:
5
- paths:
6
- - '.github/roadmap-labels.yml'
7
- - 'scripts/sync-roadmap-labels.js'
8
- workflow_dispatch:
9
-
10
- permissions:
11
- issues: write
12
- contents: read
13
-
14
- jobs:
15
- sync-labels:
16
- runs-on: ubuntu-latest
17
- name: Sync Labels from Roadmap Config
18
-
19
- steps:
20
- - name: 📥 Checkout repo
21
- uses: actions/checkout@v4
22
-
23
- - name: 🛠 Setup Node.js
24
- uses: actions/setup-node@v4
25
- with:
26
- node-version: 20
27
- cache: 'npm'
28
-
29
- - name: 📦 Install dependencies
30
- run: npm ci
31
-
32
- - name: 🔖 Run label sync script
33
- run: node scripts/sync-roadmap-labels.js
34
- env:
35
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,67 +0,0 @@
1
- # Version: 1.0.0
2
- # Description: Ensures roadmap labels (priority, group) exist in the repo
3
- # Author: Ali Kahwaji
4
-
5
- name: 🔖 Sync Roadmap Labels
6
-
7
- on:
8
- workflow_dispatch:
9
- push:
10
- paths:
11
- - '.github/workflows/roadmap-labels.yml'
12
-
13
- jobs:
14
- sync-labels:
15
- runs-on: ubuntu-latest
16
-
17
- steps:
18
- - name: ⬇️ Checkout repository
19
- uses: actions/checkout@v4
20
-
21
- - name: 🟢 Setup Node.js
22
- uses: actions/setup-node@v4
23
- with:
24
- node-version: 20
25
-
26
- - name: 📦 Install octokit
27
- run: npm install octokit
28
-
29
- - name: 🔖 Run label sync
30
- env:
31
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32
- GITHUB_REPO: ${{ github.repository }}
33
- run: |
34
- node <<EOF
35
- const { Octokit } = require("octokit");
36
-
37
- const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN });
38
- const [owner, repo] = process.env.GITHUB_REPO.split("/");
39
-
40
- const labels = [
41
- { name: "priority: high", color: "e11d48", description: "High priority roadmap item" },
42
- { name: "priority: medium", color: "f59e0b", description: "Medium priority roadmap item" },
43
- { name: "priority: low", color: "10b981", description: "Low priority roadmap item" },
44
- { name: "group: docs", color: "6366f1", description: "Documentation features" },
45
- { name: "group: devx", color: "06b6d4", description: "Developer experience improvements" },
46
- { name: "group: community", color: "ec4899", description: "Community tools & engagement" },
47
- { name: "group: blog", color: "f97316", description: "Blog & SEO enhancements" },
48
- { name: "group: infra", color: "64748b", description: "Infrastructure & deployment features" }
49
- ];
50
-
51
- (async () => {
52
- const existing = await octokit.rest.issues.listLabelsForRepo({ owner, repo });
53
- const existingNames = new Set(existing.data.map(l => l.name));
54
-
55
- for (const label of labels) {
56
- if (!existingNames.has(label.name)) {
57
- console.log(`➕ Creating label: ${label.name}`);
58
- await octokit.rest.issues.createLabel({ owner, repo, ...label });
59
- } else {
60
- console.log(`✅ Label already exists: ${label.name}`);
61
- }
62
- }
63
- })().catch(err => {
64
- console.error("Label sync failed:", err);
65
- process.exit(1);
66
- });
67
- EOF
@@ -1,44 +0,0 @@
1
- name: 🚀 Roadmap Sync (Labels + Issues)
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- paths:
7
- - '.github/roadmap-labels.yml'
8
- - '.github/PROJECT_ROADMAP.md'
9
- - 'scripts/create-roadmap-issues.js'
10
- - 'scripts/ensure-roadmap-labels.js'
11
-
12
- workflow_dispatch:
13
-
14
- permissions:
15
- issues: write
16
- contents: read
17
-
18
- jobs:
19
- roadmap-sync:
20
- name: 🔁 Sync Labels + Issues from Roadmap
21
- runs-on: ubuntu-latest
22
-
23
- steps:
24
- - name: 📥 Checkout repository
25
- uses: actions/checkout@v4
26
-
27
- - name: 🛠 Setup Node.js
28
- uses: actions/setup-node@v4
29
- with:
30
- node-version: 20
31
- cache: 'npm'
32
-
33
- - name: 📦 Install dependencies
34
- run: npm ci
35
-
36
- - name: 🔖 Sync GitHub labels from roadmap-labels.yml
37
- run: node scripts/ensure-roadmap-labels.js
38
- env:
39
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40
-
41
- - name: 📝 Create or update roadmap issues
42
- run: node scripts/create-roadmap-issues.js
43
- env:
44
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,62 +0,0 @@
1
- # .github/workflows/sync-roadmap.yml
2
- # Version: 2.1.0
3
- # Description: Unified workflow to sync roadmap issues, labels, and states
4
- # Author: Ali Kahwaji
5
-
6
- name: 🚀 Sync Roadmap to GitHub Issues
7
-
8
- on:
9
- workflow_dispatch:
10
- push:
11
- branches: [main]
12
- paths:
13
- - '.github/PROJECT_ROADMAP.md'
14
- - '.github/workflows/sync-roadmap.yml'
15
- - 'scripts/**.js'
16
-
17
- permissions:
18
- contents: write
19
- issues: write
20
-
21
- jobs:
22
- sync:
23
- name: 📌 Roadmap Sync
24
- runs-on: ubuntu-latest
25
-
26
- steps:
27
- - name: ⬇️ Checkout
28
- uses: actions/checkout@v4
29
-
30
- - name: 🛠 Setup Node.js
31
- uses: actions/setup-node@v4
32
- with:
33
- node-version: 20
34
-
35
- - name: 📦 Install roadmap dependencies
36
- run: npm install
37
- env:
38
- NODE_ENV: development
39
-
40
- - name: 🔖 Ensure roadmap labels exist
41
- run: node scripts/ensure-roadmap-labels.js
42
- env:
43
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44
- GITHUB_REPO: ${{ github.repository }}
45
-
46
- - name: 🗂 Sync roadmap issues
47
- run: node scripts/create-roadmap-issues.js
48
- env:
49
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50
- GITHUB_REPO: ${{ github.repository }}
51
-
52
- - name: 🏷 Apply labels to roadmap issues
53
- run: node scripts/label-roadmap-issues.js
54
- env:
55
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56
- GITHUB_REPO: ${{ github.repository }}
57
-
58
- - name: ✅ Close completed issues
59
- run: node scripts/close-done-roadmap-issues.js
60
- env:
61
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62
- GITHUB_REPO: ${{ github.repository }}
package/.husky/pre-commit DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npm run validate-fixtures && npm run lint
5
- npx lint-staged
6
- node scripts/validate-changelog-version.js