BoardLint
Quality checker for Azure Boards work items. BoardLint scans your active work items using local rules and reports:
- Duplicate tasks — items with very similar titles under the same work item type.
- Unclear user stories — titles that are too short, miss the "As a / I want / so that" pattern, or use vague words.
- Missing acceptance criteria — items that cannot be verified as done.
- Parent items without children — Features or Epics with no linked child work.
- Orphan work items — Tasks and User Stories with no parent and no children.
All checks run locally in the browser tab. BoardLint reads work items through the Azure DevOps REST API using your existing session token, sends no data outside your organization, and never modifies any work item.
Installation
- Download the
.vsix from the Releases page.
- In Azure DevOps, go to Organization settings → Extensions.
- Click Browse, choose the
.vsix file, and upload it.
- Add the BoardLint hub to your project's overview page.
Permissions
BoardLint requests only vso.work (read work items). It does not:
- Write or delete any work item.
- Access code, builds, releases, or pipelines.
- Send data to any external service.
Rules
| Rule |
Severity |
What it checks |
| Unclear User Story |
Warning |
Short titles, missing user-story pattern, vague words |
| Missing Acceptance Criteria |
Warning |
No acceptance criteria defined |
| Duplicate Task |
Warning |
Similar titles within the same work item type |
| Parent Item Without Children |
Info |
Feature/Epic with no linked children |
| Orphan Work Item |
Info |
Task/User Story with no parent and no children |
Every rule includes a suggestion for how to fix the issue.
Privacy
BoardLint reads work item data from your Azure DevOps organization using the signed-in user's access token. No data is stored, logged, or transmitted outside the build session. For details, see SECURITY.md.
Support
Open an issue in the extension's GitHub repository or contact the publisher through the Visual Studio Marketplace listing.
Maintenance
This extension is actively maintained. Issues receive a first response within 7 days. If the extension is ever discontinued, a 90-day notice will be published before delisting.