@devilsdev/rag-pipeline-utils 2.1.7 โ†’ 2.1.9

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 (148) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +395 -186
  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 -23
  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/auto-release-note.yml +0 -73
  19. package/.github/workflows/ci.yml +0 -55
  20. package/.github/workflows/docs-ci.yml +0 -46
  21. package/.github/workflows/docs-deploy.yml +0 -64
  22. package/.github/workflows/enforce-release-review.yml +0 -50
  23. package/.github/workflows/generate-blog-post.yml +0 -44
  24. package/.github/workflows/post-release-generate-blog.yml +0 -71
  25. package/.github/workflows/publish-release-blog.yml +0 -47
  26. package/.github/workflows/release-sync.yml +0 -50
  27. package/.github/workflows/roadmap-label-sync.yml +0 -35
  28. package/.github/workflows/roadmap-labels.yml +0 -67
  29. package/.github/workflows/roadmap-sync.yml +0 -44
  30. package/.github/workflows/sync-roadmap.yml +0 -62
  31. package/.github/workflows/verify-blog-badge.yml +0 -50
  32. package/.husky/pre-commit +0 -6
  33. package/CHANGELOG.md +0 -131
  34. package/Dockerfile +0 -22
  35. package/Use-Cases.md +0 -134
  36. package/__tests__/fixtures/.ragrc.json +0 -8
  37. package/__tests__/fixtures/invalid-ragrc.json +0 -4
  38. package/__tests__/fixtures/sample-eval-dataset.json +0 -15
  39. package/__tests__/fixtures/sample.pdf +0 -1
  40. package/__tests__/fixtures/src/mocks/openai-embedder.js +0 -16
  41. package/__tests__/fixtures/src/mocks/openai-llm.js +0 -9
  42. package/__tests__/fixtures/src/mocks/pdf-loader.js +0 -17
  43. package/__tests__/fixtures/src/mocks/pinecone-retriever.js +0 -26
  44. package/__tests__/fixtures/valid-ragrc.json +0 -16
  45. package/__tests__/integration/cli/config-flow.test.js +0 -98
  46. package/__tests__/integration/config/load-config.test.js +0 -67
  47. package/__tests__/scripts/ensure-roadmap-labels.test.js +0 -64
  48. package/__tests__/unit/config/validate-schema.test.js +0 -121
  49. package/__tests__/unit/core/plugin-registry.test.js +0 -55
  50. package/__tests__/unit/reranker/__snapshots__/reranker.snapshot.test.js.snap +0 -15
  51. package/__tests__/unit/reranker/llm-reranker.test.js +0 -18
  52. package/__tests__/unit/reranker/reranker.enriched.test.js +0 -19
  53. package/__tests__/unit/reranker/reranker.fallback.test.js +0 -15
  54. package/__tests__/unit/reranker/reranker.snapshot.test.js +0 -15
  55. package/__tests__/unit/reranker/reranker.structured-output.test.js +0 -17
  56. package/codecov +0 -0
  57. package/codecov.SHA256SUM +0 -1
  58. package/codecov.SHA256SUM.sig +0 -16
  59. package/docs-site/README.md +0 -41
  60. package/docs-site/blog/2025-04-18-architecture-overview.md +0 -16
  61. package/docs-site/blog/2025-04-18-release-v2.1.1.md +0 -13
  62. package/docs-site/blog/2025-04-19-prompt-engineering-best-practices.md +0 -16
  63. package/docs-site/blog/2025-04-20-image-showcase.md +0 -14
  64. package/docs-site/blog/2025-04-20-release-2.1.1.md +0 -21
  65. package/docs-site/blog/2025-04-21-release-v2.1.3.md +0 -13
  66. package/docs-site/blog/2025-04-21-release-v2.1.4.md +0 -13
  67. package/docs-site/blog/2025-04-22-release-v2.1.5.md +0 -13
  68. package/docs-site/blog/2025-04-24-v2.1.6.md +0 -21
  69. package/docs-site/blog/authors.yml +0 -5
  70. package/docs-site/blog/tags.yml +0 -60
  71. package/docs-site/docs/Architecture.md +0 -76
  72. package/docs-site/docs/CLI.md +0 -69
  73. package/docs-site/docs/Evaluation.md +0 -61
  74. package/docs-site/docs/FAQ.md +0 -50
  75. package/docs-site/docs/Introduction.md +0 -58
  76. package/docs-site/docs/Plugins.md +0 -61
  77. package/docs-site/docs/Tutorials.md +0 -106
  78. package/docs-site/docs/Usage.md +0 -72
  79. package/docs-site/docs/Use-Cases.md +0 -77
  80. package/docs-site/docs/intro.mdx +0 -6
  81. package/docs-site/docusaurus.config.js +0 -88
  82. package/docs-site/package-lock.json +0 -17914
  83. package/docs-site/package.json +0 -47
  84. package/docs-site/sidebars.js +0 -39
  85. package/docs-site/src/components/HomepageFeatures/index.js +0 -56
  86. package/docs-site/src/components/HomepageFeatures/index.module.css +0 -57
  87. package/docs-site/src/components/HomepageHeader/index.js +0 -46
  88. package/docs-site/src/components/HomepageHeader/index.module.css +0 -77
  89. package/docs-site/src/css/custom.css +0 -104
  90. package/docs-site/src/pages/index.js +0 -20
  91. package/docs-site/src/pages/index.module.css +0 -23
  92. package/docs-site/src/pages/markdown-page.md +0 -7
  93. package/docs-site/static/.nojekyll +0 -0
  94. package/docs-site/static/img/authors/ali.jpg +0 -0
  95. package/docs-site/static/img/hero.jpg +0 -0
  96. package/docs-site/static/img/logo.png +0 -0
  97. package/docs-site/static/img/logo.svg +0 -6
  98. package/docs-site/static/img/social-card.jpg +0 -0
  99. package/jest.config.js +0 -24
  100. package/plugin.config.json +0 -14
  101. package/public/index.html +0 -0
  102. package/public/results/sample-eval.json +0 -0
  103. package/public/src/App.jsx +0 -57
  104. package/release.config.js +0 -36
  105. package/scripts/banner-injector.js +0 -102
  106. package/scripts/ci-runner.js +0 -51
  107. package/scripts/close-done-roadmap-issues.js +0 -65
  108. package/scripts/create-roadmap-issues.js +0 -47
  109. package/scripts/ensure-roadmap-labels.js +0 -73
  110. package/scripts/fix-mdx-blog-imports.js +0 -50
  111. package/scripts/fix-mdx-image-imports.js +0 -27
  112. package/scripts/generate-release-note.js +0 -110
  113. package/scripts/get-previous-tag.js +0 -40
  114. package/scripts/label-roadmap-issues.js +0 -125
  115. package/scripts/manual-test-checklist.md +0 -90
  116. package/scripts/repair-fixtures.js +0 -30
  117. package/scripts/setup.js +0 -31
  118. package/scripts/sync-labels.js +0 -71
  119. package/scripts/sync-roadmap-labels.js +0 -21
  120. package/scripts/tag-release.js +0 -64
  121. package/scripts/test-global-setup.js +0 -18
  122. package/scripts/validate-changelog-version.js +0 -48
  123. package/scripts/verify-fixture-mocks.js +0 -45
  124. package/scripts/verify-fixtures.js +0 -36
  125. package/server.js +0 -31
  126. package/src/config/load-config.js +0 -33
  127. package/src/config/load-plugin-config.js +0 -56
  128. package/src/config/validate-plugin-schema.js +0 -28
  129. package/src/config/validate-schema.js +0 -107
  130. package/src/core/create-pipeline.js +0 -96
  131. package/src/core/plugin-contracts.js +0 -21
  132. package/src/core/plugin-registry.js +0 -48
  133. package/src/dag/dag-engine.js +0 -70
  134. package/src/evaluate/evaluator.js +0 -44
  135. package/src/evaluate/scoring.js +0 -74
  136. package/src/loader/csv-loader.js +0 -30
  137. package/src/loader/directory-loader.js +0 -38
  138. package/src/loader/html-loader.js +0 -57
  139. package/src/loader/markdown-loader.js +0 -58
  140. package/src/mocks/openai-embedder.js +0 -30
  141. package/src/mocks/openai-llm.js +0 -18
  142. package/src/mocks/pdf-loader.js +0 -17
  143. package/src/mocks/pinecone-retriever.js +0 -25
  144. package/src/reranker/llm-reranker.js +0 -34
  145. package/src/utils/ci/diagnostic-reporter.js +0 -36
  146. package/src/utils/logger.js +0 -29
  147. package/src/utils/retry.js +0 -42
  148. 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,73 +0,0 @@
