@joktec/skills 0.1.3 → 0.1.7

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.
Files changed (101) hide show
  1. package/README.md +4 -2
  2. package/dist/claude/skills/advanced-typescript-design/SKILL.md +60 -0
  3. package/dist/claude/skills/advanced-typescript-design/agents/openai.yaml +4 -0
  4. package/dist/claude/skills/advanced-typescript-design/references/advanced.md +219 -0
  5. package/dist/claude/skills/advanced-typescript-design/references/simple.md +149 -0
  6. package/dist/claude/skills/joktec-adapter-skill/SKILL.md +1 -0
  7. package/dist/claude/skills/joktec-adapter-skill/references/adapters.md +28 -0
  8. package/dist/claude/skills/joktec-broker-skill/SKILL.md +1 -0
  9. package/dist/claude/skills/joktec-broker-skill/references/brokers.md +29 -0
  10. package/dist/claude/skills/joktec-common-skill/SKILL.md +1 -0
  11. package/dist/claude/skills/joktec-common-skill/references/core.md +56 -0
  12. package/dist/claude/skills/joktec-common-skill/references/utils-cron.md +28 -0
  13. package/dist/claude/skills/joktec-database-extended-skill/SKILL.md +1 -0
  14. package/dist/claude/skills/joktec-database-extended-skill/references/extended-databases.md +24 -0
  15. package/dist/claude/skills/joktec-framework-skill/SKILL.md +1 -0
  16. package/dist/claude/skills/joktec-framework-skill/references/framework-map.md +34 -0
  17. package/dist/claude/skills/joktec-integration-skill/SKILL.md +1 -0
  18. package/dist/claude/skills/joktec-integration-skill/references/integrations.md +29 -0
  19. package/dist/claude/skills/joktec-mongo-skill/SKILL.md +9 -1
  20. package/dist/claude/skills/joktec-mongo-skill/references/repository.md +46 -0
  21. package/dist/claude/skills/joktec-mongo-skill/references/schema-and-plugins.md +65 -0
  22. package/dist/claude/skills/joktec-mysql-skill/SKILL.md +6 -1
  23. package/dist/claude/skills/joktec-mysql-skill/references/entities.md +109 -1
  24. package/dist/claude/skills/joktec-mysql-skill/references/repository.md +63 -0
  25. package/dist/claude/skills/joktec-tool-skill/SKILL.md +1 -0
  26. package/dist/claude/skills/joktec-tool-skill/references/tools.md +36 -0
  27. package/dist/codex/skills/advanced-typescript-design/SKILL.md +60 -0
  28. package/dist/codex/skills/advanced-typescript-design/agents/openai.yaml +4 -0
  29. package/dist/codex/skills/advanced-typescript-design/references/advanced.md +219 -0
  30. package/dist/codex/skills/advanced-typescript-design/references/simple.md +149 -0
  31. package/dist/codex/skills/joktec-adapter-skill/SKILL.md +1 -0
  32. package/dist/codex/skills/joktec-adapter-skill/references/adapters.md +28 -0
  33. package/dist/codex/skills/joktec-broker-skill/SKILL.md +1 -0
  34. package/dist/codex/skills/joktec-broker-skill/references/brokers.md +29 -0
  35. package/dist/codex/skills/joktec-common-skill/SKILL.md +1 -0
  36. package/dist/codex/skills/joktec-common-skill/references/core.md +56 -0
  37. package/dist/codex/skills/joktec-common-skill/references/utils-cron.md +28 -0
  38. package/dist/codex/skills/joktec-database-extended-skill/SKILL.md +1 -0
  39. package/dist/codex/skills/joktec-database-extended-skill/references/extended-databases.md +24 -0
  40. package/dist/codex/skills/joktec-framework-skill/SKILL.md +1 -0
  41. package/dist/codex/skills/joktec-framework-skill/references/framework-map.md +34 -0
  42. package/dist/codex/skills/joktec-integration-skill/SKILL.md +1 -0
  43. package/dist/codex/skills/joktec-integration-skill/references/integrations.md +29 -0
  44. package/dist/codex/skills/joktec-mongo-skill/SKILL.md +9 -1
  45. package/dist/codex/skills/joktec-mongo-skill/references/repository.md +46 -0
  46. package/dist/codex/skills/joktec-mongo-skill/references/schema-and-plugins.md +65 -0
  47. package/dist/codex/skills/joktec-mysql-skill/SKILL.md +6 -1
  48. package/dist/codex/skills/joktec-mysql-skill/references/entities.md +109 -1
  49. package/dist/codex/skills/joktec-mysql-skill/references/repository.md +63 -0
  50. package/dist/codex/skills/joktec-tool-skill/SKILL.md +1 -0
  51. package/dist/codex/skills/joktec-tool-skill/references/tools.md +36 -0
  52. package/dist/copilot/.github/copilot-instructions.md +1003 -3
  53. package/dist/cursor/.cursor/rules/advanced-typescript-design.mdc +437 -0
  54. package/dist/cursor/.cursor/rules/joktec-adapter-skill.mdc +29 -0
  55. package/dist/cursor/.cursor/rules/joktec-broker-skill.mdc +30 -0
  56. package/dist/cursor/.cursor/rules/joktec-common-skill.mdc +85 -0
  57. package/dist/cursor/.cursor/rules/joktec-database-extended-skill.mdc +25 -0
  58. package/dist/cursor/.cursor/rules/joktec-framework-skill.mdc +35 -0
  59. package/dist/cursor/.cursor/rules/joktec-integration-skill.mdc +30 -0
  60. package/dist/cursor/.cursor/rules/joktec-mongo-skill.mdc +120 -1
  61. package/dist/cursor/.cursor/rules/joktec-mysql-skill.mdc +178 -2
  62. package/dist/cursor/.cursor/rules/joktec-tool-skill.mdc +37 -0
  63. package/dist/gemini/GEMINI.md +1005 -3
  64. package/dist/windsurf/.windsurf/rules/advanced-typescript-design.md +433 -0
  65. package/dist/windsurf/.windsurf/rules/joktec-adapter-skill.md +29 -0
  66. package/dist/windsurf/.windsurf/rules/joktec-broker-skill.md +30 -0
  67. package/dist/windsurf/.windsurf/rules/joktec-common-skill.md +85 -0
  68. package/dist/windsurf/.windsurf/rules/joktec-database-extended-skill.md +25 -0
  69. package/dist/windsurf/.windsurf/rules/joktec-framework-skill.md +35 -0
  70. package/dist/windsurf/.windsurf/rules/joktec-integration-skill.md +30 -0
  71. package/dist/windsurf/.windsurf/rules/joktec-mongo-skill.md +120 -1
  72. package/dist/windsurf/.windsurf/rules/joktec-mysql-skill.md +178 -2
  73. package/dist/windsurf/.windsurf/rules/joktec-tool-skill.md +37 -0
  74. package/package.json +6 -3
  75. package/scripts/sync-pack-version.mjs +38 -0
  76. package/skill-pack.json +35 -1
  77. package/skills/advanced-typescript-design/SKILL.md +60 -0
  78. package/skills/advanced-typescript-design/agents/openai.yaml +4 -0
  79. package/skills/advanced-typescript-design/references/advanced.md +219 -0
  80. package/skills/advanced-typescript-design/references/simple.md +149 -0
  81. package/skills/joktec-adapter-skill/SKILL.md +1 -0
  82. package/skills/joktec-adapter-skill/references/adapters.md +28 -0
  83. package/skills/joktec-broker-skill/SKILL.md +1 -0
  84. package/skills/joktec-broker-skill/references/brokers.md +29 -0
  85. package/skills/joktec-common-skill/SKILL.md +1 -0
  86. package/skills/joktec-common-skill/references/core.md +56 -0
  87. package/skills/joktec-common-skill/references/utils-cron.md +28 -0
  88. package/skills/joktec-database-extended-skill/SKILL.md +1 -0
  89. package/skills/joktec-database-extended-skill/references/extended-databases.md +24 -0
  90. package/skills/joktec-framework-skill/SKILL.md +1 -0
  91. package/skills/joktec-framework-skill/references/framework-map.md +34 -0
  92. package/skills/joktec-integration-skill/SKILL.md +1 -0
  93. package/skills/joktec-integration-skill/references/integrations.md +29 -0
  94. package/skills/joktec-mongo-skill/SKILL.md +9 -1
  95. package/skills/joktec-mongo-skill/references/repository.md +46 -0
  96. package/skills/joktec-mongo-skill/references/schema-and-plugins.md +65 -0
  97. package/skills/joktec-mysql-skill/SKILL.md +6 -1
  98. package/skills/joktec-mysql-skill/references/entities.md +109 -1
  99. package/skills/joktec-mysql-skill/references/repository.md +63 -0
  100. package/skills/joktec-tool-skill/SKILL.md +1 -0
  101. package/skills/joktec-tool-skill/references/tools.md +36 -0
