Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
d066303
chore: postkit agent skill
Apr 25, 2026
24eb998
update CLAUDE.md
Apr 25, 2026
1b77474
fix: move skills to agent folder
Yasirunet Apr 29, 2026
9b64b70
chore: update CLAUDE.md and docs about skills
Apr 29, 2026
21183b5
feat: support split-config layout for database remotes by separating …
supunappri99 May 7, 2026
1728f83
feat: support ephemeral Postgres containers in db commands for local …
supunappri99 May 7, 2026
a6ac308
feat: align local container Postgres version with remote and perform …
supunappri99 May 7, 2026
3bda5c8
feat: add container management for database sessions and implement re…
supunappri99 May 7, 2026
ffc5455
feat: implement auto-container management for local databases and ref…
supunappri99 May 7, 2026
389defe
refactor: move all database remote data from public config to gitigno…
supunappri99 May 7, 2026
f21e8ec
refactor: move all database remote configurations from committed conf…
supunappri99 May 7, 2026
9ccb4fd
refactor: introduce resolveLocalDb to unify and simplify container st…
supunappri99 May 8, 2026
7031717
refactor: migrate sensitive credentials and remote configurations fro…
supunappri99 May 8, 2026
026e2c6
refactor: update gitignore strategy to track migrations and auth stat…
supunappri99 May 8, 2026
dcc817d
feat: implement auto-container mode for local database provisioning i…
supunappri99 May 8, 2026
37882c6
chore: remove local Claude settings file
supunappri99 May 8, 2026
12046bd
refactor: simplify CLI session handling and error reporting by centra…
supunappri99 May 8, 2026
3d96b7b
refactor: move connection logic into try block and modernize session …
supunappri99 May 8, 2026
a4d5e0f
docs: update documentation regarding db file persistence, remote conf…
supunappri99 May 8, 2026
e1cd6aa
docs: update PR template and refine create-pr skill to support config…
supunappri99 May 8, 2026
ea64fdd
docs: update create-pr skill instructions to use remote tracking bran…
supunappri99 May 8, 2026
6ce6256
chore: bump package version to 1.2.1
supunappri99 May 8, 2026
e6ce3b4
Merge branch 'development' into chore/agent-skill
supunappri99 May 11, 2026
6b8415b
Merge pull request #32 from appritechnologies/chore/agent-skill
supunappri99 May 11, 2026
193672c
Merge pull request #41 from appritechnologies/feature/split-config-se…
supunappri99 May 11, 2026
97dd879
feat: implement multi-schema database support by transitioning from s…
supunappri99 May 11, 2026
0716261
refactor: enforce per-schema directory layout and remove legacy flat …
supunappri99 May 11, 2026
b5f2792
refactor: reorganize e2e test schema fixtures into structured public …
supunappri99 May 11, 2026
3eba544
feat: prepend infra SQL to generated schema and apply infra step befo…
supunappri99 May 11, 2026
3bfaf47
docs: merge multi-schema architecture specification into main archite…
supunappri99 May 11, 2026
ba2e5dd
refactor: restructure database schema files into schema-specific subd…
supunappri99 May 11, 2026
9ac2d9f
feat: implement db schema scaffolding command to generate directory s…
supunappri99 May 11, 2026
08c51e0
feat: implement postkit db schema add command and document its workflow
supunappri99 May 11, 2026
de3132d
feat: stack commands
May 11, 2026
b7c876e
feat: update postkit.config.json schemas array automatically during d…
supunappri99 May 12, 2026
0326e63
docs: refactor database schema configuration to support multi-schema …
supunappri99 May 12, 2026
e970cff
refactor: restructure schema directory to support named schemas and i…
supunappri99 May 12, 2026
f66fcff
chore: bump version, improve schema missing warning, and append sslmo…
supunappri99 May 12, 2026
1111b65
docs: document cross-schema migration patterns and best practices
supunappri99 May 12, 2026
db09f55
docs: add blog posts and update database documentation and navigation
supunappri99 May 12, 2026
a8e70e6
docs: overhaul documentation with new landing page, updated configura…
supunappri99 May 12, 2026
1fce578
refactor: replace SVG illustrations with image cards and update homep…
supunappri99 May 12, 2026
e5cbffa
feat: add themed responsive hero images and update blog posts with co…
supunappri99 May 12, 2026
bfedd6b
refactor: simplify hero image implementation using Docusaurus IdealIm…
supunappri99 May 12, 2026
97b1b58
feat: add dedicated pull request checks and separate unit/E2E test pi…
supunappri99 May 12, 2026
b33822a
docs: update skill documentation for multi-schema support and project…
supunappri99 May 12, 2026
7c5e8d6
chore: bump package version to 1.3.0
supunappri99 May 12, 2026
db3c4f0
feat: update create-pr skill to automate GitHub pull request creation
supunappri99 May 12, 2026
b37e4c8
docs: update create-pr skill to generate description only without exe…
supunappri99 May 12, 2026
ebf1c7d
fix: address TypeScript strict mode and type safety issues across CLI…
supunappri99 May 12, 2026
eb18020
Merge pull request #43 from appritechnologies/feature/multiple-schema…
supunappri99 May 13, 2026
4bd6b87
feat: implement stack module for managing local Docker-based developm…
supunappri99 May 14, 2026
204d4d8
Merge branch 'development' of supunappri.github.com:appritechnologies…
supunappri99 May 14, 2026
6618332
feat: migrate postgrest jwt authentication from static secret to JWKS…
supunappri99 May 14, 2026
dda4252
feat: implement stack keys command to fetch and sync Keycloak JWKs an…
supunappri99 May 14, 2026
d69d8bf
feat: update stack configuration types and add null check for Keycloa…
supunappri99 May 14, 2026
182d6d4
feat: add support for importing custom Keycloak realm templates durin…
supunappri99 May 15, 2026
ec621aa
feat: reorder realm template import to occur before JWKs key fetching…
supunappri99 May 15, 2026
ce98cb9
feat: automate database infrastructure initialization and migrations …
supunappri99 May 15, 2026
f710f4d
feat: extract db scaffolding logic and update Keycloak CLI image version
supunappri99 May 15, 2026
bb00563
fix: update Keycloak health check URL, clarify volume removal messagi…
supunappri99 May 15, 2026
1125637
feat: add realm template scaffolding to init command and remove redun…
supunappri99 May 15, 2026
d7bc7bd
fix: update keycloak-config-cli networking to use internal docker bri…
supunappri99 May 15, 2026
a11315c
refactor: decouple postgres and keycloak secret resolution from raw c…
supunappri99 May 15, 2026
5809159
feat: implement container interrupt handling to clean up local databa…
supunappri99 May 15, 2026
a87f993
refactor: move deregisterSignal declaration to function scope in depl…
supunappri99 May 15, 2026
2324bd7
Merge pull request #45 from appritechnologies/feature/multiple-schema…
supunappri99 May 15, 2026
a0c5464
feat: add stack state tracking to ensure realm import and key setup o…
supunappri99 May 18, 2026
9e5b9e6
refactor: migrate stack initialization state from local JSON file to …
supunappri99 May 18, 2026
ca9523e
feat: implement robust postgres connection retry and integrate mandat…
supunappri99 May 18, 2026
c653c44
feat: add KC_DB_SCHEMA to Keycloak config and update database infrast…
supunappri99 May 18, 2026
94d394d
refactor: update service startup logic to correctly filter and log re…
supunappri99 May 18, 2026
a823c51
feat: update restart command to support multiple simultaneous service…
supunappri99 May 18, 2026
5d4f664
feat: implement Keycloak provider synchronization and mount providers…
supunappri99 May 18, 2026
916f2b5
feat: add project name support to stack configuration, inject JWT rol…
supunappri99 May 18, 2026
c782d0c
test: add comprehensive unit and e2e test suites for stack management…
supunappri99 May 19, 2026
fcfc4ee
docs: add stack module command documentation and update architecture …
supunappri99 Jun 8, 2026
991c60e
docs: update migration guides for clarity and accuracy on schema hand…
supunappri99 Jul 2, 2026
3b04300
Merge pull request #42 from appritechnologies/feat/docker-stack-integ…
supunappri99 Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 63 additions & 35 deletions .claude/skills/create-pr/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,76 @@
---
name: create-pr
description: Generate a PR description and save to temp/pr-description.md.
description: Generate a PR description for the current branch and save it to temp/pr-description.md. Analyzes commits against the base branch and fills in the project PR template exactly.
argument-hint: "[base-branch]"
allowed-tools: Bash, Read, Write
---

