Skip to content
Open
Show file tree
Hide file tree
Changes from 146 commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
1cf6b47
Merge pull request #4 from co-browser/fix/mcp-dev-env-bootstrap
tumberger Jun 14, 2025
30a9783
feat: remove python dependencies and services
maceip Jun 17, 2025
fda41a4
Delete .vscode/settings.json
maceip Jun 17, 2025
ded4e43
fix: re-initialize AgentService with IPC integration and error handling
michiosw Jun 18, 2025
027d687
Clean up MCP dependencies and fix agent connection errors
michiosw Jun 18, 2025
c1cd972
📝 Add docstrings to `add-acme-changes`
coderabbitai[bot] Jun 18, 2025
f111771
Merge pull request #15 from co-browser/coderabbitai/docstrings/2XM8lH…
michiosw Jun 18, 2025
c25460c
Remove unused dist-py packaging from electron-builder config
michiosw Jun 18, 2025
daffa01
Fix GitHub Actions output naming consistency
michiosw Jun 18, 2025
a0ad434
Fix ToolManager getTools to return empty array instead of undefined
michiosw Jun 18, 2025
ba333c1
Remove phantom createAgent export to clean up API surface
michiosw Jun 18, 2025
6fed48b
Remove unnecessary empty constructor from ToolManager
michiosw Jun 18, 2025
357b9fc
Merge pull request #13 from co-browser/add-acme-changes
michiosw Jun 18, 2025
0a10ef1
feat: implement Gmail OAuth integration with ViewManager support
michiosw Jun 13, 2025
3f5cd8f
feat: enhance Gmail OAuth flow with tab management and UI updates
michiosw Jun 17, 2025
21d3c06
linting
michiosw Jun 17, 2025
08c881b
refactor: streamline Gmail OAuth flow with ViewManager integration
michiosw Jun 18, 2025
c47b38b
Fix Gmail OAuth implementation and formatting issues
michiosw Jun 18, 2025
925c4f8
refactor: improve Gmail OAuth cleanup logic and state management
michiosw Jun 18, 2025
82b528b
feat: add public cleanup method for GmailOAuthService
michiosw Jun 18, 2025
9da69ef
refactor: update bounds calculation in GmailOAuthService for improved…
michiosw Jun 18, 2025
66b54f2
refactor: enhance bounds calculation in GmailOAuthService for clarity
michiosw Jun 18, 2025
20aa458
Merge pull request #16 from co-browser/1-feature-complete-gmail-integ…
maceip Jun 19, 2025
0ce4f0a
add package for mcp server rag turbopuffer
tumberger Jun 19, 2025
fbacecd
feat: Gmail MCP server with essential configuration and tools
michiosw Jun 19, 2025
e6754e7
feat: enhance GmailOAuthService with improved security and CORS handling
michiosw Jun 19, 2025
5b58422
bump pnpm to 10.X establish consistent typing for ExtractedPage and s…
tumberger Jun 19, 2025
29dca47
Merge branch 'main' into feature/gmail-mcp-server
michiosw Jun 19, 2025
0d6ec0c
feat: enhance Gmail MCP server with improved connection handling and …
michiosw Jun 19, 2025
a57d874
chore: update dependencies in package.json and package-lock.json
michiosw Jun 19, 2025
1aabec7
refactor: streamline tool configuration in Gmail MCP server
michiosw Jun 19, 2025
b408a41
update mcp tool to expose based on type
tumberger Jun 19, 2025
c8f9486
feat: integrate Gmail MCP server with utility process architecture
michiosw Jun 19, 2025
f80217f
chore: update .gitignore to exclude TypeScript build info files
michiosw Jun 19, 2025
d9e0458
chore: remove tsbuildinfo files from git tracking
michiosw Jun 19, 2025
b81e095
perplexity based chunking / contextual chunkign
tumberger Jun 19, 2025
c34cf85
implement mcp client in agent
tumberger Jun 19, 2025
583527e
feat: enhance Gmail tools with type safety and argument validation
michiosw Jun 19, 2025
0c71689
fix: correct variable declaration for server port in Gmail MCP server
michiosw Jun 19, 2025
f642a30
fix: improve error handling and logging for MCP service initialization
michiosw Jun 19, 2025
d3bc91a
feat: add path validation for OAuth and credentials configuration in …
michiosw Jun 19, 2025
7c9886b
fix: improve error handling for missing worker process file in MCPWorker
michiosw Jun 19, 2025
fd8c4d2
feat: implement health check for MCP server readiness
michiosw Jun 19, 2025
8848f65
fix: enhance PATH configuration for cross-platform compatibility in M…
michiosw Jun 19, 2025
eadb4c0
feat: implement restart logic for MCP servers with attempt tracking
michiosw Jun 19, 2025
6f0779c
fix: prevent infinite recursion in body extraction for Gmail tools
michiosw Jun 19, 2025
ebeb953
feat: add automatic token refresh for Gmail OAuth client
michiosw Jun 19, 2025
281f7c9
feat: add path utilities for improved file resolution in Node.js
michiosw Jun 20, 2025
7e5e8f8
feat: enhance release workflow with automatic PR creation and version…
michiosw Jun 20, 2025
8582303
Merge pull request #18 from co-browser/feature/gmail-mcp-server
michiosw Jun 20, 2025
e8dfcee
feat: enhance release workflow with manual trigger and improved job s…
michiosw Jun 20, 2025
1a4325f
Merge pull request #21 from co-browser/fix/releaser
maceip Jun 20, 2025
d689956
chore: update actions/cache version in release workflow
michiosw Jun 20, 2025
ad2d2a7
Merge pull request #22 from co-browser/fix/releaser
michiosw Jun 20, 2025
812af5d
chore(release): update release workflow to generate and commit VERSIO…
michiosw Jun 20, 2025
7f0ba60
Merge pull request #23 from co-browser/fix/releaser-remove-dry-run
michiosw Jun 20, 2025
b189358
fix pnpm version actions + update fast chunking and embedding
tumberger Jun 20, 2025
21b4663
format
tumberger Jun 20, 2025
464a79f
resolve merge conflicts: update release workflow to pnpm 10.12.1
tumberger Jun 20, 2025
0110756
feat: add GitHub Actions workflows for pull requests and pushes
michiosw Jun 20, 2025
b777656
fix coderabbit suggestions
tumberger Jun 20, 2025
6147a08
fix: update status logic in GitHub Actions workflows
michiosw Jun 20, 2025
aac41bf
chore: update Slack notification channel and log API response
michiosw Jun 20, 2025
44dfa56
chore: update Slack notification channel in workflow
michiosw Jun 20, 2025
0f2f576
chore: add changelog template and configuration
michiosw Jun 20, 2025
8129e63
Merge pull request #24 from co-browser/feat/rewrote-release
michiosw Jun 20, 2025
ceadc22
chore(release): v0.1.1 [skip ci]
michiosw Jun 20, 2025
a822df8
Merge branch 'main' into feat/rag-mcp-server
michiosw Jun 20, 2025
a827613
fix: update pnpm version in workflows to match package.json (10.12.1)
michiosw Jun 20, 2025
a9a5f4f
Merge pull request #20 from co-browser/feat/rag-mcp-server
michiosw Jun 20, 2025
f14e561
fix duplicated server code
tumberger Jun 20, 2025
8539d34
fix coderabbit
tumberger Jun 20, 2025
4dc7688
Merge branch 'main' into fix/rag-server
tumberger Jun 20, 2025
5097040
Merge pull request #25 from co-browser/fix/rag-server
michiosw Jun 20, 2025
ea01dbf
chore: update postinstall script and remove versioning note from README
michiosw Jun 20, 2025
2999418
feat: add RAG MCP server implementation with environment configuratio…
michiosw Jun 20, 2025
f5bf76c
refactor: enhance MCP server configuration management
michiosw Jun 20, 2025
fb86214
refactor: overhaul MCP connection management and tool routing
michiosw Jun 20, 2025
ac26d08
chore: linting
michiosw Jun 20, 2025
6278026
refactor: streamline MCP manager and tool routing
michiosw Jun 20, 2025
c18ca78
refactor: update MCP manager and tool router descriptions
michiosw Jun 20, 2025
c86d838
refactor: improve graceful shutdown handling in MCP server
michiosw Jun 20, 2025
cf08792
refactor: enhance RAGToolResponse interface for type safety
michiosw Jun 20, 2025
df27059
refactor: update RAGIngestionResult and RAGQueryResult interfaces for…
michiosw Jun 20, 2025
86be22c
refactor: clarify connectionAttempts property in MCP types
michiosw Jun 20, 2025
e3bc9ef
fix architecture to have classes focused on one responsibility
tumberger Jun 22, 2025
fcb95a2
fix potential connection health issue
tumberger Jun 22, 2025
3f6267b
Merge pull request #27 from co-browser/feat/mcp-utility-process
tumberger Jun 22, 2025
1dbe6ee
Merge branch 'main' into chore/docu-build-updates
tumberger Jun 22, 2025
3d4f4c6
Merge pull request #26 from co-browser/chore/docu-build-updates
tumberger Jun 22, 2025
65b615a
fix: body of email missing
michiosw Jun 22, 2025
da1bba3
Merge pull request #31 from co-browser/fix/gmail-mcp-send
maceip Jun 22, 2025
7e8f1ac
fix: resolve tab wake-up failure due to undefined originalUrl property
michiosw Jun 21, 2025
aa05a13
refactor: replace arbitrary setTimeout with event-driven navigation c…
michiosw Jun 21, 2025
7b63d71
feat: implement robust tab wake-up with comprehensive edge case handling
michiosw Jun 21, 2025
c0be8ee
Merge pull request #30 from co-browser/fix/tab-sleep-originalurl-bug
michiosw Jun 22, 2025
666eb8f
feat: implement chat panel recovery system
michiosw Jun 21, 2025
d04926a
refactor: remove unused chat panel recovery animation styles
michiosw Jun 22, 2025
d5a9b61
fix: update dependency in LayoutProvider effect to include chat panel…
michiosw Jun 22, 2025
1c022de
fix: improve chat panel visibility checks in LayoutProvider
michiosw Jun 22, 2025
97db923
feat: enhance Window interface for Electron integration
michiosw Jun 22, 2025
8b9a8fe
refactor: implement type guard for chat panel state in LayoutProvider
michiosw Jun 22, 2025
9d5b724
feat: implement custom hook for chat panel health monitoring
michiosw Jun 22, 2025
a7ff86c
Merge pull request #32 from co-browser/fix/renderer-mac-sleep-recovery
michiosw Jun 22, 2025
917aa0a
feat: improve Umami tool tracking with individual events
michiosw Jun 22, 2025
8268dd5
feat: enhance Umami tracking with serialized event data
michiosw Jun 22, 2025
4470763
Merge pull request #33 from co-browser/feature/improve-umami-tool-tra…
maceip Jun 23, 2025
dbf7b4b
docs: add Gmail feature setup instructions
michiosw Jun 22, 2025
f7e603c
docs: simplify features setup and highlight both core features
michiosw Jun 22, 2025
5e7a3c3
docs: update README to enhance features section and clarify Gmail setup
michiosw Jun 22, 2025
f89adf3
Update README.md
maceip Jun 24, 2025
db412cd
Merge pull request #34 from co-browser/feature/add-gmail-setup-docs
michiosw Jun 24, 2025
c28a98b
Talk to tab integration
tumberger Jun 24, 2025
7ec4cc2
fix issues coderabbit
tumberger Jun 24, 2025
e2a9d9b
Merge branch 'main' into feat/talkToTab
tumberger Jun 24, 2025
a1b2864
Merge pull request #39 from co-browser/feat/talkToTab
michiosw Jun 25, 2025
d37288c
"feat: ✨cortex✨ nonchalant chrome omnibox
Jun 26, 2025
a078b46
electron-build errors
Jun 26, 2025
16b2c2f
electron-builder bug
Jun 26, 2025
809c0dd
1. ProfileData Interface and Password Storage
Jun 26, 2025
2063869
fix
Jun 26, 2025
576c574
1. Created OverlayManager (src/main/browser/overlay-manager.ts)
Jun 26, 2025
000c939
• Omnibox Overlay System Implementation
Jul 4, 2025
3099dbf
-browser
Jul 5, 2025
48bc3df
feat: Complete browser infrastructure overhaul with Settings UI, Down…
Jul 7, 2025
a9d436a
freeze
Jul 7, 2025
04208c1
Fix EventEmitter memory leak and excessive IPC calls
Jul 7, 2025
ee10316
fix: Auto-show chat panel when analyzing active tab
Jul 7, 2025
d3fdbac
feat: Complete browser infrastructure overhaul with enhanced UX, secu…
Jul 8, 2025
0ce8f55
housekeeping
Jul 8, 2025
c4b1998
fix: Address all CodeRabbit security and code quality issues
Jul 8, 2025
b9f45dc
chore: housekeeping: remove unused files
Jul 8, 2025
d8abd85
fix: Performance issue: Avoid spread syntax in accumulator.
Jul 8, 2025
1deb1c6
Update settings.local.json
maceip Jul 8, 2025
e358e28
feat: Add API keys management to settings page
Jul 8, 2025
311d9bf
feat: Migrate API keys management to main Settings.tsx file
Jul 8, 2025
6365ae5
feat: Add green status indicators and always-visible API keys
Jul 8, 2025
f323d73
feat: Make Settings modal draggable
Jul 8, 2025
0a2d033
feat: temp commit
Jul 8, 2025
3c53843
feat: optimize chat panel and draggable dividers
Jul 8, 2025
a653b9d
Merge branch 'feat/omnibox' of https://github.com/co-browser/vibe int…
Jul 8, 2025
8523e0d
feat: Replace overlay system with omnibox dropdown and add system int…
Jul 10, 2025
4e1fab5
- housekeeping tasks
Jul 10, 2025
eab54e8
Merge branch 'main' into feat/omnibox
Jul 10, 2025
83c6813
fix: Resolve TypeScript compilation errors for renderer process
Jul 10, 2025
fe2e000
Merge branch 'main' into feat/omnibox
maceip Jul 10, 2025
6d258d7
fix: Address critical security and documentation issues from code review
Jul 10, 2025
7405bde
Merge branch 'feat/omnibox' of https://github.com/co-browser/vibe int…
Jul 10, 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
42 changes: 42 additions & 0 deletions .claude/commands/commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Commit Changes