@@ -1,23 +1,86 @@
1
1
  # MySQL Repository Usage
2
2
 
3
+ ## Source Lookup
4
+
5
+ When blocked in a consumer project, inspect installed package docs and types first:
6
+
7
+ - `node_modules/@joktec/mysql/README.md`
8
+ - `node_modules/@joktec/mysql/AGENTS.md` when published with the package
9
+ - `node_modules/@joktec/mysql/dist/index.d.ts`
10
+ - `node_modules/@joktec/mysql/dist/mysql.module.d.ts`
11
+ - `node_modules/@joktec/mysql/dist/mysql.service.d.ts`
12
+ - `node_modules/@joktec/mysql/dist/mysql.repo.d.ts`
13
+ - `node_modules/@joktec/mysql/dist/models/mysql.request.d.ts`
14
+
15
+ If the installed package is insufficient, read GitHub package docs next:
16
+
17
+ - `https://github.com/joktec/joktec-framework/tree/main/packages/databases/mysql`
18
+
19
+ Use GitHub source only after installed types and package docs are not enough:
20
+
21
+ - `packages/databases/mysql/README.md`
22
+ - `packages/databases/mysql/AGENTS.md`
23
+ - `packages/databases/mysql/src/index.ts`
24
+ - `packages/databases/mysql/src/mysql.module.ts`
25
+ - `packages/databases/mysql/src/mysql.service.ts`
26
+ - `packages/databases/mysql/src/mysql.repo.ts`
27
+ - `packages/databases/mysql/src/helpers/mysql.helper.ts`
28
+ - `packages/databases/mysql/src/helpers/mysql.finder.ts`
29
+ - `packages/databases/mysql/src/services/mysql.dialect.ts`
30
+ - `packages/databases/mysql/src/models/*`
31
+
3
32
  ## Module Setup
