Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/kalbasit/ncps-test --skill ncps명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | ncps |
| description | Developing, running, and testing ncps |
This skill documents the standard workflows for developing, building, running, and testing the ncps project.
[!IMPORTANT] TEST FIRST. CODE SECOND. You MUST follow Test Driven Development (TDD) for ALL Go code changes, including FEATURES and BUGS.
The Cycle:
Do not write implementation code without a failing test.
The project uses Nix to manage dependencies. Ensure you have Nix installed.
Start Services: Before running the application or tests that require backing services (Postgres, MySQL, Redis, MinIO), start them using:
nix run .#deps
This command starts a process manager (process-compose) that runs all necessary services in the foreground. Keep this running in a separate terminal.
Run DevShell Tools: When using Claude Code, run any devShell tool (go, golangci-lint, sqlc, dbmate, sqlfluff) with nix develop --command:
nix develop --command go test ./...
nix develop --command golangci-lint run --fix
nix develop --command sqlc generate
This works consistently in both the main working tree and in worktrees. For interactive use, you can also use nix develop or direnv allow if you have direnv installed.
Enable Service Connectivity: To export the environment variables required to connect to the backing services (especially for running go test), you must source the configuration:
eval "$(enable-integration-tests)"
You can also enable specific services individually (e.g., eval "$(enable-postgres-tests)").
The primary way to run ncps locally during development is via dev-scripts/run.py.
./dev-scripts/run.py [flags]
--mode: single (default) or ha (High Availability).--db: sqlite (default), postgres, or mysql.--storage: local (default) or s3.--locker: local (default) or redis.--instances: Number of instances for HA mode (default: 3).Run single instance with SQLite (default):
./dev-scripts/run.py
Run HA cluster with Postgres and S3:
./dev-scripts/run.py --mode ha --db postgres --storage s3 --locker redis
[!NOTE] The script automatically handles database migrations using
dbmatebefore starting the application.
Run standard Go tests:
go test ./...
The project has extensive database tests in pkg/database. These require the backing services to be running (see "Environment Setup").
To test Kubernetes deployments (requires a cluster):
./dev-scripts/test-deployments.py --config dev-scripts/test-deployments-config.yaml
Migrations are managed via dbmate. See the dbmate skill for general usage, but note that dev-scripts/run.py handles applying migrations automatically for development.
To create a new migration for all supported engines, use the workflow:
/migrate-new "migration_name"