Skip to content

Instantly share code, notes, and snippets.

View kwhandy's full-sized avatar
🍉
sharing-is-caring

Handy Wardhana kwhandy

🍉
sharing-is-caring
View GitHub Profile
version: "3.8"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.10
container_name: search-server
ports:
- "9200:9200"
environment:
- discovery.type=single-node
- cluster.name=mecha
@kwhandy
kwhandy / ruby_cs.rb
Last active July 25, 2025 06:53
understand ruby from business background
# Computer Science Concepts for Business People
# Using Trading, Business, and Monopoly Analogies in Ruby
puts "=" * 60
puts "PART 1: BASIC DATA STRUCTURES"
puts "=" * 60
# ==========================================
# 1. ARRAYS - Like a Filing Cabinet
# ==========================================
import {Controller} from '@hotwired/stimulus'
import {Editor} from "@tiptap/core"
import {Mention} from "@tiptap/extension-mention";
import StarterKit from "@tiptap/starter-kit"
export default class extends Controller {
static targets = ['input', 'suggestions']
connect() {
this.editor = new Editor({

MCP Auth Adjustment Spec (2025-11-25 Compliant)

Goal: Make repaera/mcp and repaera/chat fully standard, registry-compatible, and work seamlessly with ALL common MCP clients (Claude Desktop, Cursor, Windsurf, VS Code, ChatGPT, etc.) + your own chat client

No custom headers (delete MCP_TOKEN / X-User-Token / X-User-Id logic)

Use official OAuth 2.1 + Protected Resource Metadata only

1. Shared Requirements (both repos)