본문으로 건너뛰기
cccskills
무료GitHub에 공개

neru-add-platform-feature

Implement or stub Neru functionality for a specific OS/backend: port contract, build-tagged file slots, factory wiring, CodeNotSupported stubs, capability matrix, contract tests, and the docs ownership table. Use for any change under internal/adapter/platform or any *_darwin/_linux/_windows file. Not for pure-Go domain logic.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru스타 873(GitHub 873 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md2.8 KB
  • agents/openai.yaml309 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Platform work in Neru

Platform code carries Neru's strictest guardrails, and this is where agents most often guess. A change that lands cleanly sits in an existing file slot, crosses the boundary through a port, returns CodeNotSupported wherever it is unimplemented, and reports itself honestly in the capability matrix.

Before writing code

  1. Read internal/adapter/platform/AGENTS.md, the single home for the rules this skill obeys: the One Rule, file slots, the factory and Linux's runtime compositor axis, loud stubs, capability honesty, coordinates, generated Wayland bindings. Add the darwin/ or linux/ guide for the native boundary you touch.
  2. Read internal/adapter/platform/profile.go. It is the source of truth for each subsystem's backend family, primary-modifier expectations, and whether a backend needs CGO. CGO is a per-backend decision, not a per-OS one.
  3. Read the port you're implementing in internal/ports/. If the capability doesn't have a port yet, define the interface there first and add a mock in internal/ports/mocks.

Tests

  • Unit tests with port mocks stay platform-neutral.
  • Real-OS behavior goes in *_integration_<os>_test.go tagged //go:build integration && <os>.
  • Contract tests pin CodeNotSupported per subsystem, not per stub. Update the subsystem's existing one if it has one, and write a new one when a caller could read the stub's nil as success, so a later "implementation" that silently no-ops fails a test. internal/adapter/platform/AGENTS.md names the ones that exist.

Docs (same change, not a follow-up)

docs/contributing/porting.md has the ownership table ("Documentation Checklist"), and each fact has exactly one home. Capability status goes in docs/reference/platform-support.md, the API or protocol behind it in docs/contributing/platform-internals.md, and never either in docs/contributing/architecture.md (shape only). Linux setup specifics go in docs/guide/linux.md / docs/guide/linux-desktops.md.

Verify

just lint                      # depguard enforces the One Rule
go test ./internal/architecture/
just test-foundation

Cross-compile the platforms you touched (just build-linux, just build-windows) even when you can't run them, because build tags hide breakage from a darwin-only just build. Then the standard pre-commit gate, and ask a maintainer to run integration tests on the target OS if you can't.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Add a Neru CLI command or flag: cobra command in internal/cli, IPC handler in internal/app/ipcctrl, service/mode work behind it, man pages, and docs/reference/cli.md. Use when adding or changing user-facing commands, subcommands, or flags. Not for config.toml options.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru8732026년 10월 26일 업데이트

Add or change a Neru config.toml option end to end: struct field, shared and platform defaults, validation, examples, docs, and hot-reload behavior. Use whenever a change adds, renames, or removes a key in the TOML config schema. Not for theme palette entries or CLI flags.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru8732026년 10월 26일 업데이트

neru-ask

무료

Answer a Neru user's question about what Neru does, which command, flag, or config key does a thing, why something does not work, or what to try next, from the help, man pages, and docs of their installed version rather than from memory. Routes config work to neru-setup-config. Use when a Neru user asks what Neru can do, how to do something with it, which command to run, why hints or a hotkey do nothing, or which skill to use.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru8732026년 10월 26일 업데이트

Help a Neru user build a tool on top of Neru, such as a status bar, a launcher, voice control, a companion UI, automation from another hotkey tool, a Go program, or a client for the IPC socket in another language. Picks the interface, checks the installed version has it, reads the contract from that version's docs, and runs the result against the live daemon. Routes config and hooks work to neru-setup-config. Use when a Neru user wants to script Neru, read its state, follow its events, drive it from another program, or write code against its CLI, socket, or Go client.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru8732026년 10월 26일 업데이트

Commit working changes and open a Neru pull request the maintainer's way: conventional commit subjects, a PR title written for the changelog, the just ci gate, and the repo PR template filled honestly. Use when asked to commit, create a PR, open a pull request, or ship finished work in this repo.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru8732026년 10월 26일 업데이트

File a Neru bug report or feature request that matches the repo's issue forms: duplicate check first, every required field filled with real diagnostics, correct labels. Use when asked to open, file, or draft a GitHub issue for Neru. Not for pull requests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

y3owk1n/neru8732026년 10월 26일 업데이트

y3owk1n의 스킬 모두 보기

이 스킬의 문제 신고