Created: February 8, 2026 Domain: graysoft.dev
- Purchase domain: graysoft.dev (Namecheap)
- Configure Namecheap nameservers to Cloudflare
- Create Cloudflare tunnel for website (isolate from existing tunnels/ports)
- DNS A/CNAME record pointing to tunnel
- Update website
.env.localwithNEXT_PUBLIC_APP_URL=https://graysoft.dev - Update
NEXT_PUBLIC_STRIPE_SUCCESS_URLandCANCEL_URLto use graysoft.dev - Update IDE
LicenseManager.serverHosttohttps://graysoft.dev - Test Stripe webhook with production domain
- Set up Cloudflare SSL (Full Strict)
- Symptom: BrowserView (native Electron overlay) renders above all modals/menus
- Root Cause:
ExplainFileModal,TaskCreator, and FileTree context menu do NOT dispatchbrowser-overlay-show/browser-overlay-hidecustom events - Fix: Add event dispatching to all overlays/modals that render with
fixed/absolutepositioning
- Symptom: AI makes browser tool calls but viewport shows nothing; user must manually click Browser sidebar icon
- Root Cause:
show-browserIPC fires but BrowserPanel mount +browserShow(bounds)may have timing race; BrowserView stays at offscreen coords (-2000, -2000) - Fix: Ensure
show-browser→openBrowserTab→BrowserPanel.mount→browserShow(bounds)pipeline is reliable; add fallback re-show after tool completion
- Symptom: User can type in browser input fields but cannot click buttons (e.g., Google Search)
- Possible causes: DPI scaling mismatch, BrowserView bounds not matching displayed content, rapid hide/show cycles interrupting click events
- Fix: Investigate BrowserView bounds accuracy, test mouse event propagation, check DPI scaling
- Symptom: Browser "turns gray" or disappears when clicking sidebar buttons, file explorer, etc.
- Root Cause: Tab switch effect in
Editor.tsxcallsbrowserHide()when active tab changes. Clicking activity bar buttons may trigger state changes that affect tab focus - Fix: Only hide BrowserView when explicitly switching to a non-browser editor tab, not when interacting with sidebar panels
- Symptom: Without a folder open, browser stays on Google.com even though AI is making tool calls. Once a directory is chosen, browser properly displays navigated pages
- Root Cause: Opening a folder triggers layout re-render → ResizeObserver →
updateBrowserBounds()which moves BrowserView from offscreen (-2000, -2000) to correct position. Without this trigger, BrowserView stays offscreen - Fix: Ensure
browserShow(bounds)is called reliably regardless of folder state; add explicit bounds update after browser tab creation
- Symptom: After right-clicking file → Explain File → closing the modal, the AI chat sidebar vanishes and clicking View → AI Chat doesn't restore it
- Possible causes: ExplainFileModal's close handler or the context menu interaction may inadvertently toggle sidebar state; possible React state race condition
- Fix: Investigate state flow from context menu → ExplainFile → close; ensure no accidental
setChatVisible(false)calls
- Symptom: Model makes browser tool calls but appears stuck on Google; can't seem to click search results or navigate to actual restaurant pages
- Root Cause: Combined effect of multiple issues - BrowserView at offscreen bounds means snapshots may work (JS executes at offscreen) but user doesn't see the actual page; model may also struggle with Google's dynamic DOM
- Fix: Fix visibility issues first, then improve tool feedback so model knows what's happening
- Add external Chrome instance option (already partially implemented via
launchExternalChrome) - Allow user preference: viewport browser vs external Chrome vs both
- External Chrome should use CDP (Chrome DevTools Protocol) for AI tool interactions
- Fix "Open in Chrome" button to also allow AI-controlled external browser
- Browser should be viewable while interacting with other panels (not hidden on sidebar click)
icons/lib.svgnot found: Files with.libextension have no icon and no aliasicons/powershell.svgnot found:ps1is aliased to'powershell'but onlyps1.svgexists- Fix: Remove incorrect aliases, add missing SVGs or map to existing ones
- All 36 source files created
- npm install working (JSON file store, no native deps)
- All pages tested and verified working
- Update domain references from placeholder to graysoft.dev
- Copy installer to
website/public/downloads/guIDE-Setup.exe - Add real screenshots to Showcase section
- Production build testing (
next build) - Set up PM2 or systemd for production process management
- Configure Stripe webhooks for production domain
- Create GitHub repository (public, with README, but without full source code)
- Upload compelling README with feature list, screenshots, architecture overview
- Create GitHub Releases page with download link to installer
- Submit to Product Hunt (prepare launch page, tagline, screenshots)
- Create Product Hunt listing via MCP browser
- Consider: open-source select components while keeping core proprietary
- Explain File — right-click context menu item
- Vision Auto-Switching — transparent routing to Gemini Flash
- Hardware-Aware Model Suggestions — GPU VRAM detection
- Licensing Infrastructure — LicenseManager class, IPC handlers
- Commercial website — Next.js + Tailwind + Framer Motion
- User authentication — bcryptjs + JWT
- Stripe payments — $10 one-time lifetime license
- JSON file database (replaced SQLite/better-sqlite3)