@haus-tech/haus-workflow 0.11.1 → 0.12.1
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/CHANGELOG.md +36 -8
- package/README.md +40 -9
- package/dist/cli.js +1444 -822
- package/library/catalog/manifest.json +90 -74
- package/library/catalog/{allowed-stacks.json → validation-rules.json} +42 -2
- package/library/global/commands/haus-doctor.md +10 -0
- package/library/global/commands/haus-fix.md +12 -0
- package/library/global/commands/haus-setup.md +28 -0
- package/library/global/settings-fragments/hooks.json +0 -6
- package/library/global/skills/haus-workflow/SKILL.md +81 -41
- package/package.json +10 -10
- package/scripts/postinstall.mjs +62 -0
- package/tests/README.md +5 -21
- package/tests/fixtures/catalog/manifest.json +0 -19
- package/library/catalog/sources.yaml +0 -411
- package/library/global/agents/haus-code-reviewer.md +0 -28
- package/library/global/agents/haus-docs-researcher.md +0 -27
- package/library/global/agents/haus-planner.md +0 -27
- package/library/global/agents/haus-security-reviewer.md +0 -27
- package/library/global/agents/haus-test-reviewer.md +0 -27
- package/library/global/templates/agentic-workflow-standard.md +0 -279
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
2
|
+
"version": "2.3.0",
|
|
3
3
|
"items": [
|
|
4
|
-
{
|
|
5
|
-
"id": "haus.global-engineering-rules",
|
|
6
|
-
"version": "1.0.0",
|
|
7
|
-
"source": "haus",
|
|
8
|
-
"type": "skill",
|
|
9
|
-
"path": "skills/global-engineering-rules",
|
|
10
|
-
"title": "Haus global engineering rules",
|
|
11
|
-
"purpose": "Provide baseline deterministic engineering, validation, and security guardrails.",
|
|
12
|
-
"whenToUse": "Use as default baseline in supported Haus workflows.",
|
|
13
|
-
"whenNotToUse": "Do not use for unsupported stacks or non-development workflows.",
|
|
14
|
-
"references": ["references/conventions.md"],
|
|
15
|
-
"safetyNotes": ["Never read secrets or customer exports."],
|
|
16
|
-
"tokenBudget": 1800,
|
|
17
|
-
"tags": ["haus", "quality", "security"],
|
|
18
|
-
"repoRoles": [],
|
|
19
|
-
"requiresAny": [],
|
|
20
|
-
"tokenEstimate": 1800,
|
|
21
|
-
"installMode": "copy-selected",
|
|
22
|
-
"default": true,
|
|
23
|
-
"reviewStatus": "approved",
|
|
24
|
-
"riskLevel": "low"
|
|
25
|
-
},
|
|
26
4
|
{
|
|
27
5
|
"id": "haus.nextjs-patterns",
|
|
28
6
|
"version": "1.0.0",
|
|
29
7
|
"source": "haus",
|
|
30
8
|
"type": "skill",
|
|
31
|
-
"path": "skills/nextjs-patterns",
|
|
9
|
+
"path": "skills/haus-owned/stack-patterns/nextjs-patterns",
|
|
32
10
|
"title": "Haus Next.js patterns",
|
|
33
11
|
"purpose": "Guide Next.js route, server/client boundary, and middleware-safe changes.",
|
|
34
12
|
"whenToUse": "Use for App Router pages, layouts, route handlers, and middleware behavior updates.",
|
|
@@ -61,7 +39,7 @@
|
|
|
61
39
|
"version": "1.0.0",
|
|
62
40
|
"source": "haus",
|
|
63
41
|
"type": "skill",
|
|
64
|
-
"path": "skills/react19-patterns",
|
|
42
|
+
"path": "skills/haus-owned/stack-patterns/react19-patterns",
|
|
65
43
|
"title": "Haus React 19 patterns",
|
|
66
44
|
"purpose": "Guide React component, hook, and state-boundary changes.",
|
|
67
45
|
"whenToUse": "Use for React component behavior, hooks, and UI state flow updates.",
|
|
@@ -94,7 +72,7 @@
|
|
|
94
72
|
"version": "1.1.0",
|
|
95
73
|
"source": "haus",
|
|
96
74
|
"type": "skill",
|
|
97
|
-
"path": "skills/typescript5-patterns",
|
|
75
|
+
"path": "skills/haus-owned/stack-patterns/typescript5-patterns",
|
|
98
76
|
"title": "Haus TypeScript 5 patterns",
|
|
99
77
|
"purpose": "Guide TypeScript contract and migration-safe typing changes.",
|
|
100
78
|
"whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
|
|
@@ -137,7 +115,7 @@
|
|
|
137
115
|
"version": "1.0.0",
|
|
138
116
|
"source": "haus",
|
|
139
117
|
"type": "skill",
|
|
140
|
-
"path": "skills/vite8-patterns",
|
|
118
|
+
"path": "skills/haus-owned/stack-patterns/vite8-patterns",
|
|
141
119
|
"title": "Haus Vite 8 patterns",
|
|
142
120
|
"purpose": "Guide Vite config, plugin wiring, and deterministic build pipeline changes.",
|
|
143
121
|
"whenToUse": "Use for vite config, alias/plugin, and build mode behavior updates.",
|
|
@@ -171,7 +149,7 @@
|
|
|
171
149
|
"version": "1.0.0",
|
|
172
150
|
"source": "haus",
|
|
173
151
|
"type": "skill",
|
|
174
|
-
"path": "skills/react-router-v7-patterns",
|
|
152
|
+
"path": "skills/haus-owned/stack-patterns/react-router-v7-patterns",
|
|
175
153
|
"title": "Haus React Router v7 patterns",
|
|
176
154
|
"purpose": "Guide React Router v7 SSR route, loader, and action boundary changes.",
|
|
177
155
|
"whenToUse": "Use for routes, loaders, actions, and SSR config in React Router v7 apps.",
|
|
@@ -207,7 +185,7 @@
|
|
|
207
185
|
"version": "1.0.0",
|
|
208
186
|
"source": "haus",
|
|
209
187
|
"type": "skill",
|
|
210
|
-
"path": "skills/expo-react-native-patterns",
|
|
188
|
+
"path": "skills/haus-owned/stack-patterns/expo-react-native-patterns",
|
|
211
189
|
"title": "Haus Expo / React Native patterns",
|
|
212
190
|
"purpose": "Guide Expo Router, React Native component, native module, and EAS build changes.",
|
|
213
191
|
"whenToUse": "Use for Expo Router routes, RN components, native modules, expo config plugins, and EAS build/submit.",
|
|
@@ -249,7 +227,7 @@
|
|
|
249
227
|
"version": "1.0.0",
|
|
250
228
|
"source": "haus",
|
|
251
229
|
"type": "skill",
|
|
252
|
-
"path": "skills/i18next-patterns",
|
|
230
|
+
"path": "skills/haus-owned/stack-patterns/i18next-patterns",
|
|
253
231
|
"title": "Haus i18next patterns",
|
|
254
232
|
"purpose": "Guide i18next setup, namespace structure, translation key conventions, and SSR-safe usage.",
|
|
255
233
|
"whenToUse": "Use for adding/changing translations, configuring i18next, or wiring react-i18next / next-i18next.",
|
|
@@ -285,7 +263,7 @@
|
|
|
285
263
|
"version": "1.0.0",
|
|
286
264
|
"source": "haus",
|
|
287
265
|
"type": "skill",
|
|
288
|
-
"path": "skills/bullmq-patterns",
|
|
266
|
+
"path": "skills/haus-owned/stack-patterns/bullmq-patterns",
|
|
289
267
|
"title": "Haus BullMQ patterns",
|
|
290
268
|
"purpose": "Guide BullMQ queue, worker, scheduler, and Redis-connection lifecycle changes.",
|
|
291
269
|
"whenToUse": "Use for BullMQ queue definitions, processors, schedulers, and graceful shutdown.",
|
|
@@ -318,7 +296,7 @@
|
|
|
318
296
|
"version": "1.0.0",
|
|
319
297
|
"source": "haus",
|
|
320
298
|
"type": "skill",
|
|
321
|
-
"path": "skills/sentry-patterns",
|
|
299
|
+
"path": "skills/haus-owned/stack-patterns/sentry-patterns",
|
|
322
300
|
"title": "Haus Sentry patterns",
|
|
323
301
|
"purpose": "Guide Sentry SDK setup, error capture, performance tracing, and PII scrubbing.",
|
|
324
302
|
"whenToUse": "Use for `@sentry/*` SDK init, scope/breadcrumb config, source map upload, and PII redaction.",
|
|
@@ -357,7 +335,7 @@
|
|
|
357
335
|
"version": "1.1.0",
|
|
358
336
|
"source": "haus",
|
|
359
337
|
"type": "skill",
|
|
360
|
-
"path": "skills/prettier-setup",
|
|
338
|
+
"path": "skills/haus-owned/config-setups/prettier-setup",
|
|
361
339
|
"title": "Haus Prettier setup",
|
|
362
340
|
"purpose": "Install `@haus-tech/tech-config` and wire `.prettierrc` to the shared prettier config via the `/prettier` subpath export.",
|
|
363
341
|
"whenToUse": "Use when Prettier is missing from a haus repo, when migrating an ad-hoc config, or when migrating from the deprecated `@haus-tech/prettier-config`.",
|
|
@@ -382,7 +360,7 @@
|
|
|
382
360
|
"version": "1.1.0",
|
|
383
361
|
"source": "haus",
|
|
384
362
|
"type": "skill",
|
|
385
|
-
"path": "skills/eslint-setup",
|
|
363
|
+
"path": "skills/haus-owned/config-setups/eslint-setup",
|
|
386
364
|
"title": "Haus ESLint setup",
|
|
387
365
|
"purpose": "Install `@haus-tech/tech-config` and wire ESLint flat config to the shared rules.",
|
|
388
366
|
"whenToUse": "Use when ESLint is missing from a haus repo or migrating from a legacy `.eslintrc` to flat config.",
|
|
@@ -407,7 +385,7 @@
|
|
|
407
385
|
"version": "1.0.0",
|
|
408
386
|
"source": "haus",
|
|
409
387
|
"type": "skill",
|
|
410
|
-
"path": "skills/stripe-patterns",
|
|
388
|
+
"path": "skills/haus-owned/stack-patterns/stripe-patterns",
|
|
411
389
|
"title": "Haus Stripe patterns",
|
|
412
390
|
"purpose": "Guide Stripe Elements, Checkout, webhook handling, and PCI-safe integration changes.",
|
|
413
391
|
"whenToUse": "Use for `@stripe/stripe-js` / `@stripe/react-stripe-js` integrations, payment intents, webhooks, and Checkout.",
|
|
@@ -443,7 +421,7 @@
|
|
|
443
421
|
"version": "1.0.0",
|
|
444
422
|
"source": "haus",
|
|
445
423
|
"type": "skill",
|
|
446
|
-
"path": "skills/qliro-patterns",
|
|
424
|
+
"path": "skills/haus-owned/stack-patterns/qliro-patterns",
|
|
447
425
|
"title": "Haus Qliro patterns",
|
|
448
426
|
"purpose": "Guide Qliro Checkout integration via @haus-tech/qliro-plugin in Vendure storefronts.",
|
|
449
427
|
"whenToUse": "Use for Qliro Checkout flow, order callbacks, refund handling, and merchant API config.",
|
|
@@ -471,7 +449,7 @@
|
|
|
471
449
|
"version": "1.0.0",
|
|
472
450
|
"source": "haus",
|
|
473
451
|
"type": "skill",
|
|
474
|
-
"path": "skills/supabase-patterns",
|
|
452
|
+
"path": "skills/haus-owned/stack-patterns/supabase-patterns",
|
|
475
453
|
"title": "Haus Supabase patterns",
|
|
476
454
|
"purpose": "Guide Supabase client wiring, Row-Level Security, edge functions, and auth integration.",
|
|
477
455
|
"whenToUse": "Use for `@supabase/supabase-js` queries, RLS policies, edge functions, and Supabase Auth flows.",
|
|
@@ -507,7 +485,7 @@
|
|
|
507
485
|
"version": "1.0.0",
|
|
508
486
|
"source": "haus",
|
|
509
487
|
"type": "skill",
|
|
510
|
-
"path": "skills/sanity-patterns",
|
|
488
|
+
"path": "skills/haus-owned/stack-patterns/sanity-patterns",
|
|
511
489
|
"title": "Haus Sanity patterns",
|
|
512
490
|
"purpose": "Guide Sanity v3/v5 schema, Studio config, GROQ query, and Next.js integration changes.",
|
|
513
491
|
"whenToUse": "Use for Sanity schema, Studio plugin, GROQ query, or next-sanity integration updates.",
|
|
@@ -546,7 +524,7 @@
|
|
|
546
524
|
"version": "1.0.0",
|
|
547
525
|
"source": "haus",
|
|
548
526
|
"type": "skill",
|
|
549
|
-
"path": "skills/strapi-patterns",
|
|
527
|
+
"path": "skills/haus-owned/stack-patterns/strapi-patterns",
|
|
550
528
|
"title": "Haus Strapi patterns",
|
|
551
529
|
"purpose": "Guide Strapi v5 content type, controller, service, and policy changes.",
|
|
552
530
|
"whenToUse": "Use for Strapi content type schemas, controllers, services, and policies in v5.",
|
|
@@ -582,7 +560,7 @@
|
|
|
582
560
|
"version": "1.0.0",
|
|
583
561
|
"source": "haus",
|
|
584
562
|
"type": "skill",
|
|
585
|
-
"path": "skills/prisma-patterns",
|
|
563
|
+
"path": "skills/haus-owned/stack-patterns/prisma-patterns",
|
|
586
564
|
"title": "Haus Prisma patterns",
|
|
587
565
|
"purpose": "Guide Prisma schema, migration, and query-safe ORM changes.",
|
|
588
566
|
"whenToUse": "Use for prisma/schema.prisma updates, migrations, and PrismaClient query changes.",
|
|
@@ -618,7 +596,7 @@
|
|
|
618
596
|
"version": "1.0.0",
|
|
619
597
|
"source": "haus",
|
|
620
598
|
"type": "skill",
|
|
621
|
-
"path": "skills/vendure-plugin-patterns",
|
|
599
|
+
"path": "skills/haus-owned/stack-patterns/vendure-plugin-patterns",
|
|
622
600
|
"title": "Haus Vendure plugin patterns",
|
|
623
601
|
"purpose": "Guide Vendure plugin boundary, schema, and migration-safe development.",
|
|
624
602
|
"whenToUse": "Use for Vendure plugin resolvers, services, entities, and plugin migrations.",
|
|
@@ -654,7 +632,7 @@
|
|
|
654
632
|
"version": "1.0.0",
|
|
655
633
|
"source": "haus",
|
|
656
634
|
"type": "skill",
|
|
657
|
-
"path": "skills/laravel-patterns",
|
|
635
|
+
"path": "skills/haus-owned/stack-patterns/laravel-patterns",
|
|
658
636
|
"title": "Haus Laravel patterns",
|
|
659
637
|
"purpose": "Guide Laravel domain, routing, policy, and persistence changes.",
|
|
660
638
|
"whenToUse": "Use for Laravel controllers/services/models/jobs/policies and route changes.",
|
|
@@ -687,7 +665,7 @@
|
|
|
687
665
|
"version": "1.0.0",
|
|
688
666
|
"source": "haus",
|
|
689
667
|
"type": "skill",
|
|
690
|
-
"path": "skills/wordpress-patterns",
|
|
668
|
+
"path": "skills/haus-owned/stack-patterns/wordpress-patterns",
|
|
691
669
|
"title": "Haus WordPress patterns",
|
|
692
670
|
"purpose": "Guide WordPress hook/template/plugin/theme runtime changes.",
|
|
693
671
|
"whenToUse": "Use for WordPress hook/filter/template/plugin/theme behavior updates.",
|
|
@@ -720,7 +698,7 @@
|
|
|
720
698
|
"version": "1.0.0",
|
|
721
699
|
"source": "haus",
|
|
722
700
|
"type": "skill",
|
|
723
|
-
"path": "skills/dotnet-patterns",
|
|
701
|
+
"path": "skills/haus-owned/stack-patterns/dotnet-patterns",
|
|
724
702
|
"title": "Haus .NET patterns",
|
|
725
703
|
"purpose": "Guide .NET API/service/domain/persistence layer changes.",
|
|
726
704
|
"whenToUse": "Use for .NET service and endpoint behavior changes with domain impact.",
|
|
@@ -745,7 +723,7 @@
|
|
|
745
723
|
"version": "1.0.0",
|
|
746
724
|
"source": "haus",
|
|
747
725
|
"type": "skill",
|
|
748
|
-
"path": "skills/playwright-patterns",
|
|
726
|
+
"path": "skills/haus-owned/stack-patterns/playwright-patterns",
|
|
749
727
|
"title": "Haus Playwright workflow",
|
|
750
728
|
"purpose": "Guide deterministic E2E browser test flow changes.",
|
|
751
729
|
"whenToUse": "Use for Playwright specs, fixtures, and browser test stability work.",
|
|
@@ -778,7 +756,7 @@
|
|
|
778
756
|
"version": "1.0.0",
|
|
779
757
|
"source": "haus",
|
|
780
758
|
"type": "agent",
|
|
781
|
-
"path": "agents/code-reviewer.md",
|
|
759
|
+
"path": "agents/haus-owned/code-reviewer.md",
|
|
782
760
|
"title": "Haus code reviewer agent",
|
|
783
761
|
"tags": ["review", "quality", "security"],
|
|
784
762
|
"repoRoles": [],
|
|
@@ -794,7 +772,7 @@
|
|
|
794
772
|
"version": "1.0.0",
|
|
795
773
|
"source": "haus",
|
|
796
774
|
"type": "agent",
|
|
797
|
-
"path": "agents/test-reviewer.md",
|
|
775
|
+
"path": "agents/haus-owned/test-reviewer.md",
|
|
798
776
|
"title": "Haus test reviewer agent",
|
|
799
777
|
"tags": ["review", "testing", "quality"],
|
|
800
778
|
"repoRoles": [],
|
|
@@ -809,7 +787,7 @@
|
|
|
809
787
|
"version": "1.0.0",
|
|
810
788
|
"source": "haus",
|
|
811
789
|
"type": "agent",
|
|
812
|
-
"path": "agents/security-reviewer.md",
|
|
790
|
+
"path": "agents/haus-owned/security-reviewer.md",
|
|
813
791
|
"title": "Haus security reviewer agent",
|
|
814
792
|
"tags": ["review", "security"],
|
|
815
793
|
"repoRoles": [],
|
|
@@ -824,7 +802,7 @@
|
|
|
824
802
|
"version": "1.0.0",
|
|
825
803
|
"source": "haus",
|
|
826
804
|
"type": "agent",
|
|
827
|
-
"path": "agents/docs-researcher.md",
|
|
805
|
+
"path": "agents/haus-owned/docs-researcher.md",
|
|
828
806
|
"title": "Haus docs researcher agent",
|
|
829
807
|
"tags": ["review", "quality", "workflow"],
|
|
830
808
|
"repoRoles": [],
|
|
@@ -839,7 +817,7 @@
|
|
|
839
817
|
"version": "1.0.0",
|
|
840
818
|
"source": "haus",
|
|
841
819
|
"type": "agent",
|
|
842
|
-
"path": "agents/planner.md",
|
|
820
|
+
"path": "agents/haus-owned/planner.md",
|
|
843
821
|
"title": "Haus planner agent",
|
|
844
822
|
"tags": ["workflow", "quality", "review"],
|
|
845
823
|
"repoRoles": [],
|
|
@@ -854,7 +832,7 @@
|
|
|
854
832
|
"version": "1.0.0",
|
|
855
833
|
"source": "haus",
|
|
856
834
|
"type": "skill",
|
|
857
|
-
"path": "skills/vendure-app-patterns",
|
|
835
|
+
"path": "skills/haus-owned/stack-patterns/vendure-app-patterns",
|
|
858
836
|
"title": "Haus Vendure app patterns",
|
|
859
837
|
"purpose": "Guide Vendure app-level config, worker, bootstrap, and plugin wiring changes.",
|
|
860
838
|
"whenToUse": "Use for Vendure app config, worker, bootstrap, and system wiring updates.",
|
|
@@ -887,7 +865,7 @@
|
|
|
887
865
|
"version": "1.0.0",
|
|
888
866
|
"source": "haus",
|
|
889
867
|
"type": "skill",
|
|
890
|
-
"path": "skills/nestjs-graphql-patterns",
|
|
868
|
+
"path": "skills/haus-owned/stack-patterns/nestjs-graphql-patterns",
|
|
891
869
|
"title": "Haus NestJS GraphQL patterns",
|
|
892
870
|
"purpose": "Guide resolver/module/guard/DTO-safe GraphQL implementation in NestJS.",
|
|
893
871
|
"whenToUse": "Use for NestJS GraphQL resolver, module, DTO/input, and guard changes.",
|
|
@@ -923,7 +901,7 @@
|
|
|
923
901
|
"version": "1.0.0",
|
|
924
902
|
"source": "haus",
|
|
925
903
|
"type": "skill",
|
|
926
|
-
"path": "skills/nx21-monorepo-patterns",
|
|
904
|
+
"path": "skills/haus-owned/stack-patterns/nx21-monorepo-patterns",
|
|
927
905
|
"title": "Haus Nx 21 monorepo patterns",
|
|
928
906
|
"purpose": "Guide Nx project graph, target pipeline, and workspace boundaries.",
|
|
929
907
|
"whenToUse": "Use for Nx workspace graph, target, and generator configuration updates.",
|
|
@@ -959,7 +937,7 @@
|
|
|
959
937
|
"version": "1.0.0",
|
|
960
938
|
"source": "haus",
|
|
961
939
|
"type": "skill",
|
|
962
|
-
"path": "skills/turbo-monorepo-patterns",
|
|
940
|
+
"path": "skills/haus-owned/stack-patterns/turbo-monorepo-patterns",
|
|
963
941
|
"title": "Haus Turbo monorepo patterns",
|
|
964
942
|
"purpose": "Guide Turbo pipeline and cache-safe monorepo orchestration changes.",
|
|
965
943
|
"whenToUse": "Use for turbo pipeline graph and package task orchestration updates.",
|
|
@@ -992,7 +970,7 @@
|
|
|
992
970
|
"version": "1.0.0",
|
|
993
971
|
"source": "haus",
|
|
994
972
|
"type": "skill",
|
|
995
|
-
"path": "skills/tanstack-query-router-patterns",
|
|
973
|
+
"path": "skills/haus-owned/stack-patterns/tanstack-query-router-patterns",
|
|
996
974
|
"title": "Haus TanStack query/router patterns",
|
|
997
975
|
"purpose": "Guide query key, invalidation, and route loader/data-flow changes.",
|
|
998
976
|
"whenToUse": "Use for TanStack query cache behavior and TanStack router flow updates.",
|
|
@@ -1032,7 +1010,7 @@
|
|
|
1032
1010
|
"version": "1.1.0",
|
|
1033
1011
|
"source": "haus",
|
|
1034
1012
|
"type": "skill",
|
|
1035
|
-
"path": "skills/radix-shadcn-patterns",
|
|
1013
|
+
"path": "skills/haus-owned/stack-patterns/radix-shadcn-patterns",
|
|
1036
1014
|
"title": "Haus Radix shadcn patterns",
|
|
1037
1015
|
"purpose": "Guide accessible UI primitive and wrapper behavior changes.",
|
|
1038
1016
|
"whenToUse": "Use for Radix primitive usage and shadcn wrapper updates.",
|
|
@@ -1078,7 +1056,7 @@
|
|
|
1078
1056
|
"version": "1.0.0",
|
|
1079
1057
|
"source": "haus",
|
|
1080
1058
|
"type": "skill",
|
|
1081
|
-
"path": "skills/tailwind-scss-patterns",
|
|
1059
|
+
"path": "skills/haus-owned/stack-patterns/tailwind-scss-patterns",
|
|
1082
1060
|
"title": "Haus Tailwind SCSS patterns",
|
|
1083
1061
|
"purpose": "Guide style-system-safe Tailwind and SCSS module changes.",
|
|
1084
1062
|
"whenToUse": "Use for Tailwind token/utility and SCSS module behavior updates.",
|
|
@@ -1114,7 +1092,7 @@
|
|
|
1114
1092
|
"version": "1.0.0",
|
|
1115
1093
|
"source": "haus",
|
|
1116
1094
|
"type": "skill",
|
|
1117
|
-
"path": "skills/vue-patterns",
|
|
1095
|
+
"path": "skills/haus-owned/stack-patterns/vue-patterns",
|
|
1118
1096
|
"title": "Haus Vue patterns",
|
|
1119
1097
|
"purpose": "Guide Vue component/composable/state behavior changes.",
|
|
1120
1098
|
"whenToUse": "Use for Vue component, composable, route, and state-boundary updates.",
|
|
@@ -1147,7 +1125,7 @@
|
|
|
1147
1125
|
"version": "1.0.0",
|
|
1148
1126
|
"source": "haus",
|
|
1149
1127
|
"type": "skill",
|
|
1150
|
-
"path": "skills/laravel-nova-patterns",
|
|
1128
|
+
"path": "skills/haus-owned/stack-patterns/laravel-nova-patterns",
|
|
1151
1129
|
"title": "Haus Laravel Nova patterns",
|
|
1152
1130
|
"purpose": "Guide Nova admin resources, actions, and policy-safe field behavior.",
|
|
1153
1131
|
"whenToUse": "Use for Laravel Nova resources, actions, filters, and admin UI behavior.",
|
|
@@ -1177,7 +1155,7 @@
|
|
|
1177
1155
|
"version": "1.0.0",
|
|
1178
1156
|
"source": "haus",
|
|
1179
1157
|
"type": "skill",
|
|
1180
|
-
"path": "skills/wordpress-bedrock-patterns",
|
|
1158
|
+
"path": "skills/haus-owned/stack-patterns/wordpress-bedrock-patterns",
|
|
1181
1159
|
"title": "Haus WordPress Bedrock patterns",
|
|
1182
1160
|
"purpose": "Guide Bedrock config/bootstrap and environment-aware WP deployment layout.",
|
|
1183
1161
|
"whenToUse": "Use for Bedrock config, env loading, and boot path behavior updates.",
|
|
@@ -1210,7 +1188,7 @@
|
|
|
1210
1188
|
"version": "1.1.0",
|
|
1211
1189
|
"source": "haus",
|
|
1212
1190
|
"type": "skill",
|
|
1213
|
-
"path": "skills/wordpress-acf-elementor-jetengine-patterns",
|
|
1191
|
+
"path": "skills/haus-owned/stack-patterns/wordpress-acf-elementor-jetengine-patterns",
|
|
1214
1192
|
"title": "Haus WordPress ACF Elementor JetEngine patterns",
|
|
1215
1193
|
"purpose": "Guide builder-field/meta-template wiring for ACF, Elementor Pro, and JetEngine.",
|
|
1216
1194
|
"whenToUse": "Use for ACF field groups and Elementor/JetEngine-driven dynamic template behavior.",
|
|
@@ -1255,7 +1233,7 @@
|
|
|
1255
1233
|
"version": "1.0.0",
|
|
1256
1234
|
"source": "haus",
|
|
1257
1235
|
"type": "skill",
|
|
1258
|
-
"path": "skills/dotnet-service-patterns",
|
|
1236
|
+
"path": "skills/haus-owned/stack-patterns/dotnet-service-patterns",
|
|
1259
1237
|
"title": "Haus dotnet service patterns",
|
|
1260
1238
|
"purpose": "Guide .NET service-layer contract and orchestration changes.",
|
|
1261
1239
|
"whenToUse": "Use for .NET service boundary, orchestration, and handler behavior updates.",
|
|
@@ -1283,7 +1261,7 @@
|
|
|
1283
1261
|
"version": "1.1.0",
|
|
1284
1262
|
"source": "haus",
|
|
1285
1263
|
"type": "skill",
|
|
1286
|
-
"path": "skills/auth-oidc-azure-bankid-patterns",
|
|
1264
|
+
"path": "skills/haus-owned/stack-patterns/auth-oidc-azure-bankid-patterns",
|
|
1287
1265
|
"title": "Haus enterprise auth patterns (OIDC / Azure AD / BankID / SAML2)",
|
|
1288
1266
|
"purpose": "Guide identity-provider auth flow and claim/session lifecycle changes across OIDC, Azure AD, BankID, and SAML2.",
|
|
1289
1267
|
"whenToUse": "Use for OIDC/Azure AD/BankID/SAML2 login, callback, token, claim mapping, and SP/IDP metadata updates.",
|
|
@@ -1317,7 +1295,7 @@
|
|
|
1317
1295
|
"version": "1.0.0",
|
|
1318
1296
|
"source": "haus",
|
|
1319
1297
|
"type": "skill",
|
|
1320
|
-
"path": "skills/nextauth-patterns",
|
|
1298
|
+
"path": "skills/haus-owned/stack-patterns/nextauth-patterns",
|
|
1321
1299
|
"title": "Haus NextAuth patterns",
|
|
1322
1300
|
"purpose": "Guide NextAuth.js / Auth.js provider, session, callback, and middleware changes in Next.js apps.",
|
|
1323
1301
|
"whenToUse": "Use for `next-auth` / `@auth/core` provider setup, session strategy, callbacks, JWT, and route protection in Next.js.",
|
|
@@ -1353,7 +1331,7 @@
|
|
|
1353
1331
|
"version": "1.2.0",
|
|
1354
1332
|
"source": "haus",
|
|
1355
1333
|
"type": "skill",
|
|
1356
|
-
"path": "skills/database-patterns",
|
|
1334
|
+
"path": "skills/haus-owned/stack-patterns/database-patterns",
|
|
1357
1335
|
"title": "Haus database patterns",
|
|
1358
1336
|
"purpose": "Guide schema/query/index/search changes across supported data engines.",
|
|
1359
1337
|
"whenToUse": "Use for migrations, query behavior, indexing, and Elasticsearch mapping updates.",
|
|
@@ -1393,7 +1371,7 @@
|
|
|
1393
1371
|
"version": "1.0.1",
|
|
1394
1372
|
"source": "haus",
|
|
1395
1373
|
"type": "skill",
|
|
1396
|
-
"path": "skills/package-manager-yarn4-pnpm89",
|
|
1374
|
+
"path": "skills/haus-owned/package-managers/package-manager-yarn4-pnpm89",
|
|
1397
1375
|
"title": "Haus package manager patterns",
|
|
1398
1376
|
"purpose": "Guide deterministic dependency/workspace changes for Yarn4 and pnpm89.",
|
|
1399
1377
|
"whenToUse": "Use for lockfile, workspace, and package manager configuration changes.",
|
|
@@ -1421,7 +1399,7 @@
|
|
|
1421
1399
|
"version": "1.0.0",
|
|
1422
1400
|
"source": "haus",
|
|
1423
1401
|
"type": "skill",
|
|
1424
|
-
"path": "skills/testing-library-patterns",
|
|
1402
|
+
"path": "skills/haus-owned/testing-library-patterns",
|
|
1425
1403
|
"title": "Haus testing library patterns",
|
|
1426
1404
|
"purpose": "Guide user-visible behavior testing with Testing Library.",
|
|
1427
1405
|
"whenToUse": "Use for component interaction tests with @testing-library tooling.",
|
|
@@ -1460,7 +1438,7 @@
|
|
|
1460
1438
|
"version": "1.0.0",
|
|
1461
1439
|
"source": "haus",
|
|
1462
1440
|
"type": "skill",
|
|
1463
|
-
"path": "skills/vitest-patterns",
|
|
1441
|
+
"path": "skills/haus-owned/stack-patterns/vitest-patterns",
|
|
1464
1442
|
"title": "Haus Vitest patterns",
|
|
1465
1443
|
"purpose": "Guide Vitest unit/integration test structure, mocking, and coverage config.",
|
|
1466
1444
|
"whenToUse": "Use when writing or modifying Vitest tests in TypeScript/JS frontends and Node services.",
|
|
@@ -1500,7 +1478,7 @@
|
|
|
1500
1478
|
"version": "1.0.0",
|
|
1501
1479
|
"source": "haus",
|
|
1502
1480
|
"type": "skill",
|
|
1503
|
-
"path": "skills/jest-patterns",
|
|
1481
|
+
"path": "skills/haus-owned/stack-patterns/jest-patterns",
|
|
1504
1482
|
"title": "Haus Jest patterns",
|
|
1505
1483
|
"purpose": "Guide Jest unit/integration test structure, mocking, and Nx-style setup.",
|
|
1506
1484
|
"whenToUse": "Use when writing or modifying Jest tests, including Nx workspace projects.",
|
|
@@ -1536,7 +1514,7 @@
|
|
|
1536
1514
|
"version": "1.0.0",
|
|
1537
1515
|
"source": "haus",
|
|
1538
1516
|
"type": "skill",
|
|
1539
|
-
"path": "skills/phpunit-patterns",
|
|
1517
|
+
"path": "skills/haus-owned/stack-patterns/phpunit-patterns",
|
|
1540
1518
|
"title": "Haus PHPUnit patterns",
|
|
1541
1519
|
"purpose": "Guide PHPUnit feature/unit test changes for PHP/Laravel behavior.",
|
|
1542
1520
|
"whenToUse": "Use for PHPUnit tests tied to backend behavior updates.",
|
|
@@ -1569,7 +1547,7 @@
|
|
|
1569
1547
|
"version": "1.0.0",
|
|
1570
1548
|
"source": "haus",
|
|
1571
1549
|
"type": "skill",
|
|
1572
|
-
"path": "skills/storybook-patterns",
|
|
1550
|
+
"path": "skills/haus-owned/stack-patterns/storybook-patterns",
|
|
1573
1551
|
"title": "Haus Storybook patterns",
|
|
1574
1552
|
"purpose": "Guide story coverage and component API documentation updates.",
|
|
1575
1553
|
"whenToUse": "Use for component stories, args/controls, and Storybook config changes.",
|
|
@@ -1608,7 +1586,7 @@
|
|
|
1608
1586
|
"version": "1.0.0",
|
|
1609
1587
|
"source": "haus",
|
|
1610
1588
|
"type": "skill",
|
|
1611
|
-
"path": "skills/security-review",
|
|
1589
|
+
"path": "skills/haus-owned/general/security-review",
|
|
1612
1590
|
"title": "Haus security review",
|
|
1613
1591
|
"purpose": "Route bounded security review with structured findings and explicit verification.",
|
|
1614
1592
|
"whenToUse": "Use when the user requests security review, threat check, or hardening on a named scope.",
|
|
@@ -1635,7 +1613,7 @@
|
|
|
1635
1613
|
"version": "1.0.0",
|
|
1636
1614
|
"source": "haus",
|
|
1637
1615
|
"type": "skill",
|
|
1638
|
-
"path": "skills/production-readiness-review",
|
|
1616
|
+
"path": "skills/haus-owned/general/production-readiness-review",
|
|
1639
1617
|
"title": "Haus production readiness review",
|
|
1640
1618
|
"purpose": "Route release readiness checks with evidence-based gaps and rollback notes.",
|
|
1641
1619
|
"whenToUse": "Use when the user asks for ship checklist, release risk review, or go-live readiness on a defined change set.",
|
|
@@ -1659,7 +1637,7 @@
|
|
|
1659
1637
|
},
|
|
1660
1638
|
{
|
|
1661
1639
|
"id": "haus.agentic-workflow-standard",
|
|
1662
|
-
"version": "1.0.
|
|
1640
|
+
"version": "1.0.1",
|
|
1663
1641
|
"source": "haus",
|
|
1664
1642
|
"type": "template",
|
|
1665
1643
|
"path": "templates/agentic-workflow-standard.md",
|
|
@@ -1675,6 +1653,44 @@
|
|
|
1675
1653
|
"default": true,
|
|
1676
1654
|
"reviewStatus": "approved",
|
|
1677
1655
|
"riskLevel": "low"
|
|
1656
|
+
},
|
|
1657
|
+
{
|
|
1658
|
+
"id": "haus.memory-conventions",
|
|
1659
|
+
"version": "1.0.0",
|
|
1660
|
+
"source": "haus",
|
|
1661
|
+
"type": "template",
|
|
1662
|
+
"path": "templates/memory-conventions.md",
|
|
1663
|
+
"title": "Memory conventions",
|
|
1664
|
+
"purpose": "How to keep durable cross-session learnings using Claude Code native memory; haus ships no memory store.",
|
|
1665
|
+
"whenToUse": "Install when a project wants a documented memory practice (native MEMORY.md + periodic consolidation).",
|
|
1666
|
+
"whenNotToUse": "Skip if the project does not use cross-session memory.",
|
|
1667
|
+
"tags": ["workflow", "project-instructions"],
|
|
1668
|
+
"repoRoles": [],
|
|
1669
|
+
"installMode": "copy-selected",
|
|
1670
|
+
"default": false,
|
|
1671
|
+
"tokenEstimate": 700,
|
|
1672
|
+
"tokenBudget": 900,
|
|
1673
|
+
"reviewStatus": "approved",
|
|
1674
|
+
"riskLevel": "low"
|
|
1675
|
+
},
|
|
1676
|
+
{
|
|
1677
|
+
"id": "haus.lefthook-security",
|
|
1678
|
+
"version": "1.0.0",
|
|
1679
|
+
"source": "haus",
|
|
1680
|
+
"type": "template",
|
|
1681
|
+
"path": "templates/lefthook-security.yml",
|
|
1682
|
+
"title": "Lefthook security pre-commit",
|
|
1683
|
+
"purpose": "Commit-time secret scanning (gitleaks + grep fallback) wired via Lefthook, complementing haus's runtime guards and settings.json deny rules.",
|
|
1684
|
+
"whenToUse": "Projects that want a commit-time secret-detection net alongside haus's real-time PreToolUse guards.",
|
|
1685
|
+
"whenNotToUse": "Repos that already run a secret-scanning pre-commit hook, or that cannot install gitleaks.",
|
|
1686
|
+
"tags": ["security", "workflow"],
|
|
1687
|
+
"repoRoles": [],
|
|
1688
|
+
"installMode": "copy-selected",
|
|
1689
|
+
"tokenEstimate": 220,
|
|
1690
|
+
"tokenBudget": 320,
|
|
1691
|
+
"default": false,
|
|
1692
|
+
"reviewStatus": "approved",
|
|
1693
|
+
"riskLevel": "low"
|
|
1678
1694
|
}
|
|
1679
1695
|
]
|
|
1680
1696
|
}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"forbiddenTags": [
|
|
3
|
+
"python",
|
|
4
|
+
"django",
|
|
5
|
+
"go",
|
|
6
|
+
"rust",
|
|
7
|
+
"java",
|
|
8
|
+
"spring",
|
|
9
|
+
"kotlin",
|
|
10
|
+
"swift",
|
|
11
|
+
"android",
|
|
12
|
+
"flutter",
|
|
13
|
+
"dart",
|
|
14
|
+
"c++",
|
|
15
|
+
"perl",
|
|
16
|
+
"defi",
|
|
17
|
+
"trading"
|
|
18
|
+
],
|
|
19
|
+
"bannedAgentPhrases": ["autonomous", "swarm", "delegate", "orchestrat", "marketplace"],
|
|
20
|
+
"requiredSkillSections": ["## Use when", "## Do not use when"],
|
|
21
|
+
"requiredAgentSections": ["## Use when", "## Do not use when", "## Verification"],
|
|
22
|
+
"riskyInstallPatterns": [
|
|
23
|
+
{ "source": "\\bnpx\\s+-y\\b", "flags": "i" },
|
|
24
|
+
{ "source": "\\bnpx\\s+--yes\\b", "flags": "i" },
|
|
25
|
+
{ "source": "\\byarn\\s+dlx\\b", "flags": "i" },
|
|
26
|
+
{ "source": "\\bpnpm\\s+dlx\\b", "flags": "i" }
|
|
27
|
+
],
|
|
28
|
+
"allowedNpxPattern": { "source": "\\bnpx\\s+tsx\\b", "flags": "i" },
|
|
29
|
+
"anyNpxPattern": { "source": "\\bnpx\\s+\\S+", "flags": "i" },
|
|
30
|
+
"httpUrlPattern": { "source": "^http:\\/\\/", "flags": "i" },
|
|
31
|
+
"placeholderPattern": { "source": "\\bTODO\\b|\\bPLACEHOLDER\\b", "flags": "i" },
|
|
32
|
+
"allowedStacks": [
|
|
3
33
|
"haus",
|
|
4
34
|
"security",
|
|
5
35
|
"quality",
|
|
@@ -102,5 +132,15 @@
|
|
|
102
132
|
"qliro",
|
|
103
133
|
"supabase",
|
|
104
134
|
"payments"
|
|
105
|
-
]
|
|
135
|
+
],
|
|
136
|
+
"alwaysAllowedTags": [
|
|
137
|
+
"haus",
|
|
138
|
+
"security",
|
|
139
|
+
"quality",
|
|
140
|
+
"review",
|
|
141
|
+
"workflow",
|
|
142
|
+
"baseline",
|
|
143
|
+
"project-instructions"
|
|
144
|
+
],
|
|
145
|
+
"patternTagSuffixes": ["-patterns"]
|
|
106
146
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Check the health of this project's haus setup and explain it in plain language.
|
|
2
|
+
|
|
3
|
+
1. Run `haus doctor`.
|
|
4
|
+
2. Read the output. The first line is a plain-language verdict (green = healthy,
|
|
5
|
+
amber = things need attention).
|
|
6
|
+
3. Relay that verdict to the person in one or two sentences. If anything needs
|
|
7
|
+
attention, list each item as a short sentence plus the exact command that
|
|
8
|
+
fixes it — and offer to run the fix for them (or suggest `/haus-fix`).
|
|
9
|
+
|
|
10
|
+
Don't show raw command output unless they ask for detail.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Diagnose and fix this project's haus setup.
|
|
2
|
+
|
|
3
|
+
1. Run `haus doctor` and read the verdict.
|
|
4
|
+
2. If the project is already healthy, say so in one line and stop.
|
|
5
|
+
3. Otherwise, for each item that needs attention, run the exact fix command the
|
|
6
|
+
doctor named (commonly `haus apply --write` or `haus apply --refill-config`).
|
|
7
|
+
4. Re-run `haus doctor` to confirm the verdict is now green.
|
|
8
|
+
5. Report what you changed in plain language — what was wrong, what you ran, and
|
|
9
|
+
that it's now resolved.
|
|
10
|
+
|
|
11
|
+
Only run haus commands and the fixes the doctor suggests. If a fix needs a
|
|
12
|
+
decision you can't make safely, stop and ask in plain language.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Set up this project with haus, conversationally. The person you're helping may
|
|
2
|
+
not be a developer — never make them open a terminal or read JSON. You run the
|
|
3
|
+
commands; they read plain language and approve.
|
|
4
|
+
|
|
5
|
+
Do this in order:
|
|
6
|
+
|
|
7
|
+
1. **Detect.** Run `haus setup-project --fast --json`. Read the JSON yourself —
|
|
8
|
+
do not show it. Translate what was detected into one or two plain sentences,
|
|
9
|
+
e.g. "This looks like a Next.js website using Yarn. I found unit tests but no
|
|
10
|
+
end-to-end tests." If the detection status is `unknown` or `partial`, say so
|
|
11
|
+
honestly ("I couldn't fully recognise this stack, so I'll apply the general
|
|
12
|
+
workflow and security guidance").
|
|
13
|
+
|
|
14
|
+
2. **Ask the guided questions as chat.** Ask the project's guided questions one
|
|
15
|
+
or two at a time, in plain language. Collect the answers.
|
|
16
|
+
|
|
17
|
+
3. **Record answers.** Write the answers to `.haus-workflow/setup-answers.json`
|
|
18
|
+
as a flat `{ "question": "answer" }` object (the exact question strings as
|
|
19
|
+
keys). This is what lets setup proceed without re-prompting.
|
|
20
|
+
|
|
21
|
+
4. **Apply.** Run `haus apply --write`. Read the result.
|
|
22
|
+
|
|
23
|
+
5. **Confirm.** End with one plain-language line, for example:
|
|
24
|
+
"✅ Your project is configured — I added N guardrails and M coding helpers.
|
|
25
|
+
Run `/haus-doctor` any time to re-check." Fill N and M from the apply output.
|
|
26
|
+
|
|
27
|
+
If anything fails, explain what happened in plain language and what you'll try
|
|
28
|
+
next — don't dump raw errors.
|
|
@@ -20,12 +20,6 @@
|
|
|
20
20
|
"gate": "gate-default-off",
|
|
21
21
|
"event": "UserPromptSubmit",
|
|
22
22
|
"command": "haus context --from-hook"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"id": "hook.memory-inject",
|
|
26
|
-
"gate": "gate-default-off",
|
|
27
|
-
"event": "UserPromptSubmit",
|
|
28
|
-
"command": "haus memory inject --from-hook"
|
|
29
23
|
}
|
|
30
24
|
]
|
|
31
25
|
}
|