Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
73c5160
feat(auth-rbac): implement isomorphic RBAC security engine with FLS, …
crapougnax Aug 24, 2026
73793fc
feat(auth-rbac): support semantic RbacAction constants (READ, WRITE, …
crapougnax Aug 24, 2026
999ab83
chore(release): configure beta pre-release version 1.0.0-beta.1 and .…
crapougnax Aug 24, 2026
5c22faa
chore(package): clean files field in package.json to guarantee pristi…
crapougnax Aug 24, 2026
13ef080
docs(auth-rbac): complete 100% JSDoc documentation to satisfy CI qual…
crapougnax Aug 24, 2026
1e0ba56
ci(gitflow): configure develop branch pipeline, turborepo test cachin…
crapougnax Aug 24, 2026
7d52f01
fix(auth): type OAuth token response in AbstractOAuthAdapter to fix T…
crapougnax Aug 24, 2026
8a409ed
ci: integrate reusable Quatrain/actions/publish-package-preview for o…
crapougnax Aug 24, 2026
7e18cf7
docs(auth-rbac): add comprehensive 6-step workshop and expose client …
crapougnax Aug 24, 2026
4d39934
feat(auth-rbac): declare ESM exports and module entrypoint for Vite/A…
crapougnax Sep 3, 2026
7e3fdd0
Merge pull request #25 from Quatrain/feat/24-auth-rbac-security-engine
crapougnax Sep 7, 2026
497a986
chore(gitflow): merge main into develop to align integration baseline
crapougnax Sep 15, 2026
80278a7
docs(gitflow): document GitFlow branching protocol and AGENTS.okf bas…
crapougnax Sep 15, 2026
21ce0cb
docs(rfc): add RFC for granular JSON key-by-key mutations and partial…
crapougnax Sep 15, 2026
4fcc275
fix(docs): repair typedoc exports resolution, nextra _meta validation…
crapougnax Sep 17, 2026
d651a92
chore: release versions & update hashes [skip ci]
crapougnax Sep 17, 2026
b5b39ff
feat(ai-openai): universal OpenAI-compatible AI adapter (DeepSeek, Qw…
crapougnax Sep 20, 2026
c9b7fc8
chore: release versions & update hashes [skip ci]
crapougnax Sep 20, 2026
da5c506
feat(config): implement canonical @quatrain/config registry package (…
crapougnax Sep 20, 2026
bf6280e
chore: release versions & update hashes [skip ci]
crapougnax Sep 20, 2026
ba00161
fix(ci): allow mutable yarn install in docs container build (#52)
crapougnax Sep 21, 2026
665e512
fix(ci): add autostash to git pull rebase and ensure npm provenance m…
crapougnax Sep 21, 2026
6496652
chore: release versions & update hashes [skip ci]
crapougnax Sep 21, 2026
8ce8212
fix(backend): remove @faker-js/faker runtime dependency in MockAdapte…
crapougnax Sep 21, 2026
10b7bde
chore: release versions & update hashes [skip ci]
crapougnax Sep 21, 2026
7691c9a
fix(core): restore deprecated getConfig and enable beta semver for de…
crapougnax Sep 23, 2026
a48f557
fix(build): restore workspace:* protocol for all internal dependencie…
crapougnax Sep 23, 2026
5487533
chore: release versions & update hashes [skip ci]
crapougnax Sep 23, 2026
8317eed
feat(ci): add automated temporal CalVer release tagging on main (#60)
crapougnax Sep 23, 2026
2023001
fix(ci): remove PR preview package publishing (#61)
crapougnax Sep 23, 2026
4fbc064
fix(build): restore previousData declaration in publish_all (#62)
crapougnax Sep 23, 2026
9391c5e
fix(build): trigger package release on main when beta versions need f…
crapougnax Sep 23, 2026
51b0355
chore(gitflow): merge main into develop to align baseline
crapougnax Sep 23, 2026
7a093f4
chore: release versions & update hashes [skip ci]
crapougnax Sep 23, 2026
ec9b5d2
fix(quality): resolve SonarCloud vulnerability S2245 and code smells,…
crapougnax Sep 24, 2026
cca7232
chore: release versions & update hashes [skip ci]
crapougnax Sep 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
exclude_paths:
- "docs/**"
- "coverage/**"
- "dist/**"
- ".yarn/**"
- "node_modules/**"
43 changes: 37 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
name: CI & Quality Gate

on:
workflow_dispatch:
push:
branches:
- main
- develop
paths:
- 'packages/**'
- 'bin/**'
Expand All @@ -14,7 +13,10 @@ on:
- 'turbo.json'
- '.github/workflows/ci.yml'
pull_request:
types: [opened, synchronize, reopened]
types: [opened, synchronize, reopened, labeled]
branches:
- main
- develop
paths:
- 'packages/**'
- 'bin/**'
Expand Down Expand Up @@ -112,7 +114,7 @@ jobs:
name: Publish Independent Packages
needs: sonarcloud
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
if: (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
permissions:
contents: write
packages: write
Expand Down Expand Up @@ -173,15 +175,44 @@ jobs:
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git pull --rebase origin main
BRANCH="${GITHUB_REF_NAME:-main}"
git pull --rebase origin "$BRANCH" --autostash

- name: Publish all changed packages
run: yarn publish:all
run: |
if [ "${{ github.ref }}" = "refs/heads/develop" ]; then
yarn publish:all --tag beta --beta
else
yarn publish:all
fi

- name: Sync with remote to prevent push rejection
run: |
BRANCH="${GITHUB_REF_NAME:-main}"
git pull --rebase origin "$BRANCH" --autostash

- name: Commit version bumps & hashes
id: auto_commit
uses: stefanzweifel/git-auto-commit-action@v5 # NOSONAR
with:
commit_message: "chore: release versions & update hashes [skip ci]"
commit_options: '--no-verify'

- name: Create and push temporal release tag on main
if: github.ref == 'refs/heads/main' && steps.auto_commit.outputs.changes_detected == 'true'
run: |
git fetch --tags origin
DATE_TAG="v$(date -u +'%Y.%m.%d')"
TAG="$DATE_TAG"
COUNTER=1
while git rev-parse "$TAG" >/dev/null 2>&1; do
TAG="${DATE_TAG}.${COUNTER}"
COUNTER=$((COUNTER + 1))
done
echo "Creating temporal release tag: $TAG"
git tag -a "$TAG" -m "Release $TAG [skip ci]"
git push origin "$TAG"




13 changes: 11 additions & 2 deletions .github/workflows/docs-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ on:
push:
branches:
- main
- develop
paths:
- 'docs/**'
- 'scripts/build-docs.ts'
pull_request:
branches:
- main
- develop
paths:
- 'docs/**'
- 'scripts/build-docs.ts'
Expand All @@ -30,6 +38,7 @@ jobs:
fetch-depth: 0

- name: Log in to the Container registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3 # NOSONAR
with:
registry: ${{ env.REGISTRY }}
Expand Down Expand Up @@ -57,8 +66,8 @@ jobs:
with:
context: .
file: docs/ContainerFile
platforms: linux/amd64,linux/arm64
push: true
platforms: ${{ github.event_name == 'pull_request' && 'linux/amd64' || 'linux/amd64,linux/arm64' }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ jobs:
exit 1
fi

- name: Publish all changed packages (latest-dev)
run: yarn node bin/publish_all.js --tag latest-dev
- name: Publish all changed packages (beta)
run: yarn node bin/publish_all.js --tag beta --beta

- name: Sync with remote to prevent push rejection
run: |
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,18 @@ packages/**/.*.txt
!bin/**/*.js
!**/bin/**/*.js
!/*.js
!docs/*.js
!docs/pages/_meta.js
*.tsbuildinfo

# Generated App
/app/

.turbo/
**/.turbo/
docs/.next/
docs/out/
docs/.yarn/
firestore-debug.log
firebase-debug.log
.node-persist/
11 changes: 7 additions & 4 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# .markdownlint.yaml
# Tell markdownlint to allow 2 spaces after a list marker, matching Prettier's style.
MD030:
ul_single: 2
ol_single: 2
ul_multi: 2
ol_multi: 2
ul_single: 2
ol_single: 2
ul_multi: 2
ol_multi: 2

# Disable line length rule for markdown files
MD013: false
6 changes: 6 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Documentation build artifacts and generated pages
docs/**
coverage/**
dist/**
node_modules/**
.yarn/**
Loading
Loading