You are tasked with creating git commits for the changes made during this session.

## Process:

1. **Think about what changed:**
- Review the conversation history and understand what was accomplished
- Run `git status` to see current changes
- Run `git diff` to understand the modifications
- Consider whether changes should be one commit or multiple logical commits

2. **Plan your commit(s):**
- Identify which files belong together
- Draft clear, descriptive commit messages
- Use imperative mood in commit messages
- Focus on why the changes were made, not just what

3. **Present your plan to the user:**
- List the files you plan to add for each commit
- Show the commit message(s) you'll use
- Ask: "I plan to create [N] commit(s) with these changes. Shall I proceed?"

4. **Execute upon confirmation:**
- Use `git add` with specific files (never use `-A` or `.`)
- Create commits with your planned messages
- Show the result with `git log --oneline -n [number]`

## Important:

- **NEVER add co-author information or Claude attribution**
- Commits should be authored solely by the user
- Do not include any "Generated with Claude" messages
- Do not add "Co-Authored-By" lines
- Write commit messages as if the user wrote them

## Remember:

- You have the full context of what was done in this session
- Group related changes together
- Keep commits focused and atomic when possible
- The user trusts your judgment - they asked you to commit
168 changes: 168 additions & 0 deletions .claude/commands/learn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# Research Codebase

