Skip to content
Draft
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
40 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
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
17 changes: 17 additions & 0 deletions .contributerc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"workflow": "clean-flow",
"role": "maintainer",
"mainBranch": "main",
"devBranch": "dev",
"upstream": "upstream",
"origin": "origin",
"branchPrefixes": [
"feature",
"fix",
"docs",
"chore",
"test",
"refactor"
],
"commitConvention": "clean-commit"
}
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ 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
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

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

- name: Autobuild
uses: github/codeql-action/autobuild@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4
uses: github/codeql-action/autobuild@c10b8064de6f491fea524254123dbe5e09572f13 # v4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4
with:
category: '/language:${{ matrix.language }}'
6 changes: 3 additions & 3 deletions .github/workflows/container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,15 @@ permissions:

jobs:
build:
if: github.event_name != 'pull_request' || github.event.pull_request.user.login != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@v4

- 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.7.1
with:
registry: both
dockerhub-username: ${{ secrets.DOCKER_HUB_USERNAME }}
Expand All @@ -36,3 +35,4 @@ jobs:
platforms: linux/amd64,linux/arm64
trivy-severity: CRITICAL
fail-on-vulnerability: true
commit-convention-enabled: true
2 changes: 1 addition & 1 deletion .github/workflows/landing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 4 additions & 3 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ permissions:

jobs:
publish:
if: github.event_name != 'pull_request' || github.event.pull_request.user.login != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
Comment thread
warengonzaga marked this conversation as resolved.
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -31,7 +30,7 @@ jobs:

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

- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
node-version: '22'

Expand All @@ -42,13 +41,15 @@ jobs:
run: bun run build:packages

- name: Build & Publish Packages
uses: wgtechlabs/package-build-flow-action@v2.0.1
uses: wgtechlabs/package-build-flow-action@v2.1.1
with:
monorepo: 'true'
workspace-detection: 'true'
package-manager: 'bun'
dependency-order: 'true'
changed-only: 'false'
commit-convention-enabled: 'true'
bot-detection: 'true'
registry: 'both'
access: 'public'
npm-token: ${{ secrets.NPM_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
token: ${{ secrets.GH_PAT }}

- name: Create Release
uses: wgtechlabs/release-build-flow-action@v1.6.0 # v1.6.0
uses: wgtechlabs/release-build-flow-action@v1.7.0 # v1.6.0
with:
github-token: ${{ secrets.GH_PAT }}
monorepo: 'true'
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,7 @@ coverage/
# Misc
*.bak
*.tmp
docs/**.*
docs/**.*

# Contribute Now
.contributerc.json
3 changes: 0 additions & 3 deletions .husky/commit-msg

This file was deleted.

Empty file removed .husky/pre-commit
Empty file.
69 changes: 0 additions & 69 deletions .husky/validate-commit-msg.mjs

This file was deleted.

4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ── Stage 1: Install + Build ────────────────────────────────────────
FROM oven/bun:1.3.9 AS builder
FROM oven/bun:1.3.11 AS builder

WORKDIR /app

Expand Down Expand Up @@ -42,7 +42,7 @@ COPY . .
RUN bun run build

# ── Stage 2: Production ─────────────────────────────────────────────
FROM oven/bun:1.3.9-slim AS production
FROM oven/bun:1.3.11-slim AS production

WORKDIR /app

Expand Down
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ Tiny Claw is inspired by personal AI companions from science fiction like **Cods
- **Own personality.** Ships with a personality (Heartware system) that's uniquely its own.
- **Native, not wrapped.** Every component is built from scratch with zero dependency on external AI frameworks.
- **Easy to start.** Uses Ollama Cloud with two built-in models — kimi-k2.5:cloud (default) and gpt-oss:120b-cloud. Choose your model during setup and switch anytime via conversation.
- **Flexible Ollama support.** Add the Ollama provider plugin for local Ollama or extra cloud models without duplicating the built-in starter models, while reusing the Ollama API key already stored during setup.
- **Cost-conscious.** Smart routing tiers queries across your installed providers. Cheap models handle simple stuff, powerful models only fire when needed.

## ✨ Features
Expand Down Expand Up @@ -133,21 +134,27 @@ tinyclaw/
secrets/ Encrypted secrets management (AES-256-GCM)
plugins/ Plugin discovery and loading
plugins/ Plugin packages (keep the core tiny)
channel/ Messaging integrations (Discord, Friends, etc.)
channel/ Messaging integrations (Discord, Telegram, Friends, etc.)
provider/ LLM providers (OpenAI, etc.)
src/
cli/ CLI entry point
landing/ Official landing page (Svelte + Vite)
web/ Web UI (Svelte 5, Discord-like experience)
```

## 🎯 Contributing

Contributions are welcome, create a pull request to this repo and I will review your code. Please consider to submit your pull request to the `dev` branch. Thank you!

Read the project's [contributing guide](./CONTRIBUTING.md) for more info.

## 🐛 Issues

Please report any issues and bugs by [creating a new issue here](https://github.com/warengonzaga/tinyclaw/issues/new/choose), also make sure you're reporting an issue that doesn't exist. Any help to improve the project would be appreciated. Thanks! 🙏✨

## 🙏 Sponsor

Like this project? Leave a star! ⭐⭐⭐⭐⭐
Like this project? **Leave a star**! ⭐⭐⭐⭐⭐

Want to support my work and get some perks? [Become a sponsor](https://github.com/sponsors/warengonzaga)! 💖

Expand All @@ -157,11 +164,11 @@ Recognized my open-source contributions? [Nominate me](https://stars.github.com/

## 📋 Code of Conduct

Read the project's [code of conduct](https://github.com/warengonzaga/tinyclaw/blob/main/CODE_OF_CONDUCT.md).
Read the project's [code of conduct](./CODE_OF_CONDUCT.md).

## 📃 License

This project is licensed under [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html).
This project is licensed under [GNU General Public License v3.0](https://opensource.org/licenses/GPL-3.0).

## 🙏 Credits

Expand All @@ -175,10 +182,10 @@ This project is licensed under [GNU General Public License v3.0](https://www.gnu

## 📝 Author

This project is created by [Waren Gonzaga](https://github.com/warengonzaga), with the help of awesome [contributors](https://github.com/warengonzaga/tinyclaw/graphs/contributors).
This project is created by **[Waren Gonzaga](https://github.com/warengonzaga)**, with the help of awesome [contributors](https://github.com/warengonzaga/tinyclaw/graphs/contributors).

[![contributors](https://contrib.rocks/image?repo=warengonzaga/tinyclaw)](https://github.com/warengonzaga/tinyclaw/graphs/contributors)

---

💻💖☕ by [Waren Gonzaga](https://warengonzaga.com) | [YHWH](https://www.youtube.com/watch?v=VOZbswniA-g) 🙏 - Without _Him_, none of this exists, _even me_.
💻💖☕ by [Waren Gonzaga](https://warengonzaga.com) & [YHWH](https://www.youtube.com/watch?v=VOZbswniA-g) 🙏 Without *Him*, none of this exists, *even me*.
2 changes: 1 addition & 1 deletion biome.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.4/schema.json",
"$schema": "https://biomejs.dev/schemas/2.4.6/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
Expand Down
Loading
Loading