بنقرة واحدة
fullstack-integration
Full stack integration patterns connecting Clojure backend and React frontend
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Full stack integration patterns connecting Clojure backend and React frontend
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Chrome DevTools automation for browser testing, debugging, and performance analysis
Clojure development workflows including REPL, deps.edn, testing, and linting
Docker Compose orchestration for multi-container applications
Git workflow management including branching, commits, PRs, and conflict resolution
OpenCode plugin development guidance including structure, events, tools, patterns, and best practices
PM2 process management for Node.js applications in production
| name | fullstack-integration |
| description | Full stack integration patterns connecting Clojure backend and React frontend |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"fullstack-developers","stack":"clojure react typescript"} |
Use me when integrating full stack applications, especially when:
/docs/notes// types/api.ts
export type WsMessage =
| { op: "tick"; tick: number; agents: Agent[] }
| { op: "agent-update"; id: number; x: number; y: number }
| { op: "error"; message: string };
export interface Agent {
id: number;
x: number;
y: number;
type: "villager" | "shrine";
}
export interface ApiResponse<T> {
success: boolean;
data: T;
error?: string;
}
fetch or axios for API calls// Use WSClient helper
import { WSClient } from "./ws";
const ws = new WSClient("ws://localhost:3000/ws");
// Send messages
ws.send({ op: "reset", seed: 42 });
// Handle messages
ws.on("tick", (data) => {
setAgents(data.agents);
});
// Clean up
return () => ws.close();
reitit for HTTP routingcheshire{"access-control-allow-origin" "*"}:op keyword: {:op "tick" :tick 42};; Backend HTTP handler
(defn json-resp [status body]
{:status status
:headers {"content-type" "application/json"
"access-control-allow-origin" "*"
"access-control-allow-methods" "GET, POST, PUT, DELETE, OPTIONS"
"access-control-allow-headers" "content-type"}
:body (json/generate-string body)})
// vite.config.ts
export default defineConfig({
server: {
proxy: {
"/api": "http://localhost:3000",
"/ws": {
target: "ws://localhost:3000",
ws: true
}
}
}
});
import.meta.env.VITE_* for client-side vars/docs/notesBearer {token}curl before frontend integration{:error "message"}