You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-Flask/.codex/skills/netx-coding/SKILL.md

6.6 KiB

name description
netx-coding Use when implementing code changes in the netx repository across Rust crates, controller/core runtime, protocol DTOs, Admin Console, Desktop Core UI, build scripts, or verification flows.

netx 编码

使用场景

/root/Projects/Mine/netx 中写代码、修 bug、改构建、改 API、改 UI 时使用。

先读

按任务读取:

  • 通用编码:docs/specs/coding-guide.md
  • 架构边界:docs/specs/architecture.md
  • 协议字段:docs/specs/protocol.md
  • UIdocs/specs/ui-design.md
  • 需求状态:docs/specs/traceability.md

当前边界

只维护:

  • netx-controller
  • netx-core
  • apps/netx-desktop
  • web/admin

新增入口必须归入这些产品边界。

修改位置

任务 位置
控制 API、状态投影、任务、controller state/bootstrap/metrics/API DTO 聚合 crates/netx-controller/src/state.rsbootstrap_plan.rsruntime_metrics.rscontrol_api_models.rs、其它 control_api_* 模块
Controller audit/session API、managed session 执行和 system metrics/diagnostics crates/netx-controller/src/sessions.rssessions_diagnostics.rs
Controller core plan、gateway assignment helper 和 service projection crates/netx-controller/src/core_planner.rscore_planner_gateway.rscore_planner_http.rscore_planner_services.rs
Controller embedded gateway handler、bridge accept、hosted service supervisor、public/mixed entry、HTTP entry、HTTP3、HTTPS passthrough/terminate、routing/http/body/backend/connection 适配 crates/netx-controller/src/gateway_http_entry.rsgateway_bridge_accept.rsgateway_hosted_services.rsgateway_public_entry.rsgateway_mixed_entry.rsgateway_http3.rsgateway_https_passthrough.rsgateway_https_terminate.rsgateway_routing.rsgateway_http.rsgateway_body.rsgateway_backend.rsgateway_connection.rs
Core 运行编排、heartbeat loop state、DeliveredConfig managed client/service/proxy/overlay runtime config selection、initial service/proxy selection、NAT probe binding snapshot、peer engine tick/requested-attempt TTL state、punch ready/候选排序/端口扫描策略和 punch attempt 到 peer identity 映射 crates/netx-core-runtime
共享路由、执行计划、path selection crates/netx-core-engine
本机 Local API crates/netx-core-local
Core service 命令、低阶 CLI runtime、Controller API 命令、解析和报告 apps/netx-core/src/cli_service.rscli_local_runtime.rscli_controller_api.rscli_parse.rscli_reports.rs
Core app session 前置/attached/bootstrap/startup/overlay/loop apps/netx-core/src/client_session.rsclient_session_attached.rsclient_session_bootstrap.rsclient_session_startup.rsclient_session_overlay.rsclient_session_loop.rs
Core overlay hosts/DNS/resolved/NRPT 和 Linux transparent TCP intercept 执行胶水 apps/netx-core/src/overlay_integration.rsoverlay_transparent_proxy.rs
Core local proxy 监听、协议 helper、NETX path、上游 TLS 和 proxy chain helper apps/netx-core/src/local_proxy.rslocal_proxy_protocol.rslocal_proxy_netx.rslocal_proxy_tls.rslocal_proxy_chain.rs
Core NAT probe、punch poll、UDP/TCP punch 执行和直连/relay 隧道循环 apps/netx-core/src/punch_nat_probe.rspunch.rspunch_tunnel.rs
配置 crates/netx-config
Wire DTO crates/netx-proto/src/wire.rs
UI DTO crates/netx-ui-api
存储 service 注册/加载、service row mapping 和 overlay relay port 分配 crates/netx-control/src/service_store.rs
存储 service validation、service parse/normalize helper 和 service auth JSON helper crates/netx-control/src/service_validation.rs
存储控制面入口、overview、core state 聚合和剩余共享 validation/helper 方法 crates/netx-control/src/lib.rs
StoreExecutor async wrapper crates/netx-control/src/executor.rs
存储 schema/open/migration/backfill crates/netx-control/src/schema.rs
存储 kv/singleton JSON helper crates/netx-control/src/kv.rs
存储 service token 生命周期 crates/netx-control/src/service_tokens.rs
存储 task/audit 持久层 crates/netx-control/src/audit_tasks.rs
存储 admin principal/token crates/netx-control/src/admin_store.rs
存储节点接入、心跳、NAT/overlay probe、enrollment 和 blocked identity crates/netx-control/src/node_store.rs
存储 Network/resource/membership、overlay subnet routes、node service capability 和 service gateway assignment KV store crates/netx-control/src/network_store.rs
存储 service config、local proxy config、managed client config、overlay policy 和 setup draft crates/netx-control/src/config_store.rs
存储公共记录/错误类型 crates/netx-control/src/models.rs
Admin API client web/admin/src/lib/api/*
Desktop 状态编排 apps/netx-desktop/src/composables/use-client-workbench.ts
Desktop Tauri 命令/DTO/IPC/local/profile/projection/runtime/service/remote 边界 apps/netx-desktop/src-tauri/src/core_control.rscore_control_models.rscore_control_ipc.rscore_control_local.rscore_control_profile.rscore_control_projection.rscore_control_runtime.rscore_control_service.rscore_control_remote.rs

实现规则

  • Handler 做编排,不堆业务内核。
  • SQLite 访问走 StoreExecutor
  • 协议新增先落 netx-proto
  • UI 不自己推导 runtime plan。
  • 会话路径要同时看 Controller、Core、bridge executor、CLI/UI。
  • 拆模块时同步修测试显式 import。
  • 大验证分层跑,先轻后重。

重构期间

本 skill 描述当前有效工程结构,不用于阻止已确认的重构。

当重构改变以下内容时,同步更新本 skill 和 docs/specs/coding-guide.mddocs/specs/architecture.md

  • 产品边界。
  • app / crate / module 责任。
  • 前端目录归属。
  • API 真相源。
  • 构建命令。
  • 验证命令。
  • 运行入口。

若本 skill 与当前源码或已确认重构目标冲突,以当前源码和重构目标为准,并在同次修改中修正本 skill。

验证

轻量:

cargo check --workspace --all-targets
pnpm -C web/admin exec vue-tsc --noEmit
pnpm -C apps/netx-desktop exec vue-tsc --noEmit

仓库:

make verify-workspace
make verify-linux
make verify-windows

前端:

pnpm -C web/admin check:design-contracts
pnpm -C web/admin test
pnpm -C web/admin build
pnpm -C apps/netx-desktop check:design-contracts
pnpm -C apps/netx-desktop test
pnpm -C apps/netx-desktop build