Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
860 commits
Select commit Hold shift + click to select a range
942b203
chore: bump version [ci skip]
github-actions[bot] Oct 25, 2025
53aed30
feat: add customizable markdown commands plugin
mpfaffenberger Oct 25, 2025
07ecc53
chore: bump version [ci skip]
github-actions[bot] Oct 25, 2025
231301c
fix: restore autosave functionality by moving autosave calls outside …
mpfaffenberger Oct 25, 2025
e27ceaa
feat: add auto_save_session configuration option and display
mpfaffenberger Oct 25, 2025
90908d1
chore: bump version [ci skip]
github-actions[bot] Oct 25, 2025
8409841
adding planning agent (#66)
cgycorey Oct 25, 2025
1e8c0f7
chore: bump version [ci skip]
github-actions[bot] Oct 25, 2025
e02fc50
feat: add Claude Code OAuth plugin with automatic model discovery
mpfaffenberger Oct 25, 2025
560106f
feat: add ChatGPT OAuth plugin for automatic model discovery and auth…
mpfaffenberger Oct 25, 2025
e83cab4
feat: implement clean task cancellation for agent operations
mpfaffenberger Oct 26, 2025
820e094
refactor: simplify ChatGPT OAuth flow and consolidate HTML templates
mpfaffenberger Oct 26, 2025
3a7513c
test: update test to handle tuple return from run_prompt_with_attachm…
mpfaffenberger Oct 26, 2025
ce35618
chore: bump version [ci skip]
github-actions[bot] Oct 26, 2025
8713cdf
feat: add Claude Code OAuth integration support
mpfaffenberger Oct 26, 2025
323d891
feat: enhance Claude Code agent handling with dedicated prompt
mpfaffenberger Oct 26, 2025
09006e5
chore: bump version [ci skip]
github-actions[bot] Oct 26, 2025
83fa181
feat: overwrite claude_models.json on every auth instead of accumulating
mpfaffenberger Oct 26, 2025
f22bc4d
browser: defer Camoufox imports and add Playwright fallback to avoid …
Oct 26, 2025
aa227b7
Merge remote-tracking branch 'origin/main'
mpfaffenberger Oct 26, 2025
96edd2c
chore: bump version [ci skip]
github-actions[bot] Oct 26, 2025
fc2c914
Improve planning agent prompt and code puppy (#67)
cgycorey Oct 26, 2025
71a211b
test: improve agent tools test by mocking yolo mode
mpfaffenberger Oct 26, 2025
693c584
chore: bump version [ci skip]
github-actions[bot] Oct 26, 2025
61b5c3b
feat: add synthetic-MiniMax-M2 model configuration
mpfaffenberger Oct 27, 2025
e76ca16
chore: bump version [ci skip]
github-actions[bot] Oct 27, 2025
178ab62
Adds codex API
mpfaffenberger Oct 27, 2025
e39787f
chore: bump version [ci skip]
github-actions[bot] Oct 27, 2025
e518675
Fix typo
mpfaffenberger Oct 27, 2025
19bddb0
Merge remote-tracking branch 'origin/main'
mpfaffenberger Oct 27, 2025
de067d7
chore: bump version [ci skip]
github-actions[bot] Oct 27, 2025
f5fcf89
feat: replace Cerebras-Qwen3-Coder with Cerebras-GLM-4.6 model
mpfaffenberger Oct 31, 2025
19c285b
Merge remote-tracking branch 'origin/main'
mpfaffenberger Oct 31, 2025
5153aad
Fix round robin integration test assertion
mpfaffenberger Oct 31, 2025
09516ba
ci: limit publishing workflow to macOS only
mpfaffenberger Oct 31, 2025
28a867f
chore: bump version [ci skip]
github-actions[bot] Oct 31, 2025
7d3e48e
let execute plan trigger be less strict (#75)
cgycorey Oct 31, 2025
5ca1706
chore: bump version [ci skip]
github-actions[bot] Nov 1, 2025
d6963c2
fix: convert agent invocation to async and improve error handling
mpfaffenberger Nov 1, 2025
df2fb45
chore: bump version [ci skip]
github-actions[bot] Nov 1, 2025
992af2e
change prompt for qa (#79)
cgycorey Nov 2, 2025
e2a14a0
chore: bump version [ci skip]
github-actions[bot] Nov 2, 2025
d3aae8f
TUI Changes, --model flag added, API config and loading & Cleanup (#81)
janfeddersen-wq Nov 2, 2025
b170ab0
Revert "TUI Changes, --model flag added, API config and loading & Cle…
mpfaffenberger Nov 2, 2025
059b392
feat: add configurable default agent and model selection
mpfaffenberger Nov 2, 2025
7f37250
refactor: reduce console spam by removing verbose initialization mess…
mpfaffenberger Nov 2, 2025
40fdb52
ci: add SYN_API_KEY to CI and publish workflows
mpfaffenberger Nov 2, 2025
f5c2d35
chore: bump version [ci skip]
github-actions[bot] Nov 2, 2025
468fbb8
TUI Changes (#82)
janfeddersen-wq Nov 2, 2025
f955aff
chore: bump version [ci skip]
github-actions[bot] Nov 2, 2025
bee9cf1
Theme update (#83)
janfeddersen-wq Nov 2, 2025
29a1cb5
chore: bump version [ci skip]
github-actions[bot] Nov 2, 2025
100f581
feat: add escape key support for cancelling shell commands
mpfaffenberger Nov 2, 2025
fda4238
feat: improve agent cancellation with subagent task cleanup
mpfaffenberger Nov 2, 2025
a21b455
feat: add workflow cancellation support for subagent tasks
mpfaffenberger Nov 3, 2025
5bd9ab6
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
7daa41b
feat: enhance startup experience with pyfiglet banner and improved RE…
mpfaffenberger Nov 3, 2025
b388ad8
docs: update README with new branding and download statistics
mpfaffenberger Nov 3, 2025
f06ccc0
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
5a56816
refactor: improve logo display conditions in interactive mode
mpfaffenberger Nov 3, 2025
766cf1d
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
7e614a8
feat: add Cerebras-Qwen3-Coder-480b model configuration
mpfaffenberger Nov 3, 2025
e76a7ae
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
151b8fd
Append Unix timestamp to DBOS app version (#84)
qianl15 Nov 3, 2025
0e9b6a2
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
eb8cd65
feat: enhance user interface with privacy commitment and visual impro…
mpfaffenberger Nov 3, 2025
6b14f7a
style: improve code formatting in interactive mode
mpfaffenberger Nov 3, 2025
3dea2ec
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
1391cbe
Remove agent building statement from README
mpfaffenberger Nov 3, 2025
d306fdd
Fix context len for qwen3
mpfaffenberger Nov 3, 2025
c9974b8
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
b8a08fa
refactor: optimize intro gradient rendering with batch processing
mpfaffenberger Nov 3, 2025
d2ea020
chore: bump version [ci skip]
github-actions[bot] Nov 3, 2025
c382b83
feat: add persistent session management for subagent conversations
mpfaffenberger Nov 5, 2025
92bce9c
chore: bump version [ci skip]
github-actions[bot] Nov 5, 2025
903adc0
feat: enhance agent invocation with improved session management
mpfaffenberger Nov 5, 2025
0fc283f
chore: bump version [ci skip]
github-actions[bot] Nov 5, 2025
a0e4680
feat: add synthetic-Kimi-K2-Thinking model configuration
mpfaffenberger Nov 7, 2025
5a34bc8
chore: bump version [ci skip]
github-actions[bot] Nov 7, 2025
330be38
feat: update model configurations and add new OpenRouter Polaris model
mpfaffenberger Nov 8, 2025
eebfa96
Merge remote-tracking branch 'origin/main'
mpfaffenberger Nov 8, 2025
47c42cb
chore: bump version [ci skip]
github-actions[bot] Nov 8, 2025
42ae90f
feat: enable message history accumulation in agent registration
mpfaffenberger Nov 8, 2025
2f4768e
chore: bump version [ci skip]
github-actions[bot] Nov 8, 2025
693a966
small change to remove hanging (#87)
cgycorey Nov 9, 2025
ca6ba77
refactor: Split slash commands into modules with registry system (#95)
cdakotabrown Nov 9, 2025
f147562
test: update integration tests to use Cerebras-GLM-4.6 model
mpfaffenberger Nov 9, 2025
d9abf44
feat: enhance user approval system with interactive feedback and impr…
mpfaffenberger Nov 9, 2025
7246a54
feat: add interactive model picker with arrow-key navigation
mpfaffenberger Nov 9, 2025
0f283bf
test: update test fixtures and remove integration tests
mpfaffenberger Nov 9, 2025
fd70114
chore: bump version [ci skip]
github-actions[bot] Nov 9, 2025
7a745c8
fix: improve Windows terminal handling and error resilience
mpfaffenberger Nov 9, 2025
0632568
fix: improve Windows terminal state handling and spinner cleanup
mpfaffenberger Nov 9, 2025
625ac8c
fix: use taskkill for Windows process termination and clear spinner a…
mpfaffenberger Nov 9, 2025
640dd39
fix: change Rich Live display from transient=False and add console st…
mpfaffenberger Nov 9, 2025
f6bbdf6
docs: update version badge to use PyPI version shield (#98)
cellwebb Nov 10, 2025
57b4927
Remove reset_shell_state function
mpfaffenberger Nov 10, 2025
65ed1e3
docs: update version badge to use PyPI version shield (#98)
cellwebb Nov 10, 2025
33892f1
Merge remote-tracking branch 'origin/main'
mpfaffenberger Nov 10, 2025
890184a
refactor: remove redundant sys imports from common.py
mpfaffenberger Nov 10, 2025
7bbea98
chore: bump version [ci skip]
github-actions[bot] Nov 10, 2025
f78e94e
feat: add tab completion for /pin_model command (#99)
cellwebb Nov 10, 2025
a4574c9
chore: bump version [ci skip]
github-actions[bot] Nov 10, 2025
0e285d4
build: remove pnpm check from pre-commit hook (#101)
cellwebb Nov 10, 2025
8c0f59a
chore: bump version [ci skip]
github-actions[bot] Nov 10, 2025
764a06a
feat: add cache control injection for Claude Code API
mpfaffenberger Nov 11, 2025
8cb4455
chore: bump version [ci skip]
github-actions[bot] Nov 11, 2025
674fa30
prompt reviewer (#104)
cgycorey Nov 11, 2025
7793ced
feat: Implement unified slash command completion system with spacing,…
cellwebb Nov 11, 2025
da71cf9
feat: Add tab completion for /m and /mcp commands (#105)
cellwebb Nov 11, 2025
2da2610
feat: improve command completion UX and model handling
mpfaffenberger Nov 12, 2025
f467768
chore: bump version [ci skip]
github-actions[bot] Nov 12, 2025
18f2954
feat: add interactive TUI menus for autosave loading and diff configu…
mpfaffenberger Nov 12, 2025
a3f195a
fix: improve autosave loading compatibility for non-TTY environments
mpfaffenberger Nov 13, 2025
a610780
chore: bump version [ci skip]
github-actions[bot] Nov 13, 2025
665583f
chore: remove pre-commit configuration (#106)
cellwebb Nov 13, 2025
c8c3ca9
chore: bump version [ci skip]
github-actions[bot] Nov 13, 2025
2f8026a
feat: add interactive agent picker with preview functionality
mpfaffenberger Nov 13, 2025
89c4db0
Merge remote-tracking branch 'origin/main'
mpfaffenberger Nov 13, 2025
057339e
feat: add AI-powered shell command safety checking plugin
mpfaffenberger Nov 14, 2025
8df7a93
test: increase timeout and sleep durations in session rotation test
mpfaffenberger Nov 14, 2025
0dac824
chore: bump version [ci skip]
github-actions[bot] Nov 14, 2025
f36530d
feat: add async version of user approval function
mpfaffenberger Nov 14, 2025
7226baf
Merge remote-tracking branch 'origin/main'
mpfaffenberger Nov 14, 2025
7ff9c0b
feat: enhance model management with latest Claude/GPT models and impr…
cellwebb Nov 14, 2025
e44d33d
Update pyproject.toml
mpfaffenberger Nov 14, 2025
0ecf008
chore: bump version [ci skip]
github-actions[bot] Nov 14, 2025
0d20de6
feat: add support for gpt-5.1-codex-api model
mpfaffenberger Nov 14, 2025
59de5da
refactor: simplify codex model detection with substring check
mpfaffenberger Nov 14, 2025
779f161
chore: bump version [ci skip]
github-actions[bot] Nov 14, 2025
147c587
feat: add proxy support with network traffic monitoring
mpfaffenberger Nov 16, 2025
cca1eb3
chore: bump version [ci skip]
github-actions[bot] Nov 16, 2025
52a43a4
refactor: consolidate diff formatting logic into common utilities
mpfaffenberger Nov 16, 2025
3878055
feat: add full syntax highlighting for diffs with Pygments
mpfaffenberger Nov 16, 2025
f3a9a24
refactor: enhance diff preview with true ANSI color rendering
mpfaffenberger Nov 16, 2025
9339566
refactor: remove text diff mode and simplify color configuration
mpfaffenberger Nov 17, 2025
28b39f2
chore: bump version [ci skip]
github-actions[bot] Nov 17, 2025
fe9f177
feat: add language cycling to diff preview and clean up context lines
mpfaffenberger Nov 17, 2025
22c5867
chore: bump version [ci skip]
github-actions[bot] Nov 17, 2025
59de23c
Add Gemini 3
mpfaffenberger Nov 18, 2025
7700e27
chore: bump version [ci skip]
github-actions[bot] Nov 18, 2025
ffff5b2
feat: add case-insensitive command and model matching (#115)
cellwebb Nov 19, 2025
12bc812
refactor: remove TUI mode and simplify to interactive-only interface
mpfaffenberger Nov 21, 2025
ce5a5c1
Revert "refactor: remove TUI mode and simplify to interactive-only in…
mpfaffenberger Nov 21, 2025
d06b146
Raise coverage
mpfaffenberger Nov 22, 2025
8a8f82e
Raise coverage
mpfaffenberger Nov 23, 2025
593a13d
test: remove flaky and unreliable test cases
mpfaffenberger Nov 23, 2025
a5be200
chore: bump version [ci skip]
github-actions[bot] Nov 23, 2025
a60a8ab
refactor: remove TUI mode and related components
mpfaffenberger Nov 23, 2025
271776e
build: remove unused dependencies from pyproject.toml
mpfaffenberger Nov 23, 2025
8e277bd
Add json-repair dependency version 0.46.2
mpfaffenberger Nov 24, 2025
ecb90ea
refactor: remove deprecated TUI components and improve file operations
mpfaffenberger Nov 25, 2025
52d8ad9
style: standardize string quotes usage across codebase
mpfaffenberger Nov 25, 2025
6685302
chore: bump version [ci skip]
github-actions[bot] Nov 25, 2025
5924dcb
feat: integrate models.dev API for interactive model browsing and add…
mpfaffenberger Nov 27, 2025
d99cba8
refactor: improve code formatting and readability across model manage…
mpfaffenberger Nov 27, 2025
bb763a2
chore: bump version [ci skip]
github-actions[bot] Nov 27, 2025
15baae5
Add a fix for UTF-8 encoding issues with emojis
mpfaffenberger Nov 27, 2025
724a52a
Add temperature handling
mpfaffenberger Nov 27, 2025
5b0970a
Fix 5 failing tests
mpfaffenberger Nov 27, 2025
63d6470
chore: bump version [ci skip]
github-actions[bot] Nov 27, 2025
ff31a35
Add temperature to /show command output
mpfaffenberger Nov 27, 2025
0414f97
chore: bump version [ci skip]
github-actions[bot] Nov 27, 2025
176eeb8
feat: add per-model settings configuration with interactive TUI
mpfaffenberger Nov 27, 2025
5a95f7e
chore: bump version [ci skip]
github-actions[bot] Nov 27, 2025
d77437e
feat: add model-specific settings support for GPT-5 and Claude models
mpfaffenberger Nov 28, 2025
0bbd46a
feat: reload agent when config values are updated
mpfaffenberger Nov 28, 2025
3586bb5
test: remove test for unknown part_kind warning behavior
mpfaffenberger Nov 28, 2025
d84f508
chore: bump version [ci skip]
github-actions[bot] Nov 28, 2025
7575429
Update backend execution instructions in CEREBRAS.md
mpfaffenberger Nov 28, 2025
3429514
chore: bump version [ci skip]
github-actions[bot] Nov 28, 2025
b9f9742
feat: add custom model support in add model menu
mpfaffenberger Nov 29, 2025
2208459
Merge remote-tracking branch 'origin/main'
mpfaffenberger Nov 29, 2025
36d9e2a
test: add mock prepare_request method to round robin test fixtures
mpfaffenberger Nov 29, 2025
3046449
chore: bump version [ci skip]
github-actions[bot] Nov 29, 2025
12616a7
fix: ensure unique DBOS workflow IDs to prevent collisions in rapid s…
mpfaffenberger Nov 29, 2025
8c4499a
chore: bump version [ci skip]
github-actions[bot] Nov 29, 2025
957d552
refactor: remove verbose logging for loaded custom commands
mpfaffenberger Nov 30, 2025
8b9d0f4
chore: bump version [ci skip]
github-actions[bot] Nov 30, 2025
83f387f
feat: add interactive TUI browser for MCP server installation
mpfaffenberger Nov 30, 2025
f9e8aff
chore: bump version [ci skip]
github-actions[bot] Nov 30, 2025
654acfc
fix: some terminals throw an error on emojis in grep tool in windows
mpfaffenberger Nov 30, 2025
9b04f8c
chore: bump version [ci skip]
github-actions[bot] Nov 30, 2025
538af94
feat: add MCP server editing and improve token estimation with claude…
mpfaffenberger Nov 30, 2025
451dd5e
chore: bump version [ci skip]
github-actions[bot] Nov 30, 2025
507cb6f
fix: ensure autosave captures final assistant response
mpfaffenberger Dec 1, 2025
505456b
chore: bump version [ci skip]
github-actions[bot] Dec 1, 2025
936bf50
fix: remove None from risk level type annotation (#120)
cellwebb Dec 1, 2025
f217b55
chore: bump version [ci skip]
github-actions[bot] Dec 1, 2025
d437190
feat: Include AGENT(S).md in subagent instructions (#125)
cellwebb Dec 6, 2025
79463c0
Performance: Add Caching Layer to Shell Safety Callback System (#122)
cellwebb Dec 6, 2025
db27d1b
chore: bump version to 0.0.289
mpfaffenberger Dec 6, 2025
e8fddb6
chore: bump version [ci skip]
github-actions[bot] Dec 6, 2025
3f8c4dc
feat: add comprehensive error logging system with file-based debugging
mpfaffenberger Dec 6, 2025
6e79cba
chore: bump version [ci skip]
github-actions[bot] Dec 6, 2025
6d549d4
Add the possibilty to user an alternative command for interrupting ag…
arnonuem Dec 6, 2025
ae53bf1
feat: improve agent session management with automatic hash suffixes
mpfaffenberger Dec 6, 2025
387a60d
test: update tests to use pathlib.Path.read_text instead of builtins.…
mpfaffenberger Dec 6, 2025
05891bd
chore: bump version [ci skip]
github-actions[bot] Dec 6, 2025
b8af086
fix: stdio server name error
mpfaffenberger Dec 6, 2025
1183724
chore: bump version [ci skip]
github-actions[bot] Dec 6, 2025
e03709c
feat: enhance command completions with model pinning status (#131)
janfeddersen-wq Dec 7, 2025
8e4447c
chore: bump version [ci skip]
github-actions[bot] Dec 7, 2025
2e622e9
feat: Add XDG Base Directory Specification support (#127)
thedaneeffect Dec 7, 2025
156892c
feat: Add global AGENTS.md fallback support (#128)
thedaneeffect Dec 7, 2025
7548ace
fix: correct test mocking and handle edge cases in agent rules loading
mpfaffenberger Dec 7, 2025
ab91222
refactor: move max_tokens calculation to model factory
mpfaffenberger Dec 7, 2025
e96d6c7
fix: default to ~/.code_puppy instead of XDG paths
mpfaffenberger Dec 7, 2025
54b1234
chore: bump version [ci skip]
github-actions[bot] Dec 7, 2025
a7d42b3
Cleanup (#132)
janfeddersen-wq Dec 7, 2025
993aeae
chore: bump version [ci skip]
github-actions[bot] Dec 7, 2025
881c16c
refactor: remove ACP (Agent Client Protocol) support
mpfaffenberger Dec 7, 2025
4556c1f
chore: bump version [ci skip]
github-actions[bot] Dec 7, 2025
4dca3c7
feat: add Gemini OAuth integration and improve plugin loading system
mpfaffenberger Dec 8, 2025
099e5e2
test: update model factory tests to reflect plugin path restructuring
mpfaffenberger Dec 8, 2025
000ccce
chore: bump version [ci skip]
github-actions[bot] Dec 8, 2025
21f8e9c
Fix path detection crash on long command strings (#121)
cdakotabrown Dec 8, 2025
42e4ac7
chore: bump version [ci skip]
github-actions[bot] Dec 8, 2025
4ded3d6
UI Decouple (#133)
janfeddersen-wq Dec 8, 2025
3e296a6
fix: improve version handling and test reliability
mpfaffenberger Dec 8, 2025
954047e
chore: bump version [ci skip]
github-actions[bot] Dec 8, 2025
26b7a03
feat: Add Gemini Code Assist model and fix Claude Code OAuth headers …
janfeddersen-wq Dec 9, 2025
44559aa
refactor: improve console output consistency and reduce visual noise
mpfaffenberger Dec 9, 2025
7806fa2
chore: bump version [ci skip]
github-actions[bot] Dec 9, 2025
cff5ea5
fix: improve logo display logic in interactive mode
mpfaffenberger Dec 12, 2025
58e3b2c
chore: bump version [ci skip]
github-actions[bot] Dec 12, 2025
b049aa0
fix: Add Windows Ctrl+C terminal corruption handling (#136)
weegens-aaron Dec 13, 2025
a57ce83
chore: bump version [ci skip]
github-actions[bot] Dec 13, 2025
86561ad
feat: enhance model configuration and rendering safety with pydantic …
mpfaffenberger Dec 13, 2025
7b671f3
test: update expected warning messages in API key tests
mpfaffenberger Dec 13, 2025
df2cf56
test: update assertion message for missing environment variable warning
mpfaffenberger Dec 13, 2025
a7519b0
chore: bump version [ci skip]
github-actions[bot] Dec 13, 2025
8d96039
refactor: simplify grep tool error handling and messaging
mpfaffenberger Dec 13, 2025
7d25692
chore: bump version [ci skip]
github-actions[bot] Dec 13, 2025
af46b80
feat(sessions): add session_title field to SessionMetadata with backw…
Boredphilosopher96 Oct 15, 2025
247a02f
feat(sessions): implement AI-powered session title generation with fa…
Boredphilosopher96 Oct 15, 2025
0937dc7
feat(sessions): integrate session title generation in CLI interactive…
Boredphilosopher96 Oct 15, 2025
e8e1d96
test(sessions): add tests for session title functionality
Boredphilosopher96 Oct 15, 2025
8d0abbc
fix(session_storage): handle session_title retrieval and default value
Boredphilosopher96 Oct 15, 2025
6cf24e1
refactor: clean up imports and reformat code in camoufox_manager and …
Boredphilosopher96 Oct 15, 2025
7556864
feat(session_title): enhance session title retrieval from metadata
Boredphilosopher96 Oct 15, 2025
274c068
ruff autoformat
Boredphilosopher96 Oct 15, 2025
89cf60e
test(prompt_toolkit_completion): enhance tests for Alt+M key binding …
Boredphilosopher96 Oct 15, 2025
914c329
ruff autoformat
Boredphilosopher96 Oct 15, 2025
1c2ec25
feat(session_title): implement dedicated session title agent for impr…
Boredphilosopher96 Oct 15, 2025
dbbe545
moved session title to agents folder
Boredphilosopher96 Oct 17, 2025
8d064bd
chore: revert non-session changes
Boredphilosopher96 Dec 10, 2025
52f3625
fixed some test cases and integration
Boredphilosopher96 Dec 11, 2025
8e9ecf7
chore: fix lint in main
Boredphilosopher96 Dec 15, 2025
9de0308
style: ruff format
Boredphilosopher96 Dec 15, 2025
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
8 changes: 0 additions & 8 deletions .env

This file was deleted.

28 changes: 28 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Code Puppy API Keys Configuration
# Copy this file to .env and fill in your API keys
# The .env file takes priority over ~/.code_puppy/puppy.cfg

# OpenAI API Key
# OPENAI_API_KEY=sk-...

# Google Gemini API Key
# GEMINI_API_KEY=...

# Anthropic (Claude) API Key
# ANTHROPIC_API_KEY=...

# Cerebras API Key
# CEREBRAS_API_KEY=...

# OpenRouter API Key
# OPENROUTER_API_KEY=...

# Z.ai API Key
# ZAI_API_KEY=...

# Azure OpenAI
# AZURE_OPENAI_API_KEY=...
# AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/

# Synthetic AI API Key
# SYN_API_KEY=...
91 changes: 91 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Quality Checks

on:
pull_request:
branches:
- '**'

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ['3.13']
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
run: pip install uv

- name: Setup uv virtual environment
run: uv venv

- name: Install dependencies
run: uv pip install -e .

- name: Install pexpect for integration tests
run: uv pip install pexpect>=4.9.0

- name: Debug environment variables
env:
CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY || 'fake-key-for-ci-testing' }}
CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY || 'fake-key-for-ci-testing' }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY || 'fake-key-for-ci-testing' }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY || 'fake-key-for-ci-testing' }}
SYN_API_KEY: ${{ secrets.SYN_API_KEY || 'fake-key-for-ci-testing' }}
run: |
echo "=== DEBUG: Environment Variables ==="
echo "CEREBRAS_API_KEY is set: ${{ secrets.CEREBRAS_API_KEY != '' }}"
echo "CONTEXT7_API_KEY is set: ${{ secrets.CONTEXT7_API_KEY != '' }}"
echo "OPENAI_API_KEY is set: ${{ secrets.OPENAI_API_KEY != '' }}"
echo "ANTHROPIC_API_KEY is set: ${{ secrets.ANTHROPIC_API_KEY != '' }}"
echo "SYN_API_KEY is set: ${{ secrets.SYN_API_KEY != '' }}"
echo "CEREBRAS_API_KEY length: ${#CEREBRAS_API_KEY}"
echo "CONTEXT7_API_KEY length: ${#CONTEXT7_API_KEY}"
echo "OPENAI_API_KEY length: ${#OPENAI_API_KEY}"
echo "ANTHROPIC_API_KEY length: ${#ANTHROPIC_API_KEY}"
echo "SYN_API_KEY length: ${#SYN_API_KEY}"
echo "=== END DEBUG ==="

- name: Run tests
env:
CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY || 'fake-key-for-ci-testing' }}
CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY || 'fake-key-for-ci-testing' }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY || 'fake-key-for-ci-testing' }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY || 'fake-key-for-ci-testing' }}
SYN_API_KEY: ${{ secrets.SYN_API_KEY || 'fake-key-for-ci-testing' }}
run: |
echo "Running all tests (including integration tests) on ${{ runner.os }} with Python ${{ matrix.python-version }}..."
echo "Required environment variables are set (using CI fallbacks if secrets not available)"
uv run pytest tests/ -v --cov=code_puppy --cov-report=term-missing

quality:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Python 3.13
uses: actions/setup-python@v5
with:
python-version: '3.13'

- name: Install dev dependencies (ruff)
run: pip install ruff

- name: Install code_puppy
run: pip install .

- name: Lint with ruff
run: ruff check .

- name: Check formatting with ruff
run: ruff format --check .
68 changes: 66 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,82 @@ on:
- main

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest]
python-version: ['3.13']
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
run: pip install uv

- name: Setup uv virtual environment
run: uv venv

- name: Install dependencies
run: uv pip install -e .

- name: Install pexpect for integration tests
run: uv pip install pexpect>=4.9.0



- name: Debug environment variables
env:
CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY || 'fake-key-for-ci-testing' }}
CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY || 'fake-key-for-ci-testing' }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY || 'fake-key-for-ci-testing' }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY || 'fake-key-for-ci-testing' }}
SYN_API_KEY: ${{ secrets.SYN_API_KEY || 'fake-key-for-ci-testing' }}
run: |
echo "=== DEBUG: Environment Variables ==="
echo "CEREBRAS_API_KEY is set: ${{ secrets.CEREBRAS_API_KEY != '' }}"
echo "CONTEXT7_API_KEY is set: ${{ secrets.CONTEXT7_API_KEY != '' }}"
echo "OPENAI_API_KEY is set: ${{ secrets.OPENAI_API_KEY != '' }}"
echo "ANTHROPIC_API_KEY is set: ${{ secrets.ANTHROPIC_API_KEY != '' }}"
echo "SYN_API_KEY is set: ${{ secrets.SYN_API_KEY != '' }}"
echo "CEREBRAS_API_KEY length: ${#CEREBRAS_API_KEY}"
echo "CONTEXT7_API_KEY length: ${#CONTEXT7_API_KEY}"
echo "OPENAI_API_KEY length: ${#OPENAI_API_KEY}"
echo "ANTHROPIC_API_KEY length: ${#ANTHROPIC_API_KEY}"
echo "SYN_API_KEY length: ${#SYN_API_KEY}"
echo "=== END DEBUG ==="

- name: Run tests
env:
CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY || 'fake-key-for-ci-testing' }}
CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY || 'fake-key-for-ci-testing' }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY || 'fake-key-for-ci-testing' }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY || 'fake-key-for-ci-testing' }}
SYN_API_KEY: ${{ secrets.SYN_API_KEY || 'fake-key-for-ci-testing' }}
run: |
echo "Running all tests (including integration tests) on ${{ runner.os }} with Python ${{ matrix.python-version }}..."
echo "Required environment variables are set (using CI fallbacks if secrets not available)"
uv run pytest tests/ -v --cov=code_puppy --cov-report=term-missing

build-publish:
runs-on: ubuntu-latest
needs: test
permissions:
contents: write # Allows writing to the repository
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Python 3.11
- name: Setup Python 3.13
uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version: '3.13'

- name: Install uv, build, and twine
run: pip install uv build twine
Expand Down
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,17 @@ wheels/
.venv

.coverage

# Session memory
.puppy_session_memory.json

# Pytest cache
.pytest_cache/

dummy_path

.idea/

.DS_Store
.env
.serena/
1 change: 0 additions & 1 deletion .python-version

This file was deleted.

Loading
Loading