# Create PR Skill

Generate a standardized PR description for the PostKit project and save it to `temp/pr-description.md`.
Generate a standardized PR description following the project template and save it to `temp/pr-description.md`. Does NOT push or create the PR on GitHub — description only.

## Project Context
## Arguments

Read `CLAUDE.md` at the project root for project conventions.
Use the PR template at `.github/pull_request_template.md`.
Optional: base branch to compare against (e.g. `/create-pr development` or `/create-pr main`).
Default to `main` if no argument is provided.

## Workflow

### Step 1: Analyze Changes
Gather branch information:
### Step 1: Read the PR Template

**Always read the template file first** before writing anything:

```bash
cat .github/pull_request_template.md
```

The output must use the **exact section headings and checkbox format** from that file. Do not add, remove, or reorder sections.

### Step 2: Analyze Changes

Get the current branch and compare against the remote base:

```bash
git log origin/main...HEAD --oneline
git diff origin/main...HEAD --stat
git diff origin/main...HEAD
git rev-parse --abbrev-ref HEAD
git fetch origin <base>
git log origin/<base>...HEAD --oneline
git diff origin/<base>...HEAD --stat
```
Categorize changes into: features, fixes, refactors, tests, docs, chore.

### Step 2: Generate PR Description
Using the PR template structure, generate:

**Title** — under 70 characters with conventional commit prefix:
- `feat: <description>` for new features
- `fix: <description>` for bug fixes
- `refactor: <description>` for code refactoring
- `test: <description>` for test changes
- `docs: <description>` for documentation changes
- `chore: <description>` for build/tooling changes

