# AGENTS.md ## 仓库结构 按语言分层的个人练习仓库,每种语言一个顶层目录,各自独立管理依赖。 | 目录 | 说明 | |---|---| | `go/` | Go 代码:`practice/` 是共用 module(`module lab`)的练习区,`projects/` 各项目为独立 module | | `note/` | 个人笔记(非代码),`note/项目/` 被 gitignore | | `dart/` | 预留,尚未建立 | ## Go 约定 - Go 代码集中在 `go/`,目录本身不是 module,按用途分两区: - `go/practice/`——共用 module 的练习区,`go.mod` 在该目录内(见 [go/practice/README.md](go/practice/README.md)) - `go/projects/<项目名>/`——每个项目一个独立 module,自带 `go.mod`(见 [go/projects/README.md](go/projects/README.md)) - **go 命令在对应 module 的根目录执行**:练习代码在 `go/practice/` 内执行;projects 每个项目在自己的目录内执行 - 练习区中每个叶子目录通常是一个独立小程序(`package main` + `main.go`),多个小程序并存互不冲突;库包(如算法实现)与只有测试文件的包也是合法形态 - 主题目录可随时增删;写新程序时挑最贴的主题,在里面建一个新子目录 - 测试文件用 `*_test.go`,运行单个测试:`cd go/practice && go test ./testing/slice -run TestSliceAppend` ## 开发命令 ``` # Go 练习——在 go/practice/ 目录下执行 cd go/practice go run ./basics/runtime/ # 运行单个程序 go test ./... # 运行全部测试(部分练习阻塞/依赖环境,不保证全过) go test ./testing/... -v # 运行 testing 包及其子包测试 go mod tidy # 整理依赖 # Go projects——在 go/projects/<项目名>/ 各自目录下执行 go run . # 运行项目(按实际入口调整) go mod tidy # 整理依赖 ``` ## 注意事项 - 仓库无 CI、无 pre-commit hooks、无代码检查——每个程序自行保证可编译即可 - 笔记和练习代码严格分离:程序相关说明写在程序目录的 README.md,系统性知识放 `note/` - `.gitignore` 已覆盖 Go 二进制、Dart/Flutter 构建产物、IDE 配置、操作系统文件 - 编辑、暂存或提交代码、笔记、配置时留意真实数据库连接、用户名密码、令牌密钥、私钥、个人路径及意外二进制/生成物 - 发现疑似真实敏感信息先暂停,只报告路径、行号和类型(不复述值),建议脱敏或移除、必要时轮换;演示占位值不算真实凭据,经用户确认无敏感风险后可继续