Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
5eaf7ab
ignore: update download stats 2025-07-22
actions-user Jul 22, 2025
99d6a28
fix(tui): more defensive attachment conversion
adamdotdevin Jul 22, 2025
01f8d3b
wip: vscode extension
Jul 22, 2025
5aafab1
wip: tui api
thdxr Jul 22, 2025
500cea5
wip: append-prompt is better
thdxr Jul 22, 2025
10c8b49
chore: generate sdk into packages/sdk
adamdotdevin Jul 22, 2025
3d4c142
tweak: cleanup cancelled markdown (#1222)
rekram1-node Jul 22, 2025
db2fbed
wip: vscode extension
Jul 22, 2025
26a4061
wip: vscode extension
Jul 22, 2025
13def91
wip: vscode extension
Jul 22, 2025
7998c3b
wip: tui api
thdxr Jul 22, 2025
6d2ffa8
ignore: lock changes
thdxr Jul 22, 2025
80b17da
wip: vscode extension
Jul 22, 2025
da19b10
wip: vscode extension
Jul 22, 2025
0deb85f
wip: vscode extension
Jul 22, 2025
bf42d8b
wip: vscode extension
Jul 22, 2025
c2208fa
ci: error github api fail
thdxr Jul 22, 2025
ee0c813
wip: vscode extension
Jul 22, 2025
2d1f9fc
docs: add tutorial closes #740
jayair Jul 22, 2025
38ae7d6
feat(tui): support pipe into tui (#1230)
rekram1-node Jul 22, 2025
638ec7b
Allow multiline prompts for github agent (#1225)
ajoslin Jul 22, 2025
1278353
docs: edit ide
jayair Jul 22, 2025
fd98c31
config: improve config schema
thdxr Jul 23, 2025
b7b0cdb
tweak: ensure most recently interacted with session appears at the to…
rekram1-node Jul 23, 2025
6c9ec54
ignore: update download stats 2025-07-23
actions-user Jul 23, 2025
12b8682
add debug paths command
thdxr Jul 23, 2025
2051e85
remove providers path
thdxr Jul 23, 2025
12bf5f6
fix "working" spinner animation (#1054) (#1259)
tobias-walle Jul 23, 2025
289a4d9
tweak: handle pasted attachment references (#1257)
rekram1-node Jul 23, 2025
3e69d52
docs: remove deprecated 'log_level' reference in docs (#1258)
rekram1-node Jul 23, 2025
507c975
feat: pass mode into task tool (#1248)
yihuikhuu Jul 24, 2025
96866e5
basic undo feature (#1268)
thdxr Jul 24, 2025
1ad529d
wip: fix redoing
thdxr Jul 24, 2025
2c82ee5
wip: always force create snapshot
thdxr Jul 24, 2025
3fdd23d
fix header width
thdxr Jul 24, 2025
8f0644e
fix: update max visible height in list tests (#1269)
rstacruz Jul 24, 2025
ff23f67
disable undo/redo for now
thdxr Jul 24, 2025
6b6b815
ignore: update download stats 2025-07-24
actions-user Jul 24, 2025
2553137
add aura theme (#1280)
danielfyhr Jul 24, 2025
a16554d
fix: slog error log serialization (#1276)
rekram1-node Jul 24, 2025
a119991
disable snapshots
thdxr Jul 24, 2025
34f6ffe
Check if modelID includes "claude" for antropic/claude prompt caching…
jessevdp Jul 24, 2025
d288d21
includ baseline builds
thdxr Jul 24, 2025
20bf27f
ci: tweak
thdxr Jul 24, 2025
72e464a
ci: tweak
thdxr Jul 24, 2025
541a7a3
fix: edit tool (#1287)
neriousy Jul 24, 2025
e9074e6
fix: add custom() to system prompt on summarize (#1289)
neriousy Jul 24, 2025
d50ae8e
feat: Replace unzip with @zip.js/zip.js for Windows compatibility (#662)
ClayWarren Jul 24, 2025
22c9e29
(tui) tweak: add setting for scroll speed (#1288)
rekram1-node Jul 24, 2025
284c010
wip: more snapshot stuff
thdxr Jul 24, 2025
aa2a505
wip: fix type errors
thdxr Jul 24, 2025
4306f1a
wip: handle deleting file
thdxr Jul 24, 2025
01f7583
Fix: added environment() to summarize() (#1290)
neriousy Jul 24, 2025
0c7e529
docs: add to quick start
jayair Jul 24, 2025
88477b3
wip: github actions
Jul 24, 2025
8dcd39f
real life totally configurabl ai subasians
thdxr Jul 25, 2025
529a171
docs: agents
thdxr Jul 25, 2025
5d871b2
docs: agents
thdxr Jul 25, 2025
fc73d3c
docs: agents
thdxr Jul 25, 2025
fc13d05
agents better display when spawning
thdxr Jul 25, 2025
151c7ed
ignore: update download stats 2025-07-25
actions-user Jul 25, 2025
f307a5c
fix symlinked agents
thdxr Jul 25, 2025
d6b3bb0
disable todo tools by default in agent
thdxr Jul 25, 2025
8e5607f
fix double system prompt
thdxr Jul 25, 2025
0795a57
fix: header width to display header in one line when sharing disabled…
yihuikhuu Jul 25, 2025
250a86e
fix reading model from config
thdxr Jul 25, 2025
7ed0596
fix issue with trailing whitespace error in assistant message
thdxr Jul 25, 2025
613b5fb
feat: add csharp lsp (#1312)
yihuikhuu Jul 25, 2025
827469c
fix: apply content-level caching for non-anthropic providers (#1305)
neominik Jul 25, 2025
e97613e
allow temperature to be configured per mode
thdxr Jul 25, 2025
c65e7af
docs: mode temperature
thdxr Jul 25, 2025
92656fd
fix(headless): respect mode passed to /message endpoint (#1300)
kehanzhang Jul 25, 2025
7044662
handle uploaded text/plain
thdxr Jul 25, 2025
c85b970
wip: drop
thdxr Jul 25, 2025
10ae43a
wip: sync
thdxr Jul 25, 2025
3a7a2a8
wip: github actions
Jul 25, 2025
81fb1b3
Fix a broken example in the MCP documentation and add more clarity (#…
mybuddymichael Jul 25, 2025
1149b98
wip: github actions
Jul 25, 2025
6b7058f
qwen optimizations it works good now
thdxr Jul 25, 2025
4d760a1
wip: github action
Jul 25, 2025
a07f370
wip: github actions
Jul 25, 2025
e8eaa77
better mcp support - should fix hanging when streamable http server i…
thdxr Jul 25, 2025
2c924b9
fixing various typos in text. (#1185)
didier-durand Jul 26, 2025
a007d65
wip: github actions
Jul 26, 2025
c2b3c52
wip: github action
Jul 26, 2025
7b966f4
Rename project from Opencode to Kuuzuki
Moikapy Jul 26, 2025
7490bff
Migrate desktop app from Tauri to Electron
Moikapy Jul 26, 2025
fc2be79
Implement PTY terminal integration for Kuuzuki TUI
Moikapy Jul 26, 2025
a2c5da0
Fix Electron dev mode port configuration
Moikapy Jul 26, 2025
44e37ef
Remove Rust/Cargo and Tauri dependency checks
Moikapy Jul 26, 2025
8a763e0
WIP on parity/sdk-update
Moikapy Jul 27, 2025
ee415b7
Implement unified terminal with smart split view
Moikapy Jul 27, 2025
eb93e55
Fix terminal initialization and improve shutdown handling
Moikapy Jul 27, 2025
38daee7
Fix Ctrl+C signal handling in terminal without node-pty
Moikapy Jul 28, 2025
715d636
Remove desktop and terminal components, make TUI the default command
Moikapy Jul 28, 2025
5779396
feat: disable VS Code extension auto-installation
Moikapy Jul 28, 2025
9c27c62
refactor: rename opencode folder to kuuzuki
Moikapy Jul 28, 2025
04eba97
chore: update version to 0.1.0 and fix branding
Moikapy Jul 28, 2025
0add289
fix: revert Go imports back to sst/opencode
Moikapy Jul 28, 2025
6e1dfde
refactor: streamline workflows for npm publishing
Moikapy Jul 28, 2025
f01de3a
docs: update README and CLAUDE.md for community fork
Moikapy Jul 28, 2025
4eba554
Remove desktop-related documentation and electron dependency
Moikapy Jul 28, 2025
4363b3e
Update SDK branding and clean up
Moikapy Jul 28, 2025
d902d60
Update GitHub URLs from kuucode to kuuzuki organization
Moikapy Jul 28, 2025
c3f982b
Clean up scripts directory
Moikapy Jul 28, 2025
884f73a
Remove unused configs directory
Moikapy Jul 28, 2025
57a55b9
Implement Stripe billing integration for Kuuzuki Pro
Moikapy Jul 28, 2025
2c0f05a
Add documentation for free vs pro tiers
Moikapy Jul 28, 2025
f4bfeb5
Set up SST deployment configuration
Moikapy Jul 28, 2025
d29bed9
Implement all TODO/FIXME items and enhance .agentrc system
Moikapy Jul 28, 2025
e5ab7c5
Complete Git permission system implementation
Moikapy Jul 29, 2025
bc11613
feat: implement enhanced memory tool with smart features for 0.1.0 re…
Moikapy Jul 29, 2025
fe3a1cf
Complete Kuuzuki project restructuring and cleanup
Moikapy Jul 29, 2025
3cd9e14
Add hybrid context management and modernize configuration system
Moikapy Jul 29, 2025
20ab6fd
Implement task-aware compression system and streamline configuration
Moikapy Jul 29, 2025
3fdfabb
Enhance project configuration system and improve test isolation with …
Moikapy Jul 29, 2025
65f7a5b
fix: improve TUI modal sizing and positioning logic
Moikapy Jul 29, 2025
24952e6
Implement comprehensive stability improvements for kuuzuki 0.1.0
Moikapy Jul 29, 2025
a63fde4
Implement comprehensive v0.1.0 stability and feature improvements
Moikapy Jul 29, 2025
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
  •  
  •  
  •  
339 changes: 339 additions & 0 deletions .agentrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@
{
"project": {
"name": "kuuzuki",
"description": "Community-driven fork of OpenCode - AI-powered terminal assistant",
"type": "monorepo",
"languages": [
"typescript",
"go",
"javascript"
],
"frameworks": [
"bun",
"node.js",
"hono",
"astro"
],
"architecture": "multi-package",
"repository": "https://github.com/moikas-code/kuuzuki",
"license": "MIT",
"version": "0.1.0"
},
"commands": {
"build": "./run.sh build all",
"buildTui": "./run.sh build tui",
"buildServer": "./run.sh build server",
"test": "bun test",
"testSingle": "bun test {testFile}",
"dev": "bun dev",
"devTui": "./run.sh dev tui",
"devServer": "./run.sh dev server",
"devWatch": "./dev.sh watch",
"lint": "bun run lint",
"typecheck": "bun run typecheck",
"clean": "./run.sh clean",
"check": "./run.sh check",
"link": "./dev.sh link",
"unlink": "./dev.sh unlink",
"publish": "bun run script/publish.ts",
"publishDryRun": "bun run script/publish.ts --dry-run",
"generateSdks": "./scripts/generate-sdks.sh"
},
"codeStyle": {
"language": "typescript",
"formatter": "prettier",
"linter": "eslint",
"importStyle": "relative",
"quotes": "double",
"semicolons": false,
"printWidth": 120,
"tabWidth": 2,
"useTabs": false
},
"conventions": {
"fileNaming": "camelCase",
"functionNaming": "camelCase",
"variableNaming": "camelCase",
"classNaming": "PascalCase",
"testFilePattern": "*.test.ts",
"configFiles": [
".agentrc",
"package.json",
"tsconfig.json",
"go.mod"
],
"branchNaming": "feature/description, fix/description, hotfix/description",
"commitStyle": "conventional"
},
"tools": {
"packageManager": "bun",
"runtime": "bun",
"bundler": "bun",
"framework": "hono",
"database": null,
"testingFramework": "bun:test",
"typeChecker": "typescript",
"linter": "eslint",
"formatter": "prettier",
"aiProviders": [
"anthropic"
],
"preferred": [
"bash",
"edit",
"read",
"write",
"grep",
"glob"
]
},
"paths": {
"src": "packages/kuuzuki/src",
"tests": "packages/kuuzuki/test",
"docs": "docs",
"config": ".",
"scripts": "scripts",
"binaries": "packages/kuuzuki/bin",
"tui": "packages/tui",
"web": "packages/web",
"infra": "infra"
},
"git": {
"commitMode": "always",
"pushMode": "always",
"configMode": "never",
"preserveAuthor": true,
"requireConfirmation": true,
"maxCommitSize": 50,
"allowedBranches": [
"master",
"develop",
"feature/*",
"fix/*",
"hotfix/*"
]
},
"rules": {
"critical": [
{
"id": "create-comprehensive-v010-implementation-plan-with-mdopz2cl",
"text": "Create comprehensive v0.1.0 implementation plan with stability and improvement features",
"category": "critical",
"reason": "Planning major version release with focus on stability and user experience",
"createdAt": "2025-07-29T15:56:35.109Z",
"usageCount": 0,
"analytics": {
"timesApplied": 0,
"timesIgnored": 0,
"effectivenessScore": 0,
"userFeedback": []
},
"documentationLinks": [],
"tags": []
},
{
"id": "implement-secure-api-key-management-system-with-ke-mdoq6tst",
"text": "Implement secure API key management system with keychain storage and provider validation",
"category": "critical",
"reason": "Creating secure infrastructure for managing API keys across multiple AI providers",
"createdAt": "2025-07-29T16:02:37.277Z",
"usageCount": 0,
"analytics": {
"timesApplied": 0,
"timesIgnored": 0,
"effectivenessScore": 0,
"userFeedback": []
},
"documentationLinks": [],
"tags": []
}
],
"preferred": [],
"contextual": [],
"deprecated": []
},
"dependencies": {
"critical": [
"@modelcontextprotocol/sdk",
"hono",
"yargs",
"zod",
"ai",
"chalk",
"@clack/prompts"
],
"preferred": [
"turndown",
"diff",
"open",
"remeda",
"gray-matter",
"isomorphic-git"
],
"avoided": [
"express",
"lodash",
"moment"
]
},
"mcp": {
"servers": {
"moidvk": {
"description": "Development tools and code analysis server",
"tools": [
"check_code_practices",
"rust_code_practices",
"python_code_analyzer",
"format_code",
"rust_formatter",
"python_formatter",
"scan_security_vulnerabilities",
"check_safety_rules",
"rust_safety_checker",
"python_security_scanner",
"check_production_readiness",
"rust_production_readiness",
"rust_performance_analyzer",
"python_test_analyzer",
"check_accessibility",
"check_graphql_schema",
"check_graphql_query",
"check_redux_patterns",
"intelligent_development_analysis",
"semantic_development_search",
"development_session_manager",
"js_test_analyzer",
"bundle_size_analyzer",
"container_security_scanner",
"documentation_quality_checker",
"openapi_rest_validator",
"js_performance_analyzer",
"python_performance_analyzer",
"cicd_configuration_analyzer",
"license_compliance_scanner",
"environment_config_validator"
]
},
"kb-mcp": {
"description": "Knowledge base and documentation management",
"tools": [
"kb_read",
"kb_update",
"kb_search",
"kb_semantic_search",
"kb_graph_query",
"kb_status",
"kb_issues"
]
},
"sequential-thinking": {
"description": "Complex problem solving and analysis",
"tools": [
"sequential_thinking"
]
},
"memory": {
"description": "Context preservation across sessions",
"tools": [
"memory_store",
"memory_retrieve"
]
}
},
"workflow": [
"ALWAYS start with moidvk file analysis tools",
"ALWAYS run appropriate language-specific code quality checks",
"ALWAYS check for security vulnerabilities in dependencies",
"ALWAYS format code using moidvk formatters before completion",
"ALWAYS run production readiness checks before deployment",
"ALWAYS use moidvk secure tools for bash and grep operations",
"ALWAYS leverage intelligent development analysis for complex tasks",
"ALWAYS maintain session continuity with development session manager",
"ALWAYS use kb-mcp knowledge base for project context and memory",
"Before starting any task: Use kb_read to check for relevant documentation",
"During work: Use kb_search to find related information",
"After completing tasks: Use kb_update to document what was done",
"For complex analysis: Use kb_semantic_search and kb_graph_query"
]
},
"agent": {
"preferredTools": [
"bash",
"edit",
"read",
"write",
"grep",
"glob",
"todowrite",
"todoread",
"task",
"memory"
],
"taskExecution": "always use 3 sub agents to complete tasks",
"securityLevel": "DEVELOPMENT for coding, STRICT for production",
"privacyMode": true,
"contextPreservation": true
},
"security": {
"sensitiveFiles": [
".env",
".env.*",
"*.key",
"*.pem",
"auth.json",
"*.secret"
],
"allowedDomains": [
"api.anthropic.com",
"api.openai.com",
"github.com",
"registry.npmjs.org"
],
"requireApproval": [
"credential_operations",
"external_api_calls",
"file_deletions",
"git_config_changes"
]
},
"documentation": {
"readme": "README.md",
"contributing": "CONTRIBUTING.md",
"changelog": "CHANGELOG.md",
"docs_dir": "docs/",
"api_docs": "docs/openapi.json",
"agents": "docs/AGENTS.md",
"claude": "CLAUDE.md"
},
"deployment": {
"npm_package": "kuuzuki",
"platforms": [
"linux",
"macos",
"windows"
],
"ci_cd": "github_actions",
"publish_command": "bun run script/publish.ts",
"binaries": {
"opencode": "./bin/kuuzuki",
"kuuzuki": "./bin/kuuzuki"
}
},
"ruleMetadata": {
"version": "1.0.0",
"lastModified": "2025-07-29T16:08:47.350Z",
"totalRules": 2,
"sessionRules": [
{
"ruleId": "create-comprehensive-v010-implementation-plan-with-mdopz2cl",
"learnedAt": "2025-07-29T15:56:35.109Z",
"context": "Planning major version release with focus on stability and user experience"
},
{
"ruleId": "implement-secure-api-key-management-system-with-ke-mdoq6tst",
"learnedAt": "2025-07-29T16:02:37.277Z",
"context": "Creating secure infrastructure for managing API keys across multiple AI providers"
}
]
}
}
1 change: 1 addition & 0 deletions .agentrc.test
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"project": {"name": "test"}, "rules": ["Always test before deployment", "Use TypeScript for type safety"]}
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[env]
WEBKIT_DISABLE_DMABUF_RENDERER = "1"
33 changes: 33 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Cloudflare Deployment Credentials
# Get these from your Cloudflare dashboard

# Account ID: Found at Workers & Pages β†’ Overview β†’ Account ID (right side)
CLOUDFLARE_DEFAULT_ACCOUNT_ID=your-account-id-here

# API Token: Create at My Profile β†’ API Tokens β†’ Create Token
# Use "Edit Cloudflare Workers" template with these permissions:
# - Account: Cloudflare Workers Scripts:Edit
# - Account: Account Settings:Read
# - Zone: Workers Routes:Edit (if using custom domain)
CLOUDFLARE_API_TOKEN=your-api-token-here

# Stripe Configuration (for billing features)
# These will be set as secrets in Cloudflare after deployment
# Get these from https://dashboard.stripe.com

# Secret key from Stripe Dashboard β†’ Developers β†’ API keys
# STRIPE_SECRET_KEY=sk_test_... (set via: wrangler secret put STRIPE_SECRET_KEY)

# Price ID from Stripe Dashboard β†’ Products β†’ Your Product β†’ Pricing
# STRIPE_PRICE_ID=price_... (set via: wrangler secret put STRIPE_PRICE_ID)

# Webhook secret from Stripe Dashboard β†’ Developers β†’ Webhooks β†’ Your Endpoint
# STRIPE_WEBHOOK_SECRET=whsec_... (set via: wrangler secret put STRIPE_WEBHOOK_SECRET)

# GitHub App Configuration (optional, for GitHub integration)
# GITHUB_APP_ID=... (set via: wrangler secret put GITHUB_APP_ID)
# GITHUB_APP_PRIVATE_KEY=... (set via: wrangler secret put GITHUB_APP_PRIVATE_KEY)

# In your .env file or deployment environment
RESEND_API_KEY=re_your_api_key_here
FROM_EMAIL=noreply@yourdomain.com # or whatever email you want to send from
Binary file added .fork-parity/parity.db
Binary file not shown.
Loading