**Body** — using the template sections:
- Summary (1-3 bullet points)
- Changes (specific list)
- Type of Change (check one)
- Test Plan (checklist)

### Step 3: Save to File
Create `temp/` directory if needed and save to `temp/pr-description.md`.
Use the exact format from `.github/pull_request_template.md` — read that file and follow its structure.

### Step 4: Show to User
Display the generated PR description and ask for confirmation or edits before saving.

Always use `origin/<base>` so the comparison is against the remote state.

### Step 3: Generate PR Title and Body

**Title** — under 70 characters, conventional commit prefix:
- `feat:` new feature
- `fix:` bug fix
- `refactor:` no functional change
- `test:` test changes
- `docs:` documentation only
- `chore:` build/tooling/CI

**Body** — fill in each template section in exact order:
- `## Summary` — 1–3 bullet points of what the PR does
- `## Changes` — bullet list of specific files/components changed
- `## Type of Change` — mark exactly one checkbox `[x]`
- `## Test Plan` — check completed items; fill in the "Manually tested:" line
- `## Breaking Changes` — `[x] No breaking changes` if none; otherwise list them

### Step 4: Save to `temp/pr-description.md`

```bash
mkdir -p temp
```

Write the file with this exact structure:
```
# <title>

**Branch:** `<current-branch>` → `<base-branch>`

<body following template sections exactly>
```

### Step 5: Show the Result

Display the full content of `temp/pr-description.md` to the user and confirm it is saved.
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
**Branch:** `<from-branch>` → `<to-branch>`

## Summary
<!-- 1-3 bullet points describing what this PR does -->

Expand Down
114 changes: 114 additions & 0 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: PR Checks

on:
pull_request:
branches:
- main
- development

concurrency:
group: pr-checks-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
# ── CLI: Build + Type check ─────────────────────────────────────────────────
cli-build:
name: CLI Build
runs-on: ubuntu-latest
defaults:
run:
working-directory: cli

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: cli/package-lock.json

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Type check
run: npx tsc --noEmit

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: cli-dist
path: cli/dist
retention-days: 1

# ── CLI: Unit tests ─────────────────────────────────────────────────────────
cli-unit-tests:
name: CLI Unit Tests
runs-on: ubuntu-latest
needs: cli-build
defaults:
run:
working-directory: cli

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: cli/package-lock.json

- name: Install dependencies
run: npm ci

- name: Run unit tests
run: npm run test

# ── CLI: E2E tests (requires Docker) ───────────────────────────────────────
cli-e2e-tests:
name: CLI E2E Tests
runs-on: ubuntu-latest
needs: cli-build

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: cli/package-lock.json

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Start Docker daemon and verify
run: |
sudo systemctl start docker || true
docker version
docker info

- name: Pull PostgreSQL image (cache warm-up)
run: docker pull postgres:16-alpine

- name: Install dependencies
working-directory: cli
run: npm ci

- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: cli-dist
path: cli/dist

- name: Run E2E tests
working-directory: cli
run: npm run test:e2e
env:
TESTCONTAINERS_RYUK_DISABLED: true
DOCKER_HOST: unix:///var/run/docker.sock

67 changes: 59 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,14 @@ permissions:
id-token: write

jobs:
test:
name: Test
# ── Unit tests ──────────────────────────────────────────────────────────────
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: cli

steps:
- uses: actions/checkout@v4

Expand All @@ -22,19 +27,62 @@ jobs:
cache: npm
cache-dependency-path: cli/package-lock.json

- run: npm ci
- name: Install dependencies
run: npm ci

- name: Run unit tests
run: npm run test

# ── E2E tests (requires Docker) ─────────────────────────────────────────────
e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: cli/package-lock.json

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Start Docker daemon and verify
run: |
sudo systemctl start docker || true
docker version
docker info

- name: Pull PostgreSQL image (cache warm-up)
run: docker pull postgres:16-alpine

- name: Install dependencies
working-directory: cli
run: npm ci

- name: Build
working-directory: cli
run: npm run build

- run: npm run test:all
- name: Run E2E tests
working-directory: cli
run: npm run test:e2e
env:
TESTCONTAINERS_RYUK_DISABLED: true
DOCKER_HOST: unix:///var/run/docker.sock

# ── Release & Publish (only after all tests pass) ───────────────────────────
release:
name: Release & Publish
needs: test
needs: [unit-tests, e2e-tests]
runs-on: ubuntu-latest
defaults:
run:
working-directory: cli

steps:
- uses: actions/checkout@v4

Expand All @@ -45,9 +93,11 @@ jobs:
cache-dependency-path: cli/package-lock.json
registry-url: https://registry.npmjs.org

- run: npm ci
- name: Install dependencies
run: npm ci

- run: npm run build
- name: Build
run: npm run build

- name: Extract version from tag
id: version
Expand Down Expand Up @@ -94,6 +144,7 @@ jobs:
prerelease: false
});

- run: npm publish --provenance --access public
- name: Publish to npm
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Loading
Loading