You are tasked with conducting comprehensive research across the codebase to answer user questions by spawning parallel sub-agents and synthesizing their findings.

## Initial Setup:

When this command is invoked, respond with:

```
I'm ready to research the codebase. Please provide your research question or area of interest, and I'll analyze it thoroughly by exploring relevant components and connections.
```

Then wait for the user's research query.

## Steps to follow after receiving the research query:

1. **Read any directly mentioned files first:**
- If the user mentions specific files (tickets, docs, JSON), read them FULLY first
- **IMPORTANT**: Use the Read tool WITHOUT limit/offset parameters to read entire files
- **CRITICAL**: Read these files yourself in the main context before spawning any sub-tasks
- This ensures you have full context before decomposing the research

2. **Analyze and decompose the research question:**
- Break down the user's query into composable research areas
- Identify specific components, patterns, or concepts to investigate
- Create a research plan using TodoWrite to track all subtasks
- Consider which directories, files, or architectural patterns are relevant

3. **Spawn parallel sub-agent tasks for comprehensive research:**
- Create multiple Task agents to research different aspects concurrently
- Always include these parallel tasks:
- **Codebase exploration tasks** (one for each relevant component/directory)
- Each codebase sub-agent should focus on a specific directory, component, or question
- Write detailed prompts for each sub-agent following these guidelines:
- Instruct them to use READ-ONLY tools (Read, Grep, Glob, LS)
- Ask for specific file paths and line numbers
- Request they identify connections between components
- Have them note architectural patterns and conventions
- Ask them to find examples of usage or implementation
- Example codebase sub-agent prompt:
```
Research [specific component/pattern] in [directory/module]:
1. Find all files related to [topic]
2. Identify how [concept] is implemented (include file:line references)
3. Look for connections to [related components]
4. Find examples of usage in [relevant areas]
5. Note any patterns or conventions used
Return: File paths, line numbers, and concise explanations of findings
```

