Skip to content

Instantly share code, notes, and snippets.

View redism's full-sized avatar

Jeff Oh redism

View GitHub Profile
@redism
redism / 003_c-doc.md
Created April 16, 2026 09:26
Step 003 플랜 v2 — TDD 추가

Step 003: SDD 기반 L0-L4 스펙 인프라 구축

가설

SDD의 L0-L4 스펙 계층을 스크립트 인프라와 함께 구축하고 claudie-workflow 자체에 dogfooding하면, "사용자 입력 → L4 구체화 → LLM 한 방 완료"라는 궁극 비전(decision 051)의 첫 번째 실동작 검증이 가능하다.

구현 계획

/c-epic start Step 2에서 기록. Step 4에서 EnterPlanMode로 이 내용이 공식 plan으로 적용됨. 첫 항목은 반드시 Ralph Loop 셋업이어야 함.

@redism
redism / 044_spec-frontmatter.md
Created April 16, 2026 09:15
claudie-workflow Step 003 설계 v2 — 인코딩 수정

Decision 044: 스펙 Frontmatter 및 History 설계

결정

스펙 frontmatter에서 parent만 수동 관리하고 children은 스크립트가 자동 계산한다. staleness는 review_at 필드 대신 문서 내 History 섹션으로 관리한다.

Frontmatter 스키마

---
@redism
redism / constitution.md
Created April 16, 2026 08:12
claudie-workflow Data Dictionary v2 — index + 개별 용어 파일

Constitution

정의

SDD(Spec Driven Development)에서 모든 스펙과 구현에 적용되는 불변·비타협 원칙의 집합.

개별 feature 스펙이 "무엇을 할지"를 정의한다면, Constitution은 "어떻게 만들어야 하는지"를 강제한다. Architectural DNA.

핵심 특성

@redism
redism / data-dictionary.md
Created April 16, 2026 08:00
claudie-workflow Data Dictionary 초판 — 리뷰 요청

Data Dictionary — claudie-workflow

이 프로젝트에서 사용하는 용어의 정의. 새 세션에서 용어를 멋대로 해석하는 것을 방지. 용어 추가/수정 시 반드시 사용자 확인 후 반영.


방법론 / 프레임워크

SDD (Spec Driven Development)

@redism
redism / send
Created January 19, 2018 03:36
Sending simple push to your device after long-running process
BODY=${1:-"Finished"}
DATA='{"title":"Done","type":"note","body":"'$BODY'"}'
curl --header 'Access-Token: <YOUR_TOKEN_HERE>' \
--header 'Content-Type: application/json' \
--data-binary $DATA \
--silent \
--request POST \
https://api.pushbullet.com/v2/pushes > /dev/null
@redism
redism / kr_won_to_backquote.sh
Created April 26, 2017 16:20
macOS Sierra에서 원화(₩) 대신 백 쿼트(`) 입력하기
#!/bin/bash
if [ -f ~/Library/KeyBindings/DefaultkeyBinding.dict ]; then
echo "~/Library/KeyBindings/DefaultkeyBinding.dict already exists"
exit -1
fi
mkdir -p ~/Library/KeyBindings
cat << EOF > ~/Library/KeyBindings/DefaultkeyBinding.dict
{
"₩" = ("insertText:", "\`");
@redism
redism / code.gs
Created April 24, 2016 08:30
Google script custom functions for KRW
function pad0(num) {
return num < 10 ? '0' + num.toString() : num.toString();
}
function getDateStringDaysAgo(days) {
const date = new Date(Date.now() - (days * 24 * 60 * 60 * 1000));
return date.getFullYear() + "-" + pad0(date.getMonth() + 1) + "-" + pad0(date.getDate());
}
/**
@redism
redism / factory.js
Created January 23, 2015 12:27
Javascript new with apply
var Adder = function Adder() {
console.log(arguments);
this.list = Array.prototype.slice.apply(arguments);
};
Adder.prototype.sum = function sum() {
var sum = 0;
this.list.forEach(function(x) {
sum += x;
@redism
redism / client.js
Created April 25, 2014 09:41
Simple socket.io server performance test
/**
* A simple socket.io client for performance benchmark
*
* Created by redism on 2014. 4. 22..
*/
var SocketIO = require('socket.io-client'),
argv = require('optimist').argv;
var n = argv.n || 10;
@redism
redism / (10000-10) 1 express.js
Last active December 31, 2015 02:49
단순 GET api call 에 대한 퍼포먼스 테스트 express.js vs nginx+express.js 머신 정보 iMac13.2 4 cores
[-:] redism@~: ab -n 10000 -c 10 http://127.0.0.1:2131/api/user/1
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)
Finished 10000 requests
Server Software: