Loading...
Loading...
UNNC AIM team's repository and code standards. Covers repository naming (competition / aim- academic-year / reusable), branch and Conventional Commits rules, AI-agent git behavior (never commit / push unless the user explicitly asks in the current task; never call the gh CLI without explicit permission; never add an AI Co-Authored-By trailer; suggest a commit message at the end of a code-changing task), and formatting standards for Python (autopep8 / PEP 8), C++ (clang-format / clang-tidy), TypeScript (Prettier + ESLint, pnpm), Go (gofmt), CMake, and Markdown / YAML / JSON, with ready-to-copy canonical rule files. Use when creating or naming a repository, validating a ROS2 package.xml name, creating a branch, writing a git commit message, on any task that could involve committing, pushing, or calling gh, composing a competition workspace (git submodules under src/), or setting up Python, C++ (.clang-format / setup.cfg / .clang-tidy), TypeScript (Prettier / ESLint / pnpm) or Go (gofmt) tooling, styling a CMakeLists.txt or Markdown / YAML / JSON files, or applying the team's recommended git configuration.
npx skill4agent add unnc-aim/aim-common-agentic-skills aim-common-rulesunnc-aim/.githubprofile/profile/README.mdprofile/standard.cpp.mdprofile/standard.py.mdprofile/standard.ts.mdstandard.go.mdstandard.cmake.mdprofile/standard.docs.mdunnc-aim/aim-common-agentic-skillsassets/Language rule for generated artifacts: documentation prose is language-agnostic, but all code, code comments, and commit messages must be in American English (e.g.,color,behavior— not colour, behaviour, optimise).optimize
| Task | Read | Copy this file |
|---|---|---|
| Create / name a repo, validate a ROS2 package name | references/repo-naming.md | — |
| Clone & organize a competition workspace (git submodules) | references/workspace-organization.md | — |
| Create a branch, write a commit message, follow the agent git-safety rules, set up recommended git config | references/git-workflow.md | assets/.gitattributes |
| Format / configure Python | references/python-formatting.md | assets/setup.cfg |
| Format / configure C++ | references/cpp-formatting.md | assets/.clang-format + assets/.clang-tidy |
| Format / configure TypeScript (Prettier, ESLint, pnpm) | references/ts-formatting.md | assets/.prettierrc + assets/eslint.config.js |
| Format Go | references/go-formatting.md | — |
| Style a CMakeLists.txt | references/cmake-style.md | — |
Markdown / YAML / JSON style ( | references/docs-style.md | assets/.editorconfig |
| Set up VS Code (extensions, Pylance, format-on-save, spelling) | references/python-formatting.md §3, §5, §6 + | assets/.vscode/extensions.json + assets/.vscode/settings.json |
| Repo type | Pattern | Separator | Example |
|---|---|---|---|
| Competition (one year / one match / one robot) | | underscore | |
| Internal / academic-year (non-competition) | | hyphen | |
| External / reusable / lib | | free | |
26RC25RM2526aim-*26RCUCULSentryNormalHeroR1snake_case<name>package.xmlros2_<name>ros2_hik_camera<name>hik_camera</name>mainmastermainFull rules, decision tree, and known inconsistencies: references/repo-naming.md.
<type>(<scope>): <subject>
<blank line>
<body> # optional, wrap at <=72 chars
<blank line>
<footer> # optional: BREAKING CHANGE: ... / Closes #123typefeat | fix | docs | style | refactor | test | chore | perf | ci | buildsubjectgit commitgit pushghCo-Authored-By:unnc-aim/aim-common-agentic-skillsnpx skillsnpx skills add unnc-aim/aim-common-agentic-skills --skill aim-common-rules -g-g-g.agents/skills/npx skills updatePrefer a manual copy?the whole skill directory intocp -R(global) or~/.claude/skills/(per repo). The directory —<your-repo>/.claude/skills/+SKILL.md+references/— must travel together.assets/
| Language | Copy as | Source |
|---|---|---|
| C++ | | assets/.clang-format, assets/.clang-tidy |
| Python | the | assets/setup.cfg |
Members not using AI: just readand copyreferences/*.md— no Claude Code required.assets/
.vscode/.vscode/extensions.json.vscode/settings.json.vscode/extensions.json.vscode/settings.jsonrecommendationscSpell.wordscode --install-extension <id>profile/README.mdcSpellcSpell.words.vscode/settings.jsonsettings.jsonsnake_casecamelBackPascalCaseUPPER_CASE_t.clang-tidyros2_hik_camera/.clang-tidylower_casestandard.cpp.mdcamelBackautopep8aim-py-2526-courseworksline_length = 79aim-py-2526-courseworksstandard.cpp.md.clang-format.clang-format*_ws26RC_R2_wssrc/26RC_R2_arm_controllersrc/arm_controller