1
- # .github/workflows/auto-release-note.yml
2
- # Version: 1.0.0
3
- # Description: Unified workflow to generate changelog + blog post from Git tag
4
- # Author: Ali Kahwaji
5
-
6
- name: โœซ Auto Release Note
7
-
8
- on:
9
- push:
10
- tags:
11
- - 'v*'
12
- workflow_dispatch:
13
-
14
- permissions:
15
- contents: write
16
-
17
- jobs:
18
- generate-note:
19
- name: ๐Ÿ– Generate Blog + Changelog
20
- runs-on: ubuntu-latest
21
-
22
- steps:
23
- - name: โฌ‡๏ธ Checkout code
24
- uses: actions/checkout@v4
25
-
26
- - name: ๐Ÿ”ง Setup Node.js
27
- uses: actions/setup-node@v4
28
- with:
29
- node-version: 20
30
-
31
- - name: ๐Ÿ“ฆ Install dependencies
32
- run: npm ci
33
-
34
- - name: ๐Ÿ“‘ Generate release note from tag
35
- env:
36
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37
- run: |
38
- VERSION=${GITHUB_REF#refs/tags/v}
39
- echo "Generating blog + changelog for v$VERSION"
40
-
41
- git fetch --tags --force
42
-
43
- node scripts/generate-release-note.js v$VERSION
44
-
45
- - name: ๐Ÿ“„ Auto-commit blog + changelog
46
- uses: stefanzweifel/git-auto-commit-action@v5
47
- with:
48
- commit_message: "docs(release): auto-publish blog and changelog"
49
- file_pattern: "CHANGELOG.md docs-site/blog/*.md"
50
- push_options: '--follow-tags'
51
-
52
- - name: ๐Ÿš€ Confirm complete
53
- run: echo "Release blog + changelog committed and pushed."
54
-
55
- - name: ๐Ÿ“ˆ Emit Blog Badge Trigger
56
- run: echo "::set-output name=blog::generated"
57
-
58
- - name: ๐ŸŒŸ Trigger Badge (Optional)
59
- if: always()
60
- uses: peter-evans/create-or-update-comment@v4
61
- with:
62
- issue-number: 1
63
- body: "Blog Post + Changelog updated for ${{ github.ref_name }} :rocket:"
64
- env:
65
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
66
-
67
- - name: ๐Ÿ’ฌ Comment on PR (optional)
68
- if: github.event.pull_request.number != ''
69
- uses: peter-evans/create-or-update-comment@v4
70
- with:
71
- issue-number: ${{ github.event.pull_request.number }}
72
- body: "๐Ÿ“ข Blog + Changelog updated for ${{ github.ref_name }} ๐ŸŽ‰"
73
-
@@ -1,55 +0,0 @@
1
- # .github/workflows/ci.yml
2
- # Version: 1.1.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
- tags: ['v*']
12
- pull_request:
13
- branches: [main]
14
-
15
- jobs:
16
- build-test-release:
17
- name: Lint, Test, and Release
18
- runs-on: ubuntu-latest
19
-
20
- steps:
21
- - name: โฌ‡๏ธ Checkout code
22
- uses: actions/checkout@v4
23
-
24
- - name: ๐ŸŸข Setup Node.js
25
- uses: actions/setup-node@v4
26
- with:
27
- node-version: 20
28
- cache: 'npm'
29
- registry-url: 'https://registry.npmjs.org/'
30
-
31
- - name: ๐Ÿ“ฆ Install dependencies
32
- run: npm ci
33
-
34
- - name: ๐Ÿงน Lint codebase
35
- run: npm run lint
36
-
37
- - name: โœ… Run tests with coverage
38
- run: npm test
39
-
40
- - name: ๐Ÿงช Validate Fixtures
41
- run: npm run validate-fixtures
42
-
43
- - name: ๐Ÿ“Š Upload coverage to Codecov
44
- uses: codecov/codecov-action@v5
45
- with:
46
- token: ${{ secrets.CODECOV_TOKEN }}
47
- slug: DevilsDev/rag-pipeline-utils
48
-
49
- - name: ๐Ÿš€ Semantic Release
50
- env:
51
- GH_TOKEN: ${{ secrets.GH_TOKEN }} # โœ… Required by @semantic-release/github
52
- GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} # โœ… Used by GitHub Actions
53
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
54
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
55
- run: npx semantic-release
@@ -1,46 +0,0 @@
1
- # .github/workflows/docs-ci.yml
2
- # Version: 1.2.0
3
- # Description: CI pipeline for linting, testing, and building docs with improved caching and consistency
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
- docs-ci:
16
- runs-on: ubuntu-latest
17
-
18
- steps:
19
- - name: โฌ‡๏ธ Checkout code
20
- uses: actions/checkout@v4
21
-
22
- - name: ๐ŸŸข Setup Node.js
23
- uses: actions/setup-node@v4
24
- with:
25
- node-version: 20
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
39
- run: npm test
40
- if: ${{ always() }}
41
-
42
- - name: ๐Ÿ“ฆ Upload built docs (optional)
43
- uses: actions/upload-artifact@v4
44
- with:
45
- name: docusaurus-build
46
- path: docs-site/build
@@ -1,64 +0,0 @@
1
- # .github/workflows/docs-deploy.yml
2
- # Version: 1.2.0
3
- # Description: Deploys Docusaurus docs site to GitHub Pages with CNAME and post-release chaining
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
21
-
22
- jobs:
23
- deploy:
24
- name: ๐Ÿš€ Publish to GitHub Pages
25
- runs-on: ubuntu-latest
26
-
27
- steps:
28
- - name: ๐Ÿ“ฅ Checkout repository
29
- uses: actions/checkout@v4
30
- with:
31
- fetch-depth: 0 # โœ… Full git history for tag diff or changelog sync
32
-
33
- - name: ๐Ÿงฐ Setup Node.js
34
- uses: actions/setup-node@v4
35
- with:
36
- node-version: 20
37
- cache: 'npm'
38
-
39
- - name: ๐Ÿ“ฆ Install dependencies
40
- run: npm ci
41
-
42
- - name: ๐Ÿ›  Git Identity
43
- run: |
44
- git config --global user.name "GitHub Actions"
45
- git config --global user.email "github-actions@github.com"
46
-
47
- - name: ๐Ÿ›  Build docs
48
- run: npm run docs:build
49
-
50
- - name: โœ… Auto-generate release blog + changelog (if not triggered by tag)
51
- run: |
52
- TAG=$(git describe --tags --abbrev=0)
53
- node scripts/generate-release-note.js "$TAG" || echo "๐Ÿ” Skipped blog generation fallback"
54
- if: success() && !startsWith(github.ref, 'refs/tags/')
55
-
56
- - name: ๐Ÿš€ Deploy to GitHub Pages
57
- uses: peaceiris/actions-gh-pages@v4
58
- with:
59
- github_token: ${{ secrets.GITHUB_TOKEN }}
60
- publish_dir: docs-site/build
61
- publish_branch: gh-pages
62
- cname: docs.rag-utils.dev # ๐Ÿ”ง CHANGE THIS if you use a custom domain
63
- user_name: github-actions[bot]
64
- user_email: 41898282+github-actions[bot]@users.noreply.github.com
@@ -1,50 +0,0 @@
1
- # .github/workflows/enforce-release-review.yml
2
- # Version: 1.1.0
3
- # Description: Validates CHANGELOG.md and blog edits on PRs and tag pushes. Emits status badge.
4
- # Author: Ali Kahwaji
5
-
6
- name: ๐Ÿ›ก Release Review Passed
7
-
8
- on:
9
- pull_request:
10
- branches: [main]
11
- push:
12
- tags:
13
- - 'v*.*.*'
14
- workflow_dispatch:
15
-
16
- permissions:
17
- contents: read
18
- pull-requests: write
19
-
20
- jobs:
21
- review:
22
- name: ๐Ÿ“ Release Review Check
23
- runs-on: ubuntu-latest
24
-
25
- steps:
26
- - name: ๐Ÿ“ฅ Checkout repo
27
- uses: actions/checkout@v4
28
-
29
- - name: ๐Ÿ” Scan for changelog or blog edits
30
- id: check
31
- run: |
32
- git fetch origin main --depth=1
33
- CHANGED_FILES=$(git diff --name-only origin/main...HEAD || true)
34
-
35
- echo "Changed files:"
36
- echo "$CHANGED_FILES"
37
-
38
- if echo "$CHANGED_FILES" | grep -qE 'CHANGELOG\.md|docs-site/blog/'; then
39
- echo "โœ… Changelog or blog post updated."
40
- echo "result=pass" >> "$GITHUB_OUTPUT"
41
- else
42
- echo "โŒ No changelog or blog edits found."
43
- echo "result=fail" >> "$GITHUB_OUTPUT"
44
- fi
45
-
46
- - name: ๐Ÿšซ Fail if missing changelog or blog
47
- if: steps.check.outputs.result == 'fail'
48
- run: |
49
- echo "Missing required changelog or blog post for release."
50
- exit 1
@@ -1,44 +0,0 @@
1
- # .github/workflows/generate-blog-post.yml
2
- # Version: 1.1.0
3
- # Description: Auto-generates blog posts from release tags using generate-release-note.js
4
- # Author: Ali Kahwaji
5
-
6
- name: "๐Ÿ“ Auto Generate Blog Post"
7
-
8
- on:
9
- release:
10
- types: [published]
11
- push:
12
- tags:
13
- - 'v*.*.*'
14
-
15
- permissions:
16
- contents: write
17
-
18
- jobs:
19
- blog:
20
- name: Generate Release Blog
21
- runs-on: ubuntu-latest
22
-
23
- steps:
24
- - name: โฌ‡๏ธ Checkout code
25
- uses: actions/checkout@v4
26
-
27
- - name: ๐Ÿ›  Setup Node
28
- uses: actions/setup-node@v4
29
- with:
30
- node-version: 20
31
-
32
- - name: ๐Ÿ“ฆ Install dependencies
33
- run: npm ci
34
-
35
- - name: ๐Ÿ“ Generate blog post from tag
36
- run: node scripts/generate-release-note.js ${{ github.ref_name }} <previous-tag>
37
- env:
38
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39
-
40
- - name: ๐Ÿ“‹ Commit blog post
41
- uses: stefanzweifel/git-auto-commit-action@v5
42
- with:
43
- commit_message: "docs(blog): auto-generate post for release ${{ github.ref_name }}"
44
- file_pattern: "docs-site/blog/*.md"
@@ -1,71 +0,0 @@
1
- # .github/workflows/post-release-generate-blog.yml
2
- # Version: 2.5.2
3
- # Description: Auto-generates changelog + blog post from tag or GitHub release with dry-run safety and badge output
4
- # Author: Ali Kahwaji
5
-
6
- name: Auto Generate Blog + Changelog
7
-
8
- on:
9
- release:
10
- types: [published]
11
- push:
12
- tags:
13
- - 'v*.*.*'
14
- workflow_dispatch:
15
- inputs:
16
- dry_run:
17
- description: 'Run generator in dry-run mode (no git push)'
18
- required: false
19
- default: 'false'
20
-
21
- permissions:
22
- contents: write
23
- issues: write
24
- pull-requests: write
25
-
26
- jobs:
27
- generate:
28
- name: ๐Ÿ““ Generate Blog + Changelog
29
- runs-on: ubuntu-latest
30
- outputs:
31
- blog_generated: ${{ steps.done.outputs.blog_generated }}
32
-
33
- steps:
34
- - name: ๐Ÿ“ฅ Checkout code
35
- uses: actions/checkout@v4
36
- with:
37
- fetch-depth: 0
38
-
39
- - name: ๐Ÿ›  Setup Git identity
40
- run: |
41
- git config --global user.name "GitHub Actions"
42
- git config --global user.email "docs@autobot.local"
43
-
44
- - name: ๐Ÿ“ฆ Install dependencies
45
- run: npm ci
46
-
47
- - name: ๐Ÿท Extract version and dry_run mode
48
- id: context
49
- run: |
50
- TAG=${GITHUB_REF#refs/tags/}
51
- echo "tag=${TAG}" >> $GITHUB_OUTPUT
52
- echo "dry_run=${{ github.event.inputs.dry_run == 'true' && 'true' || 'false' }}" >> $GITHUB_OUTPUT
53
-
54
- - name: ๐Ÿ“ Generate release note
55
- id: note
56
- run: |
57
- echo "๐Ÿšง Running release note generator..."
58
- node scripts/generate-release-note.js "${{ steps.context.outputs.tag }}"
59
- env:
60
- DRY_RUN: ${{ steps.context.outputs.dry_run }}
61
-
62
- - name: ๐Ÿ” Commit blog & changelog
63
- if: ${{ steps.context.outputs.dry_run != 'true' }}
64
- uses: stefanzweifel/git-auto-commit-action@v5
65
- with:
66
- commit_message: "docs(release): blog + changelog for ${{ steps.context.outputs.tag }}"
67
- file_pattern: "CHANGELOG.md docs-site/blog/*.md"
68
-
69
- - name: โœ… Output badge result
70
- id: done
71
- run: echo "blog_generated=true" >> "$GITHUB_OUTPUT"
@@ -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 }}