4. **Wait for all sub-agents to complete and synthesize findings:**
- IMPORTANT: Wait for ALL sub-agent tasks to complete before proceeding
- Prioritize live codebase findings as primary source of truth
- Connect findings across different components
- Include specific file paths and line numbers for reference
- Highlight patterns, connections, and architectural decisions
- Answer the user's specific questions with concrete evidence

5. **Gather metadata for the research document:**
- Get current date and time with timezone: `date '+%Y-%m-%d %H:%M:%S %Z'`
- Get git commit from repository root: `cd $(git rev-parse --show-toplevel) && git log -1 --format=%H`
- Get current branch: `git branch --show-current`
- Get repository name: `basename $(git rev-parse --show-toplevel)`
- Create timestamp-based filename using date without timezone: `date '+%Y-%m-%d_%H-%M-%S'`

6. **Generate research document:**
- Use the metadata gathered in step 4
- Structure the document with YAML frontmatter followed by content:

```markdown
---
date: [Current date and time with timezone in ISO format]
git_commit: [Current commit hash]
branch: [Current branch name]
repository: [Repository name]
topic: "[User's Question/Topic]"
tags: [research, codebase, relevant-component-names]
status: complete
last_updated: [Current date in YYYY-MM-DD format]
last_updated_by: [Researcher name]
---

# Research: [User's Question/Topic]

**Date**: [Current date and time with timezone from step 4]
**Git Commit**: [Current commit hash from step 4]
**Branch**: [Current branch name from step 4]
**Repository**: [Repository name]

## Research Question

[Original user query]

## Summary

[High-level findings answering the user's question]

## Detailed Findings

### [Component/Area 1]

- Finding with reference ([file.ext:line](link))
- Connection to other components
- Implementation details

### [Component/Area 2]

...

## Code References

- `path/to/file.py:123` - Description of what's there
- `another/file.ts:45-67` - Description of the code block

## Architecture Insights

[Patterns, conventions, and design decisions discovered]

## Open Questions

[Any areas that need further investigation]
```