4
33
 
5
34
  Register entities with `MysqlModule.forRoot({ conId, models: [...] })`. Use `conId` for multiple DataSources.
6
35
 
36
+ Best practice:
37
+
38
+ - Register consumer app entities in an app repository module.
39
+ - Keep `sync` disabled in request-facing processes unless the app intentionally owns schema sync.
40
+ - Use one controlled owner process for schema sync/migration in multi-process deployments.
41
+ - Preserve `conId` when resolving repositories or transaction-scoped managers.
42
+
7
43
  ## Repository Pattern
8
44
 
9
45
  Extend `MysqlRepo` and pass the entity class to the base constructor. Services can use `BaseService` when CRUD behavior follows the shared contract.
10
46
 
47
+ Repository checklist:
48
+
49
+ - Keep entity-specific SQL helpers in the app repository, not in controllers.
50
+ - Use `MysqlRepo.qb()` and repository methods for standard reads so field validation, relation loading, soft delete, and pagination stay consistent.
51
+ - Do not add new behavior to `MysqlFinder`; it is deprecated compatibility code.
52
+ - Keep read/write operations in the same transaction context when the app passes a manager or query runner.
53
+
11
54
  ## Query Safety
12
55
 
13
56
  - Validate field paths against TypeORM metadata before interpolating SQL identifiers.
14
57
  - Use parameter binding for values.
15
58
  - Keep logical operators such as `$and` and `$or` grouped through QueryBuilder behavior.
16
59
 
60
+ Anti-patterns:
61
+
62
+ - Do not interpolate user-provided field names or relation names into SQL without TypeORM metadata validation.
63
+ - Do not assume MySQL-only syntax when the package supports MySQL, MariaDB, and Postgres.
64
+ - Do not use a relation/populate path unless it maps to entity metadata.
65
+
17
66
  ## Pagination
