Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 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
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
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
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