7. **Add GitHub permalinks (if applicable):**
- Check if on main branch or if commit is pushed: `git branch --show-current` and `git status`
- If on main/master or pushed, generate GitHub permalinks:
- Get repo info: `gh repo view --json owner,name`
- Create permalinks: `https://github.com/{owner}/{repo}/blob/{commit}/{file}#L{line}`
- Replace local file references with permalinks in the document

8. **Sync and present findings:**
- Present a concise summary of findings to the user
- Include key file references for easy navigation
- Ask if they have follow-up questions or need clarification

9. **Handle follow-up questions:**
- If the user has follow-up questions, append to the same research document
- Update the frontmatter fields `last_updated` and `last_updated_by` to reflect the update
- Add `last_updated_note: "Added follow-up research for [brief description]"` to frontmatter
- Add a new section: `## Follow-up Research [timestamp]`
- Spawn new sub-agents as needed for additional investigation
- Continue updating the document and syncing

## Important notes:

- Always use parallel Task agents to maximize efficiency and minimize context usage
- Always run fresh codebase research - never rely solely on existing research documents
- Focus on finding concrete file paths and line numbers for developer reference
- Research documents should be self-contained with all necessary context
- Each sub-agent prompt should be specific and focused on read-only operations
- Consider cross-component connections and architectural patterns
- Include temporal context (when the research was conducted)
- Link to GitHub when possible for permanent references
- Keep the main agent focused on synthesis, not deep file reading
- Encourage sub-agents to find examples and usage patterns, not just definitions
- **File reading**: Always read mentioned files FULLY (no limit/offset) before spawning sub-tasks
- **Critical ordering**: Follow the numbered steps exactly
- ALWAYS read mentioned files first before spawning sub-tasks (step 1)
- ALWAYS wait for all sub-agents to complete before synthesizing (step 4)
- ALWAYS gather metadata before writing the document (step 5 before step 6)
- NEVER write the research document with placeholder values
- This ensures paths are correct for editing and navigation
- **Frontmatter consistency**:
- Always include frontmatter at the beginning of research documents
- Keep frontmatter fields consistent across all research documents
- Update frontmatter when adding follow-up research
- Use snake_case for multi-word field names (e.g., `last_updated`, `git_commit`)
- Tags should be relevant to the research topic and components studied
Loading
Loading