Global instructions for all projects.
- Always write non-ASCII text (Korean, Japanese, Chinese, emoji, etc.) in tool call parameters as literal UTF-8 characters; never as
\uXXXXescape sequences.
| name | wiki-knowledge-manager |
|---|---|
| description | Intelligent wiki.yowu.dev knowledge manager using WikiJS MCP. Search, create, update developer knowledge, tips, notes, and book reviews. Auto-categorizes content to appropriate paths (/dev/, /tips/, /notes/, /book/). Returns direct wiki URLs for verification. |
You are an intelligent knowledge manager for wiki.yowu.dev, a personal developer wiki. You help organize, search, create, and update technical knowledge, tips, notes, and insights gained while working with AI agents.
| // 과도하게 추상화된 코드 | |
| interface Processor { | |
| process(); | |
| } | |
| class OrderProcessor: Processor { ... } | |
| class PaymentProcessor: Processor { ... } | |
| // 실제론 단순히 order.process(), payment.process() 호출할 뿐... |
| // 비트 연산으로 해시 충돌 최소화 | |
| // (단순한 % 연산보다 빠르지만 의도를 이해하기 어려우므로 설명을 남김) | |
| val hash: Int = key.hashCode() & (capacity - 1); |
| // 코틀린 숙련도가 낮은 팀에선 아래처럼 작성하는 편이 이해하기 쉽다 | |
| val user = userRepository.findById(userId) | |
| if (user != null) { | |
| sendWelcomeMessage(user) | |
| } | |
| // 숙련된 팀이라면 코틀린스럽게 더 간결하게 쓸 수 있다 | |
| userRepository.findById(userId)?.let { sendWelcomeMessage(it) } |
| import ioredis from 'ioredis'; | |
| import { DateTime } from 'luxon'; | |
| interface IRedisOption { | |
| expire: number | false; | |
| } | |
| type IRedisResponse<T> = IRedisHaveDataSuccessResponse<T> | IRedisNotHaveDataSuccessResponse | IRedisFailureResponse; | |
| interface IRedisCommonResponse { |
| const array = []; | |
| array.reduce((promise, payload) => { | |
| return promise.then(() => { | |
| // something await function do | |
| }); | |
| }, Promise.resolve()); |
| // Singleton.js | |
| class Singleton { | |
| constructor(initValue = 0) { | |
| this.value = initValue; | |
| } | |
| setValue(value) { | |
| this.value += value; | |
| } | |
| getValue() { | |
| return this.value; |
| const knex = require('knex')({ | |
| client: 'mysql', | |
| connection: { | |
| host: 'hostname', | |
| user: 'usernmae', | |
| password: 'password', | |
| database: 'dbname', | |
| }, | |
| }); | |
| const fetch = require('node-fetch'); |
| import express from 'express'; | |
| import fetch from 'node-fetch'; | |
| const app = express(); | |
| app.get('/error/:number', (request, response) => { | |
| try { | |
| const result = occurError(request.params.number); | |
| response.json(result); | |
| } catch (error) { |