Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/cuddly-ants-look.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@smartthings/cli": major
---

refactor to use yargs
2 changes: 1 addition & 1 deletion .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ module.exports = {
parserOptions: {
ecmaVersion: 2019,
tsconfigRootDir: __dirname,
project: ['./tsconfig.json', './tsconfig-test.json'],
project: ['./tsconfig.json'],
},
rules: {
indent: 'off',
Expand Down
29 changes: 29 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# TypeScript Project Coding Standards

You are an expert TypeScript developer. When generating code for this project, adhere to the following naming conventions and architectural rules.

## General Guidelines
- **Respond Specifically to Prompts**: Never do things not explicitly requested.

## Variable Naming Rules
- **No Single-Letter Variables:** Never use single-letter variable names (e.g., `i`, `e`, `v`, `k`, `v`).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's an extra v here.

- **Descriptive Naming:** Use clear, descriptive names that convey the intent and data type of the variable.
- **Loop Iterators:** Instead of `i`, use `index`. Instead of `e`, use a specific name like `user` or `account`.
- **Error Handling:** Use `error` instead of `e` in catch blocks.

## TypeScript Best Practices
- **Strict Typing:** Avoid the `any` type if at all possible. Use `unknown` if the type is truly dynamic, or define proper `Interfaces` and `Types`.
- **Functional Approach:** Prefer `map`, `filter`, and `reduce` over traditional `for` loops where readability is maintained.
- **Explicit Returns:** Always define explicit return types for functions to ensure type safety across the boundary.

## Examples

### Incorrect
```typescript
const data = list.map(x => x.id);

try {
// ...
} catch (e) {
console.error(e);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should there be a "Correct" example as well? Or is that just extra useless tokens for the AI to process?

Loading