@joshski/dust 0.1.76 → 0.1.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-events.d.ts +1 -0
- package/dist/audits.js +71 -1
- package/dist/bucket/repository-loop.d.ts +1 -0
- package/dist/dust.js +76 -2
- package/package.json +1 -1
package/dist/agent-events.d.ts
CHANGED
package/dist/audits.js
CHANGED
|
@@ -831,6 +831,75 @@ function ubiquitousLanguage() {
|
|
|
831
831
|
- [ ] Proposed ideas for standardizing inconsistent terminology
|
|
832
832
|
`;
|
|
833
833
|
}
|
|
834
|
+
function uxAudit() {
|
|
835
|
+
return dedent`
|
|
836
|
+
# UX Audit
|
|
837
|
+
|
|
838
|
+
Review the end user experience by capturing visual or interactive evidence at key scenarios.
|
|
839
|
+
|
|
840
|
+
${ideasHint}
|
|
841
|
+
|
|
842
|
+
## Scope
|
|
843
|
+
|
|
844
|
+
1. **Identify key scenarios** - What are the main user journeys? (e.g., signup, login, checkout, onboarding, core workflows)
|
|
845
|
+
2. **Capture evidence** - For each scenario:
|
|
846
|
+
- Web apps: Take screenshots at each step using browser automation (Playwright, Puppeteer, Cypress, or similar)
|
|
847
|
+
- Terminal apps: Capture command output and interactive sessions
|
|
848
|
+
3. **Review captured evidence** for UX issues:
|
|
849
|
+
- Confusing or unclear states
|
|
850
|
+
- Missing feedback or loading indicators
|
|
851
|
+
- Error messages that don't guide recovery
|
|
852
|
+
- Inconsistent styling or layout
|
|
853
|
+
4. **Document findings** with screenshots/output and specific recommendations
|
|
854
|
+
|
|
855
|
+
## Applicability
|
|
856
|
+
|
|
857
|
+
Determine the application type and available tooling:
|
|
858
|
+
- If browser tests exist (Playwright, Puppeteer, Cypress), extend them to capture screenshots
|
|
859
|
+
- If no browser tests exist, write a standalone script for key scenarios
|
|
860
|
+
- For terminal apps, capture representative sessions using command output or terminal recording
|
|
861
|
+
|
|
862
|
+
If the project has no user-facing interface, document that finding and skip the detailed analysis.
|
|
863
|
+
|
|
864
|
+
## Analysis Steps
|
|
865
|
+
|
|
866
|
+
1. Identify the application type (web, terminal, hybrid, no UI)
|
|
867
|
+
2. List the key user scenarios from documentation, tests, or code analysis
|
|
868
|
+
3. Capture screenshots or output at each stage of each scenario
|
|
869
|
+
4. Store artifacts in a temporary directory for review during this audit
|
|
870
|
+
5. Review each artifact for UX issues
|
|
871
|
+
6. Document findings with evidence and specific recommendations
|
|
872
|
+
|
|
873
|
+
## Output
|
|
874
|
+
|
|
875
|
+
For each UX issue identified, provide:
|
|
876
|
+
- **Location** - Which scenario and step
|
|
877
|
+
- **Evidence** - Screenshot filename or captured output
|
|
878
|
+
- **Problem** - What's wrong from the user's perspective
|
|
879
|
+
- **Impact** - How it affects the user's ability to complete their goal
|
|
880
|
+
- **Recommendation** - Specific fix
|
|
881
|
+
- **Verification** - How to verify the fix (e.g., "Screenshot at step 3 should show success message instead of spinner")
|
|
882
|
+
|
|
883
|
+
## Principles
|
|
884
|
+
|
|
885
|
+
- [Actionable Errors](../principles/actionable-errors.md) - Error messages should tell users what to do next
|
|
886
|
+
- [Unsurprising UX](../principles/unsurprising-ux.md) - The interface should be as guessable as possible
|
|
887
|
+
|
|
888
|
+
## Blocked By
|
|
889
|
+
|
|
890
|
+
(none)
|
|
891
|
+
|
|
892
|
+
## Definition of Done
|
|
893
|
+
|
|
894
|
+
- [ ] Identified the application type (web, terminal, hybrid, or no UI)
|
|
895
|
+
- [ ] Listed key user scenarios
|
|
896
|
+
- [ ] Captured screenshots or output at each stage of key scenarios
|
|
897
|
+
- [ ] Reviewed evidence for UX issues
|
|
898
|
+
- [ ] Documented findings with evidence and recommendations
|
|
899
|
+
- [ ] Included verification criteria for each issue
|
|
900
|
+
- [ ] Created ideas for any UX improvements needed
|
|
901
|
+
`;
|
|
902
|
+
}
|
|
834
903
|
var stockAuditFunctions = {
|
|
835
904
|
"agent-developer-experience": agentDeveloperExperience,
|
|
836
905
|
"component-reuse": componentReuse,
|
|
@@ -849,7 +918,8 @@ var stockAuditFunctions = {
|
|
|
849
918
|
"slow-tests": slowTests,
|
|
850
919
|
"stale-ideas": staleIdeas,
|
|
851
920
|
"test-coverage": testCoverage,
|
|
852
|
-
"ubiquitous-language": ubiquitousLanguage
|
|
921
|
+
"ubiquitous-language": ubiquitousLanguage,
|
|
922
|
+
"ux-audit": uxAudit
|
|
853
923
|
};
|
|
854
924
|
function loadStockAudits() {
|
|
855
925
|
return Object.entries(stockAuditFunctions).sort(([a], [b]) => a.localeCompare(b)).map(([name, render]) => {
|
package/dist/dust.js
CHANGED
|
@@ -275,7 +275,7 @@ async function loadSettings(cwd, fileSystem) {
|
|
|
275
275
|
}
|
|
276
276
|
|
|
277
277
|
// lib/version.ts
|
|
278
|
-
var DUST_VERSION = "0.1.
|
|
278
|
+
var DUST_VERSION = "0.1.77";
|
|
279
279
|
|
|
280
280
|
// lib/session.ts
|
|
281
281
|
var DUST_UNATTENDED = "DUST_UNATTENDED";
|
|
@@ -1378,6 +1378,75 @@ function ubiquitousLanguage() {
|
|
|
1378
1378
|
- [ ] Proposed ideas for standardizing inconsistent terminology
|
|
1379
1379
|
`;
|
|
1380
1380
|
}
|
|
1381
|
+
function uxAudit() {
|
|
1382
|
+
return dedent`
|
|
1383
|
+
# UX Audit
|
|
1384
|
+
|
|
1385
|
+
Review the end user experience by capturing visual or interactive evidence at key scenarios.
|
|
1386
|
+
|
|
1387
|
+
${ideasHint}
|
|
1388
|
+
|
|
1389
|
+
## Scope
|
|
1390
|
+
|
|
1391
|
+
1. **Identify key scenarios** - What are the main user journeys? (e.g., signup, login, checkout, onboarding, core workflows)
|
|
1392
|
+
2. **Capture evidence** - For each scenario:
|
|
1393
|
+
- Web apps: Take screenshots at each step using browser automation (Playwright, Puppeteer, Cypress, or similar)
|
|
1394
|
+
- Terminal apps: Capture command output and interactive sessions
|
|
1395
|
+
3. **Review captured evidence** for UX issues:
|
|
1396
|
+
- Confusing or unclear states
|
|
1397
|
+
- Missing feedback or loading indicators
|
|
1398
|
+
- Error messages that don't guide recovery
|
|
1399
|
+
- Inconsistent styling or layout
|
|
1400
|
+
4. **Document findings** with screenshots/output and specific recommendations
|
|
1401
|
+
|
|
1402
|
+
## Applicability
|
|
1403
|
+
|
|
1404
|
+
Determine the application type and available tooling:
|
|
1405
|
+
- If browser tests exist (Playwright, Puppeteer, Cypress), extend them to capture screenshots
|
|
1406
|
+
- If no browser tests exist, write a standalone script for key scenarios
|
|
1407
|
+
- For terminal apps, capture representative sessions using command output or terminal recording
|
|
1408
|
+
|
|
1409
|
+
If the project has no user-facing interface, document that finding and skip the detailed analysis.
|
|
1410
|
+
|
|
1411
|
+
## Analysis Steps
|
|
1412
|
+
|
|
1413
|
+
1. Identify the application type (web, terminal, hybrid, no UI)
|
|
1414
|
+
2. List the key user scenarios from documentation, tests, or code analysis
|
|
1415
|
+
3. Capture screenshots or output at each stage of each scenario
|
|
1416
|
+
4. Store artifacts in a temporary directory for review during this audit
|
|
1417
|
+
5. Review each artifact for UX issues
|
|
1418
|
+
6. Document findings with evidence and specific recommendations
|
|
1419
|
+
|
|
1420
|
+
## Output
|
|
1421
|
+
|
|
1422
|
+
For each UX issue identified, provide:
|
|
1423
|
+
- **Location** - Which scenario and step
|
|
1424
|
+
- **Evidence** - Screenshot filename or captured output
|
|
1425
|
+
- **Problem** - What's wrong from the user's perspective
|
|
1426
|
+
- **Impact** - How it affects the user's ability to complete their goal
|
|
1427
|
+
- **Recommendation** - Specific fix
|
|
1428
|
+
- **Verification** - How to verify the fix (e.g., "Screenshot at step 3 should show success message instead of spinner")
|
|
1429
|
+
|
|
1430
|
+
## Principles
|
|
1431
|
+
|
|
1432
|
+
- [Actionable Errors](../principles/actionable-errors.md) - Error messages should tell users what to do next
|
|
1433
|
+
- [Unsurprising UX](../principles/unsurprising-ux.md) - The interface should be as guessable as possible
|
|
1434
|
+
|
|
1435
|
+
## Blocked By
|
|
1436
|
+
|
|
1437
|
+
(none)
|
|
1438
|
+
|
|
1439
|
+
## Definition of Done
|
|
1440
|
+
|
|
1441
|
+
- [ ] Identified the application type (web, terminal, hybrid, or no UI)
|
|
1442
|
+
- [ ] Listed key user scenarios
|
|
1443
|
+
- [ ] Captured screenshots or output at each stage of key scenarios
|
|
1444
|
+
- [ ] Reviewed evidence for UX issues
|
|
1445
|
+
- [ ] Documented findings with evidence and recommendations
|
|
1446
|
+
- [ ] Included verification criteria for each issue
|
|
1447
|
+
- [ ] Created ideas for any UX improvements needed
|
|
1448
|
+
`;
|
|
1449
|
+
}
|
|
1381
1450
|
var stockAuditFunctions = {
|
|
1382
1451
|
"agent-developer-experience": agentDeveloperExperience,
|
|
1383
1452
|
"component-reuse": componentReuse,
|
|
@@ -1396,7 +1465,8 @@ var stockAuditFunctions = {
|
|
|
1396
1465
|
"slow-tests": slowTests,
|
|
1397
1466
|
"stale-ideas": staleIdeas,
|
|
1398
1467
|
"test-coverage": testCoverage,
|
|
1399
|
-
"ubiquitous-language": ubiquitousLanguage
|
|
1468
|
+
"ubiquitous-language": ubiquitousLanguage,
|
|
1469
|
+
"ux-audit": uxAudit
|
|
1400
1470
|
};
|
|
1401
1471
|
function loadStockAudits() {
|
|
1402
1472
|
return Object.entries(stockAuditFunctions).sort(([a], [b]) => a.localeCompare(b)).map(([name, render]) => {
|
|
@@ -2877,6 +2947,9 @@ function buildEventMessage(parameters) {
|
|
|
2877
2947
|
repository: parameters.repository,
|
|
2878
2948
|
event: parameters.event
|
|
2879
2949
|
};
|
|
2950
|
+
if (parameters.repoId !== undefined) {
|
|
2951
|
+
msg.repoId = parameters.repoId;
|
|
2952
|
+
}
|
|
2880
2953
|
if (parameters.agentSessionId) {
|
|
2881
2954
|
msg.agentSessionId = parameters.agentSessionId;
|
|
2882
2955
|
}
|
|
@@ -2962,6 +3035,7 @@ async function runRepositoryLoop(repoState, repoDeps, sendEvent, sessionId) {
|
|
|
2962
3035
|
sequence,
|
|
2963
3036
|
sessionId,
|
|
2964
3037
|
repository: repoName,
|
|
3038
|
+
repoId: repoState.repository.id,
|
|
2965
3039
|
event,
|
|
2966
3040
|
agentSessionId
|
|
2967
3041
|
}));
|