Skip to content
Merged
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
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: add-dart-lint-validation-rule
description: Instructions for adding a new validation rule and CLI flag to dart-skills-lint.
description: Instructions for adding a new validation rule and CLI flag to dart_skills_lint.
---

# Add a New Validation Rule and Flag
Expand Down Expand Up @@ -100,21 +100,21 @@ test('triggers error when description does not end with period', () async {
name: 'test-skill',
description: 'This description does not end with a period',
);

final validator = Validator(rules: {descriptionTrailingPeriodCheck});
final result = await validator.validate(tempDir);

expect(result.validationErrors.any((e) => e.ruleId == 'description-trailing-period'), isTrue);
});
test('skips error when description ends with period', () async {
final tempDir = createTempSkillDir(
name: 'test-skill',
description: 'This description ends with a period.',
);

final validator = Validator(rules: {descriptionTrailingPeriodCheck});
final result = await validator.validate(tempDir);

expect(result.validationErrors.any((e) => e.ruleId == 'description-trailing-period'), isFalse);
});
```
Expand All @@ -125,10 +125,10 @@ test('skips error when description ends with period', () async {

When a new rule is introduced, verify that you synchronize sibling markdown files!

1. **`README.md`:**
1. **`README.md`:**
* Add your flag under the **Usage** and **Flags** sections so users know it exists.
* Add descriptive lines under **Specification Validation**.
2. **`documentation/knowledge/SPECIFICATION.md`:**
2. **`documentation/knowledge/SPECIFICATION.md`:**
* If the rule implements standard specifications traits, add constraints parameters under Section 5.1 (Validation parameters).

---
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Production Readiness Evaluation: `dart-skills-lint`

## Executive Summary
`dart-skills-lint` is a well-structured Dart CLI tool designed to enforce the Agent Skills specification. It demonstrates solid engineering fundamentals, including a decoupled architecture, comprehensive testing, and adherence to Dart CLI best practices. However, while the core logic is robust, it lacks several critical "production-grade" features required for broad ecosystem adoption and enterprise-level CI/CD integration.
`dart_skills_lint` is a well-structured Dart CLI tool designed to enforce the Agent Skills specification. It demonstrates solid engineering fundamentals, including a decoupled architecture, comprehensive testing, and adherence to Dart CLI best practices. However, while the core logic is robust, it lacks several critical "production-grade" features required for broad ecosystem adoption and enterprise-level CI/CD integration.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The document title on line 1 still uses the hyphenated name dart-skills-lint. For consistency with the update in this line and the overall package rename, the title should also be updated to use underscores.


**Current Status:** **Beta / Tooling Candidate**
*Suitable for internal use by Dart-savvy teams, but not yet ready for a broad, multi-language developer audience.*
Expand All @@ -17,7 +17,7 @@
- **Configuration:** Initial support for `dart_skills_lint.yaml` allows for some flexibility in rule enforcement (error vs. warning).

### 2. Required Features Missing (Gaps)
- **Distribution & Portability:**
- **Distribution & Portability:**
- No pre-compiled binaries. Users are forced to have a Dart SDK installed, which is a barrier for non-Dart developers (e.g., Python or JS agent creators).
- Not yet published to `pub.dev`.
- **Machine-Readable Output:** The tool only outputs human-readable logs. Production CI/CD pipelines often require JSON, SARIF, or JUnit XML formats for automated reporting and dashboarding.
Expand Down
File renamed without changes.
File renamed without changes.
Loading