Skip to content

Commit 2af034c

Browse files
authored
[RELEASE] NeMo-Agent-Toolkit v1.2.0 (#676)
## Description <!-- Note: The pull request title will be included in the CHANGELOG. --> <!-- Provide a standalone description of changes in this PR. --> <!-- Reference any issues closed by this PR with "closes #1234". All PRs should have an issue they close--> <!-- SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> ## ❄️ Code freeze for `develop` and `v1.2.0` release ### What does this mean? Only critical/hotfix level issues should be merged into `develop` until release (merging of this PR). ### What is the purpose of this PR? - Update documentation - Allow testing for the new release - Enable a means to merge `develop` into `main` for the release ## By Submitting this PR I confirm: - I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing.md). - We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license. - Any contribution which contains commits that are not Signed-Off will not be accepted. - When the PR is ready for review, new or existing tests cover these changes. - When the PR is ready for review, the documentation is up to date with these changes.
2 parents 4e39dcf + 7f14a75 commit 2af034c

File tree

1,493 files changed

+98743
-42063
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,493 files changed

+98743
-42063
lines changed

.cursor/rules/cursor-rules.mdc

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
description: Follow these rules when the user's request involves creating, modifying, organizing, or structuring Cursor rules within the project
3+
globs:
4+
alwaysApply: false
5+
---
6+
# Cursor Rules Location
7+
8+
How to add new cursor rules to the project
9+
10+
1. Always place rule files in PROJECT_ROOT/.cursor/rules/:
11+
```
12+
.cursor/rules/
13+
├── your-rule-name.mdc
14+
├── another-rule.mdc
15+
└── ...
16+
```
17+
18+
2. Follow the naming convention:
19+
- Use kebab-case for filenames
20+
- Always use .mdc extension
21+
- Make names descriptive of the rule's purpose
22+
23+
3. Directory structure:
24+
```
25+
PROJECT_ROOT/
26+
├── .cursor/
27+
│ └── rules/
28+
│ ├── your-rule-name.mdc
29+
│ └── ...
30+
└── ...
31+
```
32+
33+
4. For related rules sharing the same topic, create a subdirectory:
34+
```
35+
.cursor/rules/
36+
├── topic-name/
37+
│ ├── general.mdc # General rules for this topic
38+
│ ├── specific-rule.mdc # Specific rules within the topic
39+
│ └── another-rule.mdc
40+
├── another-topic/
41+
│ ├── general.mdc
42+
│ └── specific-rule.mdc
43+
└── standalone-rule.mdc
44+
```
45+
46+
5. When creating topic subdirectories:
47+
- Use kebab-case for directory names
48+
- Always include a `general.mdc` file with overarching guidelines for the topic
49+
- Place specific rules as separate .mdc files within the subdirectory
50+
- Example: `nat-cli/` folder contains general NAT CLI rules in `general.mdc` and specific command rules in separate files
51+
52+
6. For `general.mdc` files in subdirectories:
53+
- Always include a "Referenced Documentation" section that lists all documentation referenced in the rules
54+
- Format documentation references with descriptive names and brief descriptions
55+
- Reference the documentation section in the main rules instead of directly linking to documentation
56+
- Example structure:
57+
```markdown
58+
# General Rules for [Topic]
59+
60+
## Referenced Documentation
61+
62+
- **Documentation Name**: [filename.md](mdc:path/to/filename.md) - Brief description of the documentation
63+
- **Another Doc**: [another.md](mdc:path/to/another.md) - Description of this documentation
64+
65+
## Rules
66+
67+
- Rule content referencing "the documentation listed in the Referenced Documentation section above"
68+
```
69+
70+
7. Writing effective descriptions for Cursor rules:
71+
- **Start with "Follow these rules when"**: All descriptions should begin with this consistent phrase
72+
- **Use specific trigger conditions**: Clearly define when the rule should be requested by the agent
73+
- **Include relevant action verbs**: Use precise verbs like "creating", "modifying", "implementing", "configuring", "adding", "installing", "evaluating", etc.
74+
- **Be comprehensive but concise**: Cover all relevant scenarios without being overly verbose
75+
- **Use consistent terminology**: Match the language used in the project (e.g., "NAT workflows", "NAT CLI commands")
76+
- **Check for typos**: Ensure proper spelling and grammar (avoid errors like "ollow" instead of "Follow")
77+
- **Examples of good descriptions:**
78+
- "Follow these rules when the user's request involves creating, modifying, organizing, or structuring Cursor rules within the project"
79+
- "Follow these rules when the user's request involves NAT CLI commands, operations, or functionality"
80+
- "Follow these rules when the user's request involves implementing, adding, creating, or modifying functions within NAT workflows"
81+
- **Avoid overly narrow descriptions**: Don't limit to just one action when the rule covers multiple related scenarios
82+
- **Use "user's request involves" pattern**: This clearly indicates the trigger condition for the agent
83+
84+
8. Never place rule files:
85+
- In the project root
86+
- In subdirectories outside .cursor/rules
87+
- In any other location
88+
89+
9. Cursor rules have the following structure:
90+
91+
---
92+
description: Short description of the rule's purpose
93+
globs: optional/path/pattern/**/*
94+
alwaysApply: false
95+
---
96+
# Rule Title
97+
98+
Main content explaining the rule with markdown formatting.
99+
100+
1. Step-by-step instructions
101+
2. Code examples
102+
3. Guidelines
103+
Example:
104+
```python
105+
# Good example
106+
async def good_example_function():
107+
"""Implementation following NeMo Agent Toolkit guidelines."""
108+
# Use async/await for I/O operations
109+
# Follow snake_case naming convention
110+
# Include proper type hints and docstrings
111+
pass
112+
113+
# Bad example
114+
def badExample():
115+
# Missing async, type hints, and docstring
116+
# Uses camelCase instead of snake_case
117+
pass
118+
```
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
---
2+
description:
3+
globs: **/*.md
4+
alwaysApply: false
5+
---
6+
# Capitalization Guidelines
7+
8+
Capitalize proper names of products, features, pages, and tools. In step-by-step instructions, match the exact capitalization of UI elements. Don't capitalize words that are not proper nouns solely for emphasis.
9+
10+
## Basic Capitalization Rules
11+
12+
### Always Capitalize
13+
14+
#### First Word of Sentences
15+
- Always capitalize the first word of every sentence
16+
- **Examples**: "The cat is sleeping." "Where did I put that book?"
17+
18+
#### Proper Nouns
19+
- **People's names**: Jane Austen, Tom, Diane
20+
- **Places**: Southern California, San Diego, New York City
21+
- **Companies**: NVIDIA, Microsoft, Google
22+
- **Religions**: Catholic, Buddhist, Jewish
23+
- **Political parties**: Democratic Party, Republican Party
24+
- **Products**: CUDA, TensorRT, Agent toolkit
25+
26+
#### Names Used as Forms of Address
27+
- **Correct**: "Just wait until Mom sees this!"
28+
- **Incorrect**: "My mom is not going to like this." (not a form of address)
29+
30+
#### Days, Months, and Holidays
31+
- **Days**: Monday, Tuesday, Wednesday
32+
- **Months**: January, February, March
33+
- **Holidays**: Christmas, Valentine's Day, New Year's Day
34+
- **Don't capitalize seasons**: spring, summer, fall, winter
35+
36+
#### Cities, Countries, Nationalities, and Languages
37+
- **Cities**: London, Tokyo, San Francisco
38+
- **Countries**: United States, Canada, Japan
39+
- **Nationalities**: American, Canadian, Japanese
40+
- **Languages**: English, Spanish, Mandarin
41+
42+
#### Time Periods and Historical Events (with proper names)
43+
- **Historical events**: World War I, Middle Ages, Roaring Twenties
44+
- **Don't capitalize centuries**: sixteenth century, twenty-first century
45+
46+
#### Time Zones
47+
- **Full names**: Eastern Time, Pacific Time, Coordinated Universal Time
48+
- **Abbreviations**: EST, EDT, PST, PDT, UTC, GMT
49+
- **Don't abbreviate** unless space is severely limited
50+
51+
### Title Capitalization
52+
53+
#### For Headings and Titles
54+
Capitalize:
55+
- **First word** (always)
56+
- **All nouns**: Requirements, Phase, Model
57+
- **All verbs** (including short ones like "is"): Configuring, Testing, Building
58+
- **All adjectives**: Quick, Advanced, Custom
59+
- **All proper nouns**: NVIDIA, vGPU, NGC
60+
61+
Don't capitalize:
62+
- **Articles**: a, an, the (unless first word)
63+
- **Conjunctions**: and, but, or (unless >5 letters or first word)
64+
- **Prepositions**: of, in, to, for (unless >5 letters or first word)
65+
66+
#### Examples
67+
- **Correct**: "Requirements for Configuring NVIDIA vGPU in a DRS Cluster"
68+
- **Correct**: "Deploying and Testing Your Text-based Bot"
69+
- **Correct**: "Uploading a Model to NGC"
70+
71+
#### Action Titles
72+
- Use gerund form (-ing) for action-oriented titles
73+
- **Example**: "Installing the Toolkit" not "Install the Toolkit"
74+
75+
### Don't Capitalize
76+
77+
#### After Colons (Usually)
78+
- **Standard**: "I have one true passion: horse racing."
79+
- **Exception - Proper noun**: "There is only one place I want to visit: New York City."
80+
- **Exception - Complete sentence**: "Maggie wears a cap for two reasons: Strong light gives her headaches. She likes how it looks."
81+
82+
#### Compound Words
83+
- **Don't capitalize** compound words unless they're proper names
84+
- **Examples**: long-term solution, up-to-date guides
85+
- **Exceptions**: In-App Advertising, In-App Messaging, In-App Purchases, In-Game Advertising
86+
87+
#### Partial Quotes
88+
- **Capitalize complete quotes**: Mario asked, "What is everyone doing this weekend?"
89+
- **Don't capitalize partial quotes**: Gretchen said she was "way too busy" to join
90+
91+
#### Domain-Specific Terms (Unless Proper Names)
92+
- **Use lowercase**: projects, applications, roles, workflows, functions
93+
- **Exception**: When referring to specific proper names of products or features
94+
95+
## Technical Documentation Specific Rules
96+
97+
### UI Elements
98+
- **Match exact capitalization** of interface elements
99+
- **Bold and italic formatting**: Select *Settings* > *Data Inputs*
100+
- **Button text**: Click **Save** or **Cancel**
101+
102+
### Code and Technical Terms
103+
- **Follow language conventions**: JavaScript (capitalize), API (all caps), JSON (all caps)
104+
- **File extensions**: Use lowercase unless following specific conventions
105+
- **Commands**: Usually lowercase unless they're proper names
106+
107+
### Product Names
108+
- **Use official capitalization**:
109+
- NVIDIA NeMo Agent toolkit (first use)
110+
- Agent toolkit (subsequent uses)
111+
- CUDA, TensorRT, PyTorch
112+
- **Don't capitalize** generic terms: database, server, application (unless part of proper name)
113+
114+
### Feature Names
115+
- **Capitalize** official feature names: Smart Search, Auto-Save, Real-time Analytics
116+
- **Don't capitalize** generic features: search functionality, automatic saving, real-time updates
117+
118+
## Common Capitalization Mistakes
119+
120+
### Don't Do These
121+
- **Don't capitalize for emphasis**: Important becomes *important* (italic) not Important
122+
- **Don't capitalize common nouns**: "The Database" should be "the database"
123+
- **Don't capitalize job titles**: software engineer, project manager (unless in formal contexts)
124+
- **Don't capitalize directions**: north, south, east, west (unless part of proper name)
125+
126+
### Special Cases
127+
128+
#### Ordinal Numbers
129+
- **Always spell out**: first, second, third, twenty-first
130+
- **Don't use**: 1st, 2nd, 3rd, 21st in dates
131+
- **Correct**: "June 21" not "June 21st"
132+
133+
#### Abbreviations and Acronyms
134+
- **Follow standard conventions**: API, REST, HTTP, URL
135+
- **Don't capitalize** unless the spelled-out form would be capitalized
136+
- **Example**: "application programming interface" → "API"
137+
138+
#### Version Numbers
139+
- **Follow product conventions**:
140+
- "version 2.1" (lowercase version)
141+
- "Python 3.9" (capitalize language name)
142+
- "CUDA 11.8" (follow product style)
143+
144+
## Best Practices
145+
146+
### Consistency
147+
- **Use the same capitalization** for the same term throughout a document
148+
- **Create a style sheet** for product-specific terms
149+
- **Follow established conventions** within your organization
150+
151+
### When in Doubt
152+
- **Check official documentation** for proper names
153+
- **Use sentence case** rather than title case for most content
154+
- **Err on the side of lowercase** for common nouns
155+
- **Be consistent** with your choices throughout the document
156+
157+
### Accessibility
158+
- **Consistent capitalization** helps screen readers
159+
- **Proper capitalization** improves searchability
160+
- **Clear conventions** reduce cognitive load for readers

0 commit comments

Comments
 (0)