From 1a4fa3681281de134273859e7be88c4279bf91dd Mon Sep 17 00:00:00 2001 From: dhruv kejriwal Date: Sun, 16 Oct 2022 23:33:47 +0530 Subject: [PATCH 01/14] Sudoku Solver --- SudokuSolver.cpp | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 SudokuSolver.cpp diff --git a/SudokuSolver.cpp b/SudokuSolver.cpp new file mode 100644 index 0000000..f58d1c3 --- /dev/null +++ b/SudokuSolver.cpp @@ -0,0 +1,64 @@ +#include +using namespace std; +bool isSafe(int row,int col,vector> &board,int val) +{ + for(int i = 0;i> &board) +{ + int n = board[0].size(); + + for(int row = 0 ;row < n;row++) + { + for(int col = 0;col < n;col++) + { + //cell empty + if(board[row][col] == 0) + { //Trying every value which can fit in that + //box like we solve sudoku + for(int val = 1;val <= 9;val++) + { + if(isSafe(row,col,board,val)) + { + board[row][col] = val; + //recursive call + bool aageSolutionPossible = solve(board); + if(aageSolutionPossible) + { + return true; + } + else + { + //backtrack + board[row][col] = 0; + } + } + } + return false; + } + } + } + return true; +} +void solveSudoku(vector>& sudoku) +{ + solve(sudoku); +} \ No newline at end of file From 5bc5dd6e35b60581a79439e2107c4d4c513dce24 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 14:40:09 +0530 Subject: [PATCH 02/14] chore: add opencode github agent workflow --- .github/workflows/opencode.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/opencode.yml diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml new file mode 100644 index 0000000..5c68a64 --- /dev/null +++ b/.github/workflows/opencode.yml @@ -0,0 +1,28 @@ +name: opencode +on: + issue_comment: + types: [created] + pull_request_review_comment: + types: [created] + +jobs: + opencode: + if: | + contains(github.event.comment.body, '/oc') || + contains(github.event.comment.body, '/opencode') + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 1 + persist-credentials: false + + - name: Run OpenCode + uses: anomalyco/opencode/github@latest + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + with: + model: openai/gpt-5.3-codex From 37d1d51f373d0f39061e937120ec3275fe9b697f Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 14:44:04 +0530 Subject: [PATCH 03/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 5c68a64..b462f30 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -1,4 +1,5 @@ name: opencode + on: issue_comment: types: [created] @@ -20,9 +21,14 @@ jobs: fetch-depth: 1 persist-credentials: false + - name: Write OpenCode auth.json + shell: bash + run: | + mkdir -p ~/.local/share/opencode + echo "${{ secrets.OPENCODE_AUTH_JSON_B64 }}" | base64 -d > ~/.local/share/opencode/auth.json + chmod 600 ~/.local/share/opencode/auth.json + - name: Run OpenCode uses: anomalyco/opencode/github@latest - env: - OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} with: model: openai/gpt-5.3-codex From 2ffef26f2e3245e255ce2ab6cbe840327988a103 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 14:55:54 +0530 Subject: [PATCH 04/14] chore: set OpenCode high variant workflow --- .github/workflows/opencode.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index b462f30..1552636 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -28,6 +28,21 @@ jobs: echo "${{ secrets.OPENCODE_AUTH_JSON_B64 }}" | base64 -d > ~/.local/share/opencode/auth.json chmod 600 ~/.local/share/opencode/auth.json + - name: Configure OpenCode high variant + shell: bash + run: | + mkdir -p ~/.config/opencode + cat > ~/.config/opencode/opencode.json <<'EOF' + { + "$schema": "https://opencode.ai/config.json", + "agent": { + "build": { + "variant": "high" + } + } + } + EOF + - name: Run OpenCode uses: anomalyco/opencode/github@latest with: From f596b29cf492c538da7d1367417c2a385eb8a658 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 17:05:11 +0530 Subject: [PATCH 05/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 53 ++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 1552636..28edb2f 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -9,11 +9,19 @@ on: jobs: opencode: if: | - contains(github.event.comment.body, '/oc') || - contains(github.event.comment.body, '/opencode') + github.actor != 'opencode-agent[bot]' && + ( + contains(github.event.comment.body, ' /oc') || + startsWith(github.event.comment.body, '/oc') || + contains(github.event.comment.body, ' /opencode') || + startsWith(github.event.comment.body, '/opencode') + ) runs-on: ubuntu-latest permissions: id-token: write + contents: write + pull-requests: write + issues: write steps: - name: Checkout repository uses: actions/checkout@v6 @@ -28,20 +36,53 @@ jobs: echo "${{ secrets.OPENCODE_AUTH_JSON_B64 }}" | base64 -d > ~/.local/share/opencode/auth.json chmod 600 ~/.local/share/opencode/auth.json - - name: Configure OpenCode high variant + - name: Configure OpenCode variant shell: bash run: | mkdir -p ~/.config/opencode - cat > ~/.config/opencode/opencode.json <<'EOF' + cat > ~/.config/opencode/opencode.json <<'JSON' { "$schema": "https://opencode.ai/config.json", "agent": { "build": { - "variant": "high" + "model": "openai/gpt-5.3-codex", + "variant": "high", + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse MCP tools intentionally:\n- Use playwright MCP for reproducible end-to-end flows, issue reproduction, UI verification, screenshots, and basic console/network checks.\n- Use chrome-devtools MCP for deeper browser debugging: performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- Prefer playwright for deterministic tests and chrome-devtools for deep diagnostics.\n- After implementing frontend or integration changes, validate with the relevant MCP and report what was verified.\n" } + }, + "watcher": { + "ignore": [ + "node_modules/**", + "dist/**", + ".git/**" + ] + }, + "mcp": { + "playwright": { + "type": "local", + "command": [ + "npx", + "@playwright/mcp@latest" + ], + "enabled": true + }, + "chrome-devtools": { + "type": "local", + "command": [ + "npx", + "-y", + "chrome-devtools-mcp@latest" + ] + } + }, + "lsp": false, + "permission": { + "external_directory": "allow", + "question": "allow", + "*": "allow" } } - EOF + JSON - name: Run OpenCode uses: anomalyco/opencode/github@latest From 4c978b8c469d42cc44d634b2b0f165312a14e070 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 18:07:04 +0530 Subject: [PATCH 06/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 28edb2f..e322282 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -47,7 +47,7 @@ jobs: "build": { "model": "openai/gpt-5.3-codex", "variant": "high", - "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse MCP tools intentionally:\n- Use playwright MCP for reproducible end-to-end flows, issue reproduction, UI verification, screenshots, and basic console/network checks.\n- Use chrome-devtools MCP for deeper browser debugging: performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- Prefer playwright for deterministic tests and chrome-devtools for deep diagnostics.\n- After implementing frontend or integration changes, validate with the relevant MCP and report what was verified.\n" + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" } }, "watcher": { @@ -58,21 +58,14 @@ jobs: ] }, "mcp": { - "playwright": { - "type": "local", - "command": [ - "npx", - "@playwright/mcp@latest" - ], - "enabled": true - }, "chrome-devtools": { "type": "local", "command": [ "npx", "-y", "chrome-devtools-mcp@latest" - ] + ], + "enabled": true } }, "lsp": false, @@ -86,5 +79,7 @@ jobs: - name: Run OpenCode uses: anomalyco/opencode/github@latest + env: + OPENCODE_ENABLE_EXA: "true" with: model: openai/gpt-5.3-codex From 193368bb91d5ecc118b242dd022d2ad12e784549 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 18:31:23 +0530 Subject: [PATCH 07/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index e322282..85dde0e 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -47,7 +47,7 @@ jobs: "build": { "model": "openai/gpt-5.3-codex", "variant": "high", - "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nUse supermemory MCP for long-term memory:\n- At task start, fetch relevant context about user preferences, coding style, and project conventions.\n- During the task, save important decisions, constraints, and TODO follow-ups.\n- Before final response, store a concise summary of what changed and why.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" } }, "watcher": { @@ -58,6 +58,14 @@ jobs: ] }, "mcp": { + "supermemory": { + "type": "remote", + "url": "https://mcp.supermemory.ai/mcp", + "headers": { + "Authorization": "Bearer ${{ secrets.SUPERMEMORY_API_KEY }}" + }, + "enabled": true + }, "chrome-devtools": { "type": "local", "command": [ From 6ab24782c460b0e85e855c568e0c89a38ced907f Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 18:51:21 +0530 Subject: [PATCH 08/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 85dde0e..a5f5f11 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -71,7 +71,12 @@ jobs: "command": [ "npx", "-y", - "chrome-devtools-mcp@latest" + "chrome-devtools-mcp@latest", + "--headless", + "--isolated", + "--chromeArg=--no-sandbox", + "--chromeArg=--disable-dev-shm-usage", + "--logFile=/tmp/chrome-devtools-mcp.log" ], "enabled": true } From d5dd3595bf59fe75a314ab0c83b8b8b73af855ca Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:27:55 +0530 Subject: [PATCH 09/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index a5f5f11..e79c2c6 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -47,7 +47,7 @@ jobs: "build": { "model": "openai/gpt-5.3-codex", "variant": "high", - "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nUse supermemory MCP for long-term memory:\n- At task start, fetch relevant context about user preferences, coding style, and project conventions.\n- During the task, save important decisions, constraints, and TODO follow-ups.\n- Before final response, store a concise summary of what changed and why.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nUse supermemory MCP for long-term memory:\n- At task start, fetch relevant context about user preferences, coding style, and project conventions.\n- During the task, save important decisions, constraints, and TODO follow-ups.\n- Before final response, store a concise summary of what changed and why.\n- Save only durable learnings and reusable patterns; avoid noisy step-by-step updates.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" } }, "watcher": { From 821a3568fb35d8933e030efcbb0b2f7f483badb5 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:36:28 +0530 Subject: [PATCH 10/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index e79c2c6..5190694 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -47,7 +47,7 @@ jobs: "build": { "model": "openai/gpt-5.3-codex", "variant": "high", - "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nUse supermemory MCP for long-term memory:\n- At task start, fetch relevant context about user preferences, coding style, and project conventions.\n- During the task, save important decisions, constraints, and TODO follow-ups.\n- Before final response, store a concise summary of what changed and why.\n- Save only durable learnings and reusable patterns; avoid noisy step-by-step updates.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nYou are an AI agent with persistent memory powered by SuperMemory MCP (mcp.supermemory.ai).\n\nMemory rules:\n- Before responding, always call supermemory_recall with a precise semantic query relevant to the user request.\n- Prioritize the most recent and most relevant memories; if nothing useful is found, continue normally.\n- Store memory with supermemory_memory only when there is durable value.\n- Save only durable learnings, reusable patterns, and solved-issue knowledge (root cause + fix).\n- Do not save task logs, todos, progress updates, generic work-completed notes, or low-value status noise.\n- Update incrementally; avoid overwriting prior memory unless explicitly instructed.\n\nWorkflow:\n1) Recall relevant context.\n2) Reason using recalled context plus current input.\n3) Save durable insights if any.\n4) Respond concisely and personalize using recalled memory.\n\nFallback:\n- If supermemory tools fail, continue and include a concise memory-candidate summary for later storage.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" } }, "watcher": { From b9b5134d8536ef70115f9cccff7c25338b8381ea Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 22:28:22 +0530 Subject: [PATCH 11/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 5190694..6e884de 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -47,7 +47,7 @@ jobs: "build": { "model": "openai/gpt-5.3-codex", "variant": "high", - "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nYou are an AI agent with persistent memory powered by SuperMemory MCP (mcp.supermemory.ai).\n\nMemory rules:\n- Before responding, always call supermemory_recall with a precise semantic query relevant to the user request.\n- Prioritize the most recent and most relevant memories; if nothing useful is found, continue normally.\n- Store memory with supermemory_memory only when there is durable value.\n- Save only durable learnings, reusable patterns, and solved-issue knowledge (root cause + fix).\n- Do not save task logs, todos, progress updates, generic work-completed notes, or low-value status noise.\n- Update incrementally; avoid overwriting prior memory unless explicitly instructed.\n\nWorkflow:\n1) Recall relevant context.\n2) Reason using recalled context plus current input.\n3) Save durable insights if any.\n4) Respond concisely and personalize using recalled memory.\n\nFallback:\n- If supermemory tools fail, continue and include a concise memory-candidate summary for later storage.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nYou are an AI agent with persistent memory powered by SuperMemory MCP (mcp.supermemory.ai).\n\nMemory rules:\n- Before responding, call supermemory_recall only when the request benefits from past context (preferences, prior decisions, project history, recurring issues).\n- Skip recall for direct mechanical actions that already contain full context (e.g., explicit save/forget memory commands, simple one-shot confirmations).\n- Prioritize the most recent and most relevant memories; if nothing useful is found, continue normally.\n- Store memory with supermemory_memory only when there is durable value.\n- Save only durable learnings, reusable patterns, and solved-issue knowledge (root cause + fix).\n- Do not save task logs, todos, progress updates, generic work-completed notes, or low-value status noise.\n- Update incrementally; avoid overwriting prior memory unless explicitly instructed.\n\nWorkflow:\n1) Recall relevant context when useful.\n2) Reason using recalled context plus current input.\n3) Save durable insights if any.\n4) Respond concisely and personalize using recalled memory when relevant.\n\nFallback:\n- If supermemory tools fail, continue and include a concise memory-candidate summary for later storage.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" } }, "watcher": { From 7c5e876833e4b6ffc2ec96c0a52232262749fccd Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Sun, 15 Feb 2026 22:32:28 +0530 Subject: [PATCH 12/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 6e884de..de59752 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -47,7 +47,7 @@ jobs: "build": { "model": "openai/gpt-5.3-codex", "variant": "high", - "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nYou are an AI agent with persistent memory powered by SuperMemory MCP (mcp.supermemory.ai).\n\nMemory rules:\n- Before responding, call supermemory_recall only when the request benefits from past context (preferences, prior decisions, project history, recurring issues).\n- Skip recall for direct mechanical actions that already contain full context (e.g., explicit save/forget memory commands, simple one-shot confirmations).\n- Prioritize the most recent and most relevant memories; if nothing useful is found, continue normally.\n- Store memory with supermemory_memory only when there is durable value.\n- Save only durable learnings, reusable patterns, and solved-issue knowledge (root cause + fix).\n- Do not save task logs, todos, progress updates, generic work-completed notes, or low-value status noise.\n- Update incrementally; avoid overwriting prior memory unless explicitly instructed.\n\nWorkflow:\n1) Recall relevant context when useful.\n2) Reason using recalled context plus current input.\n3) Save durable insights if any.\n4) Respond concisely and personalize using recalled memory when relevant.\n\nFallback:\n- If supermemory tools fail, continue and include a concise memory-candidate summary for later storage.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response.\n" + "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nYou are an AI agent with persistent memory powered by SuperMemory MCP (mcp.supermemory.ai).\n\nMemory rules:\n- Before responding, call supermemory_recall only when the request benefits from past context (preferences, prior decisions, project history, recurring issues).\n- Skip recall for direct mechanical actions that already contain full context (e.g., explicit save/forget memory commands, simple one-shot confirmations).\n- Prioritize the most recent and most relevant memories; if nothing useful is found, continue normally.\n- Store memory with supermemory_memory only when there is durable value.\n- Save only durable learnings, reusable patterns, and solved-issue knowledge (root cause + fix).\n- Do not save task logs, todos, progress updates, generic work-completed notes, or low-value status noise.\n- Update incrementally; avoid overwriting prior memory unless explicitly instructed.\n\nWorkflow:\n1) Recall relevant context when useful.\n2) Reason using recalled context plus current input.\n3) Save durable insights if any.\n4) Respond concisely and personalize using recalled memory when relevant.\n\nFallback:\n- If supermemory tools fail, continue and include a concise memory-candidate summary for later storage.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response." } }, "watcher": { From 5e7306a64ac5f13623f1b41b5861aab03ce400a3 Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Tue, 17 Feb 2026 15:24:59 +0530 Subject: [PATCH 13/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 47 +++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index de59752..1c74ab7 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -36,6 +36,19 @@ jobs: echo "${{ secrets.OPENCODE_AUTH_JSON_B64 }}" | base64 -d > ~/.local/share/opencode/auth.json chmod 600 ~/.local/share/opencode/auth.json + - name: Clone and start local proxy + shell: bash + run: | + git clone --depth 1 https://github.com/dhruvkej9/opencode-local-proxy.git /tmp/opencode-local-proxy + cd /tmp/opencode-local-proxy + export OPENCODE_PROXY_PORT=4318 + node proxy.mjs & + sleep 3 + curl -s http://127.0.0.1:4318/health + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + - name: Configure OpenCode variant shell: bash run: | @@ -43,9 +56,10 @@ jobs: cat > ~/.config/opencode/opencode.json <<'JSON' { "$schema": "https://opencode.ai/config.json", + "model": "local-proxy/kimi-k2.5-free", "agent": { "build": { - "model": "openai/gpt-5.3-codex", + "model": "local-proxy/kimi-k2.5-free", "variant": "high", "prompt": "Use ripgrep (rg) instead of grep/glob/find for searching. Commands: rg 'pattern' (search content), rg --files (list all files), rg --files -g '*.ext' (filter by extension), rg --files -g '*.{js,py,md}' (multiple extensions), rg 'pattern' -g '*.ext' (search in specific file types), rg -i 'pattern' (case insensitive), rg -C 3 'pattern' (show 3 lines context). ripgrep is faster and respects .gitignore by default. Use context7 for latest package info.\n\nUse websearch when local context is insufficient. At least one websearch is recommended for each task before finalizing.\n\nYou are an AI agent with persistent memory powered by SuperMemory MCP (mcp.supermemory.ai).\n\nMemory rules:\n- Before responding, call supermemory_recall only when the request benefits from past context (preferences, prior decisions, project history, recurring issues).\n- Skip recall for direct mechanical actions that already contain full context (e.g., explicit save/forget memory commands, simple one-shot confirmations).\n- Prioritize the most recent and most relevant memories; if nothing useful is found, continue normally.\n- Store memory with supermemory_memory only when there is durable value.\n- Save only durable learnings, reusable patterns, and solved-issue knowledge (root cause + fix).\n- Do not save task logs, todos, progress updates, generic work-completed notes, or low-value status noise.\n- Update incrementally; avoid overwriting prior memory unless explicitly instructed.\n\nWorkflow:\n1) Recall relevant context when useful.\n2) Reason using recalled context plus current input.\n3) Save durable insights if any.\n4) Respond concisely and personalize using recalled memory when relevant.\n\nFallback:\n- If supermemory tools fail, continue and include a concise memory-candidate summary for later storage.\n\nUse MCP tools intentionally:\n- Use chrome-devtools MCP for browser debugging, performance bottlenecks, network waterfall, runtime errors, DOM/CSS inspection, and rendering issues.\n- For frontend or integration fixes, validate behavior and include what you verified in your response." } @@ -86,6 +100,33 @@ jobs: "external_directory": "allow", "question": "allow", "*": "allow" + }, + "provider": { + "local-proxy": { + "npm": "@ai-sdk/openai-compatible", + "name": "Local Proxy (Free Models + Codex Fallback)", + "options": { + "baseURL": "http://127.0.0.1:4318/v1", + "apiKey": "public" + }, + "models": { + "kimi-k2.5-free": { + "name": "Kimi K2.5 Free", + "limit": { "context": 262000, "output": 32768 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } + }, + "glm-5-free": { + "name": "GLM-5 Free", + "limit": { "context": 200000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } + }, + "gpt-5.3-codex": { + "name": "GPT-5.3 Codex (Fallback)", + "limit": { "context": 272000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } + } + } + } } } JSON @@ -93,6 +134,6 @@ jobs: - name: Run OpenCode uses: anomalyco/opencode/github@latest env: - OPENCODE_ENABLE_EXA: "true" + OPENCODE_PERMISSION: '{"*": "allow"}' with: - model: openai/gpt-5.3-codex + model: local-proxy/kimi-k2.5-free From dfddbe77df342c76a7e5fd37e8b8deb0c52b664e Mon Sep 17 00:00:00 2001 From: dhruv kejriwal <96516827+dhruvkej9@users.noreply.github.com> Date: Tue, 17 Feb 2026 16:53:14 +0530 Subject: [PATCH 14/14] chore: update OpenCode GitHub agent workflow --- .github/workflows/opencode.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 1c74ab7..0d62a30 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -115,15 +115,35 @@ jobs: "limit": { "context": 262000, "output": 32768 }, "modalities": { "input": ["text", "image"], "output": ["text"] } }, + "big-pickle": { + "name": "Big-Pickle", + "limit": { "context": 200000, "output": 64000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } + }, + "minimax-m2.5-free": { + "name": "MiniMax M2.5 Free", + "limit": { "context": 204800, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } + }, "glm-5-free": { "name": "GLM-5 Free", "limit": { "context": 200000, "output": 128000 }, "modalities": { "input": ["text", "image"], "output": ["text"] } }, + "trinity-large-preview-free": { + "name": "Trinity Large Preview Free", + "limit": { "context": 128000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } + }, "gpt-5.3-codex": { "name": "GPT-5.3 Codex (Fallback)", "limit": { "context": 272000, "output": 128000 }, "modalities": { "input": ["text", "image"], "output": ["text"] } + }, + "gpt-5-nano": { + "name": "GPT-5 Nano", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] } } } }