') + ')', 'gi');
if (regex.test(text)) {
found = true;
var frag = document.createDocumentFragment();
var parts = text.split(regex);
parts.forEach(function(part, i) {
if (i % 2 === 0) {
frag.appendChild(document.createTextNode(part));
} else {
var span = document.createElement('span');
span.className = 'userscript-highlight';
span.textContent = part;
frag.appendChild(span);
}
});
node.parentNode.replaceChild(frag, node);
}
});
} else if (node.nodeType === 1 && node.childNodes) { // element
var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];
if (!skipTags.includes(node.tagName)) {
Array.from(node.childNodes).forEach(highlight);
}
}
}
highlight(document.body);
// Re-highlight on dynamic content
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1 || node.nodeType === 3) highlight(node);
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Strip utm_, fbclid, gclid, etc. from all links on page
(function() {
var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',
'ref', 'ref_src', 'source', 'medium', 'campaign'];
function cleanUrl(url) {
try {
var u = new URL(url, window.location.origin);
var changed = false;
trackingParams.forEach(function(p) {
if (u.searchParams.has(p)) {
u.searchParams.delete(p);
changed = true;
}
});
return changed ? u.toString() : url;
} catch (e) {
return url;
}
}
function cleanLinks() {
document.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
cleanLinks();
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'A') cleanLinks();
node.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); }
})();
(function(){
try {
var __m = "youtube.com";
var __re = new RegExp('^' + "youtube\\.com" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Auto-enable theater mode on YouTube
(function() {
function tryTheater() {
var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]');
if (btn && !btn.classList.contains('activated')) {
btn.click();
}
}
// Try immediately
tryTheater();
// Try after navigation (SPA)
var lastUrl = location.href;
setInterval(function() {
if (location.href !== lastUrl) {
lastUrl = location.href;
setTimeout(tryTheater, 500);
}
}, 1000);
// Also try on player load
var observer = new MutationObserver(tryTheater);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Remove or un-stick sticky/fixed headers that block content
(function() {
function unstick() {
document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) {
if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {
el.style.position = 'static';
el.style.top = 'auto';
el.style.zIndex = 'auto';
}
});
}
unstick();
var observer = new MutationObserver(unstick);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });
})();
}
} catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); }
})();
})();
GitHub - leonado10000/CodeBunny: AST-powered AI reviewer; Groq x Llama. · GitHub
Repository files navigation The Blunt AI Code Reviewer CodeBunny is a high-speed AI agent that acts as a Principal Engineer for your Pull Requests. It skips the fluff and tells you exactly what needs to be fixed to meet professional standards.Install App • View Demo • Report Bug
Most AI tools just summarize code changes. CodeBunny audits them. By deconstructing your code structure before analysis, it focuses strictly on logic, architectural risk, and best practices. It behaves like a senior developer who has seen it all and wants your code to be production-ready—now.
Feature Description 👔 Principal Persona Provides blunt, corrective feedback and one-line code examples. 🏗️ Structural Awareness Understands function boundaries and logic flow via AST mapping. ⚡ Instant Reviews Powered by Groq LPUs for near-instant feedback on your PRs. 🚥 Quality Gates Automatically flags missing docs, complex functions, and naming violations.
Brain: Llama 3.3 (70B) via Groq for high-speed inference.Analysis: Python AST (Abstract Syntax Tree) for deterministic code mapping.Linter: Pylint integration for automated code quality scoring.Backend: FastAPI & Uvicorn.Infrastructure: GitHub Actions & Render.Add CodeBunny to your repo in 2 minutes :
Create .github/workflows/codebunny.yml in your repo:
name: '🐰 CodeBunny Agent' on: pull\_request: types: \[opened, reopened, synchronize\]
jobs: review: runs-on: ubuntu-latest permissions: { pull-requests: write } steps: \- name: 🔍 Wellness Check id: health run: | STATUS=$(curl \-s \-o /dev/null \-w "%{http\_code}" "https://codebunny-5o9o.onrender.com/") if \[ "$STATUS" \-eq 200 \]; then echo "status=online" \>\> $GITHUB\_OUTPUT; fi
\- name: 📡 Dispatch Analysis if: steps.health.outputs.status \== 'online' run: | curl \-X POST "https://codebunny-5o9o.onrender.com/webhook/github" \\ \-H "Content-Type: application/json" \-d '${{ toJSON(github) }}' \--fail \--max-time 30
Test the logic on your machine:
Clone & Install git clone https://github.com/leonado10000/CodeBunny.git cd CodeBunny pip install \-r requirements.txt
Run Audit Simulation
You can’t perform that action at this time.