Skip to content
Draft
Show file tree
Hide file tree
Changes from 53 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
2453218
⚙️ setup: add contributor configuration for clean commit workflow
warengonzaga Feb 26, 2026
0df6164
☕ chore: bump wgtechlabs/container-build-flow-action from 1.3.1 to 1.…
dependabot[bot] Mar 4, 2026
1964d85
☕ chore: bump github/codeql-action from 4.32.4 to 4.32.5 (#42)
dependabot[bot] Mar 4, 2026
9a48480
☕ chore: bump oven/bun from 1.3.9-slim to 1.3.10-slim (#41)
dependabot[bot] Mar 4, 2026
9682500
☕ chore: remove contribute now config
warengonzaga Mar 5, 2026
03522e0
📖 docs (readme): add contributing section and update formatting
warengonzaga Mar 5, 2026
e13910c
☕ chore (deps): bump biome to 2.4.6 and update type definitions
warengonzaga Mar 5, 2026
1bfd8b4
🔧 update (delegation): improve queue error handling in background runner
warengonzaga Mar 5, 2026
b5030e2
🔧 update: fix plugin system issues and add improvements
warengonzaga Mar 5, 2026
fade9ae
📦 new (landing): add favicon and web manifest
warengonzaga Mar 7, 2026
8641ee7
🔧 update (landing): rebrand theme colors and add logo animations
warengonzaga Mar 7, 2026
fcbf927
🔧 update (landing): replace emoji with Tiny Claw logo image
warengonzaga Mar 7, 2026
314209f
🔧 update (web): update app styles
warengonzaga Mar 7, 2026
b27966d
⚙️ setup (ci): improve container workflow with commit convention and …
warengonzaga Mar 7, 2026
93816ae
📦 new (telegram): add telegram channel plugin
warengonzaga Mar 7, 2026
8525e0f
☕ chore: add gitattributes to enforce lf line endings
warengonzaga Mar 7, 2026
20d489f
📦 new (provider): add Ollama provider plugin with model pairing and c…
warengonzaga Mar 7, 2026
c29afaf
🔧 update (ci): upgrade package publish action and enable bot detection
warengonzaga Mar 7, 2026
097faa2
☕ chore: Bump vite from 7.3.1 to 8.0.0 (#58)
dependabot[bot] Mar 19, 2026
c4ea71f
☕ chore: Bump github/codeql-action from 4.32.5 to 4.33.0 (#57)
dependabot[bot] Mar 19, 2026
6a600ba
☕ chore: Bump docker/setup-qemu-action from 3 to 4 (#53)
dependabot[bot] Mar 19, 2026
a88d402
☕ chore: Bump wgtechlabs/release-build-flow-action from 1.6.0 to 1.7.…
dependabot[bot] Mar 19, 2026
3d92455
☕ chore: Bump actions/setup-node from 6.2.0 to 6.3.0 (#51)
dependabot[bot] Mar 19, 2026
ade1023
☕ chore: Bump oven/bun from 1.3.10-slim to 1.3.11-slim (#59)
dependabot[bot] Apr 3, 2026
2cef636
☕ chore: Bump nick-fields/retry from 3 to 4 (#60)
dependabot[bot] Apr 3, 2026
1168acf
☕ chore: Bump wgtechlabs/package-build-flow-action from 2.1.0 to 2.1.…
dependabot[bot] Apr 3, 2026
44c5e8b
☕ chore: Bump typescript from 5.9.3 to 6.0.2 (#63)
dependabot[bot] Apr 3, 2026
79c2d2c
☕ chore: Bump github/codeql-action from 4.33.0 to 4.35.1 (#64)
dependabot[bot] Apr 3, 2026
23a6fc7
☕ chore: Bump actions/deploy-pages from 4.0.5 to 5.0.0 (#65)
dependabot[bot] Apr 3, 2026
ce4ef05
☕ chore: Bump wgtechlabs/container-build-flow-action from 1.7.0 to 1.…
dependabot[bot] Apr 7, 2026
abc457d
🔧 update: extend SecretsManager, agent loop, and CLI commands (#66)
warengonzaga Apr 13, 2026
dfedff2
🔧 update (deps): upgrade typescript to v6 and vite to v8
warengonzaga Apr 13, 2026
63f67f1
🔧 update (logger): update logger implementation
warengonzaga Apr 13, 2026
43c50dc
🔧 update (core): update loop logic and add tests
warengonzaga Apr 13, 2026
d1c6b53
🔧 update (cli): update secrets utility and start command tests
warengonzaga Apr 13, 2026
7fde6f5
🔧 update (docker): add telegram, ollama, and landing packages
warengonzaga Apr 13, 2026
3fe82e7
📦 new (types): add owner-only tools for providers and plugin management
warengonzaga Apr 13, 2026
046823f
🔒 security (cli): require explicit confirmation before installing com…
warengonzaga Apr 13, 2026
ebbb9ea
🔧 update (ci): skip publish and container build steps on pull requests
warengonzaga Apr 13, 2026
45251ef
🔧 update (landing): wrap logo in button element for accessibility
warengonzaga Apr 13, 2026
d193bf9
☕ chore: Bump actions/upload-pages-artifact from 4.0.0 to 5.0.0 (#71)
dependabot[bot] Apr 20, 2026
00575dc
☕ chore: Bump oven/bun from 1.3.11-slim to 1.3.12-slim (#72)
dependabot[bot] Apr 20, 2026
5567025
☕ chore: Bump marked from 17.0.6 to 18.0.0 (#73)
dependabot[bot] Apr 20, 2026
25a5ee7
🔧 update: improve shield SQL detection and CLI channel routing (#69)
warengonzaga May 6, 2026
b8ba51e
☕ chore: Bump oven/bun from 1.3.12-slim to 1.3.13-slim
dependabot[bot] May 6, 2026
eae94cf
☕ chore: Bump actions/setup-node from 6.3.0 to 6.4.0
dependabot[bot] May 6, 2026
7523e16
☕ chore: Bump wgtechlabs/container-build-flow-action from 1.7.1 to 1.8.0
dependabot[bot] May 6, 2026
5b5e1a5
☕ chore: Bump github/codeql-action from 4.35.1 to 4.35.3
dependabot[bot] May 6, 2026
6ca1e65
☕ chore: Bump zod from 3.25.76 to 4.4.3
dependabot[bot] May 6, 2026
191a616
🔧 update(CI): enable AI commit assistance and tips
warengonzaga May 7, 2026
24efe58
⚙️ setup(CI): refactor and streamline GitHub workflows
warengonzaga May 7, 2026
d866933
⚙️ setup (config): update 1 config file
warengonzaga May 7, 2026
268e130
🔧 update (workflow): merge dev pipeline changes
warengonzaga May 7, 2026
6a1de7a
🔒 security (codeql): fix advanced security findings
warengonzaga May 7, 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
21 changes: 21 additions & 0 deletions .contributerc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"workflow": "clean-flow",
"role": "maintainer",
"mainBranch": "main",
"devBranch": "dev",
"upstream": "upstream",
"origin": "origin",
"branchPrefixes": [
"feature",
"fix",
"docs",
"chore",
"test",
"refactor"
],
"commitConvention": "clean-commit",
"aiEnabled": true,
"aiProvider": "openrouter",
"aiModel": "openai/gpt-oss-20b:free",
"showTips": true
}
27 changes: 27 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Auto-detect text files and normalize line endings to LF
* text=auto eol=lf

# Explicitly declare text files
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.jsx text eol=lf
*.json text eol=lf
*.md text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.toml text eol=lf
*.env text eol=lf
*.sh text eol=lf

# Declare binary files
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.woff binary
*.woff2 binary
*.ttf binary
*.otf binary
*.eot binary
79 changes: 40 additions & 39 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
name: CI

on:
pull_request:
branches: [main, dev]
push:
branches: [main, dev]
workflow_call:
workflow_dispatch:

concurrency:
group: CI-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
pull-requests: write

jobs:
commits:
validate:
name: Lint Test Validate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Validate commit messages
if: github.event_name == 'pull_request' || github.event_name == 'push'
run: |
# Clean Commit convention pattern
# Format: <emoji> <type>[(<scope>)]: <description>
Expand Down Expand Up @@ -70,45 +74,34 @@ jobs:
exit 1
fi

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: oven-sh/setup-bun@v2
- name: Detect secrets
uses: gitleaks/gitleaks-action@v2.3.9
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install dependencies
run: bun install --frozen-lockfile

- name: Run Biome lint and format check
run: bun run lint
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.13

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "22"

- uses: oven-sh/setup-bun@v2
- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-

- name: Install dependencies
run: bun install --frozen-lockfile

- name: Build packages
run: bun run build:packages

- name: Build plugins
run: bun run build:plugins

test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: oven-sh/setup-bun@v2

- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run Biome lint and format check
run: bun run lint

- name: Build packages
run: bun run build:packages
Expand All @@ -117,8 +110,16 @@ jobs:
run: bun run build:plugins

- name: Run tests (with retry for Bun runtime segfaults)
uses: nick-fields/retry@v3
uses: nick-fields/retry@v4
with:
max_attempts: 3
timeout_minutes: 10
command: bun test

- name: Test Docker build (no push)
run: |
echo "Testing Docker build..."
docker build -t test-build .
echo "Build successful, cleaning up..."
docker image rm test-build
echo "Docker build test completed"
33 changes: 15 additions & 18 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,34 @@
name: CodeQL

on:
pull_request:
branches: [main, dev]
push:
branches: [main, dev]
schedule:
# Run every Monday at 6:00 UTC to catch new vulnerabilities
- cron: '0 6 * * 1'
- cron: "0 6 * * 1"
workflow_call:
workflow_dispatch:

concurrency:
group: CodeQL-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

permissions:
contents: read
security-events: write

jobs:
analyze:
name: Analyze (TypeScript)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: ['javascript-typescript']
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Checkout code
uses: actions/checkout@v6

- name: Initialize CodeQL
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4
languages: javascript-typescript
queries: security-and-quality

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4
uses: github/codeql-action/analyze@v4
with:
category: '/language:${{ matrix.language }}'
category: /language:javascript-typescript
48 changes: 34 additions & 14 deletions .github/workflows/container.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
name: Container Build
name: Container

on:
pull_request:
branches: [main, dev]
branches: [ dev, main ]
push:
branches: [main, dev]
workflow_call:
workflow_dispatch:
branches: [ dev, main ]
release:
types: [published]
types: [ published ]
workflow_dispatch:

concurrency:
group: Container-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
Expand All @@ -17,22 +20,39 @@ permissions:
pull-requests: write

jobs:
ci:
name: CI Gate
uses: ./.github/workflows/ci.yml
secrets: inherit
permissions:
contents: read
pull-requests: write

codeql:
name: CodeQL Gate
uses: ./.github/workflows/codeql.yml
permissions:
contents: read
security-events: write
actions: read

build:
if: github.event_name != 'pull_request' || github.event.pull_request.user.login != 'dependabot[bot]'
name: Build Container Images
runs-on: ubuntu-latest
needs: [ ci, codeql ]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Checkout code
uses: actions/checkout@v6

- name: Build and Push Container
Comment thread
warengonzaga marked this conversation as resolved.
uses: wgtechlabs/container-build-flow-action@v1.3.1 # v1.3.1
uses: wgtechlabs/container-build-flow-action@v1.8.1
with:
registry: both
dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
ghcr-token: ${{ secrets.GITHUB_TOKEN }}
platforms: linux/amd64,linux/arm64
ghcr-token: ${{ github.token }}
floating-tags: true
release-platforms: linux/amd64
trivy-severity: CRITICAL
fail-on-vulnerability: true
commit-convention-enabled: true
4 changes: 2 additions & 2 deletions .github/workflows/landing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
run: bun run --cwd src/landing build

- name: Upload artifact
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: src/landing/dist

Expand All @@ -47,4 +47,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
Loading
Loading