18
67
 
19
68
  `MysqlRepo.paginate` supports page, offset, and cursor responses. Cursor mode defaults to `createdAt` plus primary key columns. Custom cursor keys must be mapped columns.
20
69
 
70
+ Cursor checklist:
71
+
72
+ - Use `createdAt + primary key` as the default stable cursor.
73
+ - Add primary keys as tie-breakers for non-unique cursor keys.
74
+ - Ensure cursor keys are indexed for hot list endpoints.
75
+ - Validate cursor payload shape before building SQL.
76
+ - Treat cursor tokens as opaque; clients should not parse them.
77
+
21
78
  ## Transactions
22
79
 
23
80
  When using transaction-scoped operations, pass the manager or query runner through repository options so pre-read and write operations use the same context.
81
+
82
+ Transaction checklist:
83
+
84
+ - Use one manager/query runner for read-modify-write flows.
85
+ - Rollback tests should prove that both pre-read dependent writes and writes are transaction-scoped.
86
+ - Avoid mixing default repositories and transaction-scoped repositories in one operation.
@@ -23,6 +23,7 @@ Use this skill for reusable utility services.
23
23
  - Use config-driven clients instead of direct ad hoc setup in app code.
24
24
  - Preserve retry, metrics, proxy, and upload behavior where the package exposes it.
25
25
  - Keep alert tokens and webhook URLs in runtime config only.
26
+ - If guidance is insufficient, read this skill's references and inspect `../joktec-framework` package source or GitHub fallback before assuming APIs.
26
27
 
27
28
  ## Reference
28
29
 
@@ -1,13 +1,49 @@
1
1
  # Tool Usage
2
2
 
3
+ ## Source Lookup
4
+
5
+ When blocked, inspect:
6
+
7
+ - `packages/tools/README.md`
8
+ - `packages/tools/AGENTS.md`
9
+ - `packages/tools/<package>/README.md`
10
+ - `packages/tools/<package>/src/index.ts`
11
+ - package config/module/service/helper files under `src/`
12
+
3
13
  ## HTTP
4
14
 
5
15
  Use `@joktec/http` for Axios-backed requests, uploads, proxy agent support, retry config, and metrics where exposed.
6
16
 
17
+ Best practice:
18
+
19
+ - Use the package service for outbound HTTP so retry/proxy/metrics behavior stays centralized.
20
+ - Keep external endpoint URLs and credentials in runtime config.
21
+ - Be careful with ESM/CommonJS import changes in HTTP/Axios ecosystem packages.
22
+ - `HttpService.buildAgent(proxy, opts)` expects proxy identity in `HttpProxyConfig` and agent tuning in Node `AgentOptions`; inspect the installed source before adapting to proxy-agent major-version changes.
23
+ - Test request behavior with mocks unless the test is an explicit consumer integration scenario.
24
+
7
25
  ## File
8
26
 
9
27
  Use `@joktec/file` for shared file helpers and classification behavior instead of duplicating local utility code.
10
28
 
29
+ Best practice:
30
+
31
+ - Keep filesystem paths and temporary directories environment-specific.
32
+ - Validate upload/file inputs before passing them into business workflows.
33
+ - Use package helpers for MIME/classification behavior when consistency matters across services.
34
+
11
35
  ## Alert
12
36
 
13
37
  Use `@joktec/alert` for Slack-compatible webhook alerts. Keep webhook URLs and credentials out of source control.
38
+
39
+ Best practice:
40
+
41
+ - Treat alert messages as operational notifications, not business workflows.
42
+ - Do not leak secrets, tokens, connection strings, or personal data into alert payloads.
43
+ - `@joktec/alert` is present but less complete than core database/client packages; inspect source before depending on advanced behavior.
44
+
45
+ ## Anti-Patterns
46
+
47
+ - Do not scatter raw Axios instances across the app when `@joktec/http` should own shared behavior.
48
+ - Do not commit webhook URLs or proxy credentials.
49
+ - Do not use tool packages as hidden places for app business rules.