This repository inherits the broader oh-my-codex guidance from the parent environment. These rules are repo-specific and apply to everything under this directory.
- Node packages live under
packages/*and use npm workspaces. - Node package releases use Changesets. Do not hand-edit package versions only to cut a release; add a
.changeset/*.mdfile instead. - npm publish is automated from GitHub Actions and should happen only after the bot-generated Version Packages PR is merged into
main. - Python packages live under
python-packages/*and use release-please. Until a real Python package exists, keep the Python release workflow as scaffold-only. - PyPI publish should run only when release-please reports
release_created=truefor a concrete package path. - Prefer trusted publishing via OIDC for npm and PyPI. Do not introduce long-lived registry tokens unless trusted publishing is unavailable.
- For release or packaging changes, run
npm run ci. - Keep release docs, workflow files, and package metadata aligned in the same change.
- Never write tests that assert
.changeset/*.mdfiles exist. Changesets are consumed (deleted) bychangeset versionduring the release flow. Any test guarding changeset file presence will break CI on the version-bump commit and block the release pipeline.
- When testing or developing skills from this repository, install or sync the current skill directories into the user's home-directory global skill locations first.
- Use
~/.claude/skills/<skill-name>for Claude Code and~/.agents/skills/<skill-name>for agents-compatible home installs. - Respect existing home-directory indirection such as symlinks when syncing
~/.agents/skills. - Do not create repo-local
.claudeor.agentsdirectories for skill installation unless the user explicitly asks for a repository-local test fixture.
- The built-in
k-skill-proxyis for free APIs only. - Default posture: public read-only endpoint, no proxy auth by default.
- Keep free-API proxy surfaces narrow, allowlisted, cache-backed, and rate-limited.
- If abuse or operational issues appear later, add stricter controls then instead of preemptively requiring auth.
- 개발 repo (
dev브랜치)에서 proxy 코드를 수정하고, main에 merge하면 프로덕션에 반영된다. - 프로덕션 배포본은
~/.local/share/k-skill-proxy에 main 브랜치 단독 clone으로 존재한다. - cron job (
0 * * * *)이 매시 정각에~/.local/share/k-skill-proxy/scripts/auto-update-proxy.sh를 실행해 origin/main fetch → fast-forward pull → package-lock 변경 시 npm ci → pm2 restart 순서로 자동 배포한다. - 로그:
/tmp/k-skill-proxy-update.log - proxy 서버 코드:
packages/k-skill-proxy/src/server.js - proxy 서버 테스트:
packages/k-skill-proxy/test/server.test.js - proxy 환경변수(API key 등)는
~/.config/k-skill/secrets.env에 넣고,scripts/run-k-skill-proxy.sh가 source한다. - dev에서 route를 추가/수정한 뒤 main에 merge되기 전까지는 프로덕션 proxy에 반영되지 않는다. 로컬 테스트는
node packages/k-skill-proxy/src/server.js로 직접 실행한다.