@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.
@@ -30,6 +30,7 @@ export interface EventMessage {
30
30
  timestamp: string;
31
31
  sessionId: string;
32
32
  repository: string;
33
+ repoId?: number;
33
34
  agentSessionId?: string;
34
35
  event: AgentSessionEvent;
35
36
  }
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]) => {
@@ -30,6 +30,7 @@ export declare function buildEventMessage(parameters: {
30
30
  sequence: number;
31
31
  sessionId: string;
32
32
  repository: string;
33
+ repoId?: number;
33
34
  event: AgentSessionEvent;
34
35
  agentSessionId?: string;
35
36
  }): EventMessage;
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.76";
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
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joshski/dust",
3
- "version": "0.1.76",
3
+ "version": "0.1.77",
4
4
  "description": "Flow state for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {