@joktec/skills 0.1.0

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 (129) hide show
  1. package/AGENTS.md +89 -0
  2. package/LICENSE +21 -0
  3. package/README.md +502 -0
  4. package/adapters/README.md +12 -0
  5. package/adapters/copilot/README.md +5 -0
  6. package/adapters/cursor/README.md +5 -0
  7. package/adapters/gemini/README.md +5 -0
  8. package/adapters/windsurf/README.md +5 -0
  9. package/bin/joktec-skills.mjs +553 -0
  10. package/dist/claude/skills/joktec-adapter-skill/SKILL.md +26 -0
  11. package/dist/claude/skills/joktec-adapter-skill/agents/openai.yaml +4 -0
  12. package/dist/claude/skills/joktec-adapter-skill/references/adapters.md +12 -0
  13. package/dist/claude/skills/joktec-broker-skill/SKILL.md +26 -0
  14. package/dist/claude/skills/joktec-broker-skill/agents/openai.yaml +4 -0
  15. package/dist/claude/skills/joktec-broker-skill/references/brokers.md +12 -0
  16. package/dist/claude/skills/joktec-common-skill/SKILL.md +28 -0
  17. package/dist/claude/skills/joktec-common-skill/agents/openai.yaml +4 -0
  18. package/dist/claude/skills/joktec-common-skill/references/core.md +19 -0
  19. package/dist/claude/skills/joktec-common-skill/references/utils-cron.md +17 -0
  20. package/dist/claude/skills/joktec-database-extended-skill/SKILL.md +25 -0
  21. package/dist/claude/skills/joktec-database-extended-skill/agents/openai.yaml +4 -0
  22. package/dist/claude/skills/joktec-database-extended-skill/references/extended-databases.md +11 -0
  23. package/dist/claude/skills/joktec-framework-skill/SKILL.md +31 -0
  24. package/dist/claude/skills/joktec-framework-skill/agents/openai.yaml +4 -0
  25. package/dist/claude/skills/joktec-framework-skill/references/framework-map.md +25 -0
  26. package/dist/claude/skills/joktec-integration-skill/SKILL.md +24 -0
  27. package/dist/claude/skills/joktec-integration-skill/agents/openai.yaml +4 -0
  28. package/dist/claude/skills/joktec-integration-skill/references/integrations.md +9 -0
  29. package/dist/claude/skills/joktec-mongo-skill/SKILL.md +22 -0
  30. package/dist/claude/skills/joktec-mongo-skill/agents/openai.yaml +4 -0
  31. package/dist/claude/skills/joktec-mongo-skill/references/repository.md +20 -0
  32. package/dist/claude/skills/joktec-mongo-skill/references/schema-and-plugins.md +17 -0
  33. package/dist/claude/skills/joktec-mysql-skill/SKILL.md +22 -0
  34. package/dist/claude/skills/joktec-mysql-skill/agents/openai.yaml +4 -0
  35. package/dist/claude/skills/joktec-mysql-skill/references/entities.md +15 -0
  36. package/dist/claude/skills/joktec-mysql-skill/references/repository.md +23 -0
  37. package/dist/claude/skills/joktec-tool-skill/SKILL.md +25 -0
  38. package/dist/claude/skills/joktec-tool-skill/agents/openai.yaml +4 -0
  39. package/dist/claude/skills/joktec-tool-skill/references/tools.md +13 -0
  40. package/dist/codex/skills/joktec-adapter-skill/SKILL.md +26 -0
  41. package/dist/codex/skills/joktec-adapter-skill/agents/openai.yaml +4 -0
  42. package/dist/codex/skills/joktec-adapter-skill/references/adapters.md +12 -0
  43. package/dist/codex/skills/joktec-broker-skill/SKILL.md +26 -0
  44. package/dist/codex/skills/joktec-broker-skill/agents/openai.yaml +4 -0
  45. package/dist/codex/skills/joktec-broker-skill/references/brokers.md +12 -0
  46. package/dist/codex/skills/joktec-common-skill/SKILL.md +28 -0
  47. package/dist/codex/skills/joktec-common-skill/agents/openai.yaml +4 -0
  48. package/dist/codex/skills/joktec-common-skill/references/core.md +19 -0
  49. package/dist/codex/skills/joktec-common-skill/references/utils-cron.md +17 -0
  50. package/dist/codex/skills/joktec-database-extended-skill/SKILL.md +25 -0
  51. package/dist/codex/skills/joktec-database-extended-skill/agents/openai.yaml +4 -0
  52. package/dist/codex/skills/joktec-database-extended-skill/references/extended-databases.md +11 -0
  53. package/dist/codex/skills/joktec-framework-skill/SKILL.md +31 -0
  54. package/dist/codex/skills/joktec-framework-skill/agents/openai.yaml +4 -0
  55. package/dist/codex/skills/joktec-framework-skill/references/framework-map.md +25 -0
  56. package/dist/codex/skills/joktec-integration-skill/SKILL.md +24 -0
  57. package/dist/codex/skills/joktec-integration-skill/agents/openai.yaml +4 -0
  58. package/dist/codex/skills/joktec-integration-skill/references/integrations.md +9 -0
  59. package/dist/codex/skills/joktec-mongo-skill/SKILL.md +22 -0
  60. package/dist/codex/skills/joktec-mongo-skill/agents/openai.yaml +4 -0
  61. package/dist/codex/skills/joktec-mongo-skill/references/repository.md +20 -0
  62. package/dist/codex/skills/joktec-mongo-skill/references/schema-and-plugins.md +17 -0
  63. package/dist/codex/skills/joktec-mysql-skill/SKILL.md +22 -0
  64. package/dist/codex/skills/joktec-mysql-skill/agents/openai.yaml +4 -0
  65. package/dist/codex/skills/joktec-mysql-skill/references/entities.md +15 -0
  66. package/dist/codex/skills/joktec-mysql-skill/references/repository.md +23 -0
  67. package/dist/codex/skills/joktec-tool-skill/SKILL.md +25 -0
  68. package/dist/codex/skills/joktec-tool-skill/agents/openai.yaml +4 -0
  69. package/dist/codex/skills/joktec-tool-skill/references/tools.md +13 -0
  70. package/dist/copilot/.github/copilot-instructions.md +459 -0
  71. package/dist/cursor/.cursor/rules/joktec-adapter-skill.mdc +44 -0
  72. package/dist/cursor/.cursor/rules/joktec-broker-skill.mdc +44 -0
  73. package/dist/cursor/.cursor/rules/joktec-common-skill.mdc +73 -0
  74. package/dist/cursor/.cursor/rules/joktec-database-extended-skill.mdc +42 -0
  75. package/dist/cursor/.cursor/rules/joktec-framework-skill.mdc +62 -0
  76. package/dist/cursor/.cursor/rules/joktec-integration-skill.mdc +39 -0
  77. package/dist/cursor/.cursor/rules/joktec-mongo-skill.mdc +68 -0
  78. package/dist/cursor/.cursor/rules/joktec-mysql-skill.mdc +69 -0
  79. package/dist/cursor/.cursor/rules/joktec-tool-skill.mdc +44 -0
  80. package/dist/gemini/GEMINI.md +477 -0
  81. package/dist/windsurf/.windsurf/rules/joktec-adapter-skill.md +40 -0
  82. package/dist/windsurf/.windsurf/rules/joktec-broker-skill.md +40 -0
  83. package/dist/windsurf/.windsurf/rules/joktec-common-skill.md +69 -0
  84. package/dist/windsurf/.windsurf/rules/joktec-database-extended-skill.md +38 -0
  85. package/dist/windsurf/.windsurf/rules/joktec-framework-skill.md +58 -0
  86. package/dist/windsurf/.windsurf/rules/joktec-integration-skill.md +35 -0
  87. package/dist/windsurf/.windsurf/rules/joktec-mongo-skill.md +64 -0
  88. package/dist/windsurf/.windsurf/rules/joktec-mysql-skill.md +65 -0
  89. package/dist/windsurf/.windsurf/rules/joktec-tool-skill.md +40 -0
  90. package/package.json +69 -0
  91. package/scripts/build-copilot-instructions.mjs +22 -0
  92. package/scripts/build-cursor-rules.mjs +23 -0
  93. package/scripts/build-gemini-md.mjs +22 -0
  94. package/scripts/build-skill-folders.mjs +16 -0
  95. package/scripts/build-windsurf-rules.mjs +18 -0
  96. package/scripts/lib.mjs +110 -0
  97. package/scripts/sync-from-joktec-framework.mjs +53 -0
  98. package/scripts/validate-skills.mjs +78 -0
  99. package/skill-pack.json +146 -0
  100. package/skills/joktec-adapter-skill/SKILL.md +26 -0
  101. package/skills/joktec-adapter-skill/agents/openai.yaml +4 -0
  102. package/skills/joktec-adapter-skill/references/adapters.md +12 -0
  103. package/skills/joktec-broker-skill/SKILL.md +26 -0
  104. package/skills/joktec-broker-skill/agents/openai.yaml +4 -0
  105. package/skills/joktec-broker-skill/references/brokers.md +12 -0
  106. package/skills/joktec-common-skill/SKILL.md +28 -0
  107. package/skills/joktec-common-skill/agents/openai.yaml +4 -0
  108. package/skills/joktec-common-skill/references/core.md +19 -0
  109. package/skills/joktec-common-skill/references/utils-cron.md +17 -0
  110. package/skills/joktec-database-extended-skill/SKILL.md +25 -0
  111. package/skills/joktec-database-extended-skill/agents/openai.yaml +4 -0
  112. package/skills/joktec-database-extended-skill/references/extended-databases.md +11 -0
  113. package/skills/joktec-framework-skill/SKILL.md +31 -0
  114. package/skills/joktec-framework-skill/agents/openai.yaml +4 -0
  115. package/skills/joktec-framework-skill/references/framework-map.md +25 -0
  116. package/skills/joktec-integration-skill/SKILL.md +24 -0
  117. package/skills/joktec-integration-skill/agents/openai.yaml +4 -0
  118. package/skills/joktec-integration-skill/references/integrations.md +9 -0
  119. package/skills/joktec-mongo-skill/SKILL.md +22 -0
  120. package/skills/joktec-mongo-skill/agents/openai.yaml +4 -0
  121. package/skills/joktec-mongo-skill/references/repository.md +20 -0
  122. package/skills/joktec-mongo-skill/references/schema-and-plugins.md +17 -0
  123. package/skills/joktec-mysql-skill/SKILL.md +22 -0
  124. package/skills/joktec-mysql-skill/agents/openai.yaml +4 -0
  125. package/skills/joktec-mysql-skill/references/entities.md +15 -0
  126. package/skills/joktec-mysql-skill/references/repository.md +23 -0
  127. package/skills/joktec-tool-skill/SKILL.md +25 -0
  128. package/skills/joktec-tool-skill/agents/openai.yaml +4 -0
  129. package/skills/joktec-tool-skill/references/tools.md +13 -0
package/AGENTS.md ADDED
@@ -0,0 +1,89 @@
1
+ # JokTec Skills Agent Guide
2
+
3
+ This repository is the agent-skill distribution layer for projects that consume `@joktec/*` packages.
4
+
5
+ It is not the implementation source of truth. The implementation source of truth is `joktec-framework`.
6
+
7
+ ## Read First
8
+
9
+ 1. `README.md`
10
+ 2. `skill-pack.json`
11
+ 3. `skills/joktec-framework-skill/SKILL.md`
12
+ 4. The focused `skills/*/SKILL.md` file for the package group being changed.
13
+ 5. Referenced files under that skill's `references/`.
14
+ 6. `scripts/validate-skills.mjs`
15
+ 7. Adapter generators under `scripts/build-*.mjs`
16
+
17
+ ## Source Of Truth
18
+
19
+ Always try to reference the local `joktec-framework` checkout first:
20
+
21
+ ```text
22
+ ../joktec-framework
23
+ ```
24
+
25
+ Use local files such as:
26
+
27
+ - `AGENTS.md`
28
+ - `docs/agents/*`
29
+ - `packages/*/AGENTS.md`
30
+ - `packages/*/*/AGENTS.md`
31
+ - package README files
32
+ - package source code when docs are unclear
33
+
34
+ If the local `joktec-framework` checkout is unavailable, use the GitHub repository as fallback:
35
+
36
+ ```text
37
+ https://github.com/joktec/joktec-framework
38
+ ```
39
+
40
+ When using GitHub fallback, prefer stable package README files and current source over assumptions.
41
+
42
+ ## Update Modes
43
+
44
+ There are two supported ways to update this repository.
45
+
46
+ ### 1. From `joktec-framework`
47
+
48
+ Use this mode when the active context is the framework repository.
49
+
50
+ - Inspect implementation, package README files, and agent docs in `joktec-framework`.
51
+ - Update `joktec-skills` from that verified source.
52
+ - Keep skill content curated; do not copy entire framework docs blindly.
53
+ - Run validation and adapter generation in `joktec-skills`.
54
+
55
+ ### 2. From `joktec-skills`
56
+
57
+ Use this mode when the active context is this skill repository.
58
+
59
+ - Resolve the local `joktec-framework` path first.
60
+ - If local source is missing, fall back to `https://github.com/joktec/joktec-framework`.
61
+ - Read the relevant framework docs/source before changing skills.
62
+ - Update canonical skill files under `skills/`.
63
+ - Regenerate adapter outputs under `dist/`.
64
+
65
+ ## Repository Rules
66
+
67
+ - Canonical skill content lives under `skills/`.
68
+ - `SKILL.md` files must stay concise and route deeper detail to `references/`.
69
+ - `dist/` is generated output. Do not edit generated adapter files by hand.
70
+ - `adapters/` contains adapter notes and templates only.
71
+ - `scripts/` owns validation, source sync checks, and adapter generation.
72
+ - Do not add skills for testing, document sync, release, or commit workflows; this pack is only for using `@joktec/*` libraries.
73
+ - Do not document behavior that is not implemented in `joktec-framework`.
74
+ - Do not include secrets, credentials, private config, or real connection strings.
75
+
76
+ ## Verification
77
+
78
+ Run these commands after changing skills or generators:
79
+
80
+ ```bash
81
+ pnpm run build
82
+ pnpm run sync:check
83
+ pnpm run validate
84
+ pnpm run pack:check
85
+ ```
86
+
87
+ `pnpm run sync:check` verifies expected local `joktec-framework` source files exist. It does not replace human review of the implementation truth.
88
+
89
+ Use `pnpm run publish:dry-run` before publishing and `pnpm run publish:registry` only when the package is ready for npm registry release.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 JokTec <admin@joktec.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,502 @@
1
+ # JokTec Skills
2
+
3
+ ![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)
4
+ ![Skills](https://img.shields.io/badge/skills-9-blue.svg)
5
+ ![Agents](https://img.shields.io/badge/agents-Codex%20%7C%20Claude%20%7C%20Cursor%20%7C%20Gemini%20%7C%20Copilot%20%7C%20Windsurf-purple.svg)
6
+ ![Version](https://img.shields.io/badge/version-0.1.0-lightgrey.svg)
7
+
8
+ Hybrid agent skills for using `@joktec/*` libraries in consumer projects.
9
+
10
+ JokTec Skills turns the current JokTec framework knowledge into portable, agent-readable guidance. It helps coding agents understand how to wire `@joktec/core`, database repositories, brokers, adapters, integrations, and tools without copying framework internals into every project prompt.
11
+
12
+ [Official Links](#official-links) | [Supported Packages](#supported-packages) | [Quick Start](#quick-start) | [Skill Catalog](#skill-catalog) | [Agent Installation](#install-into-agents)
13
+
14
+ ---
15
+
16
+ ## Table Of Contents
17
+
18
+ - [Official Links](#official-links)
19
+ - [Supported Packages](#supported-packages)
20
+ - [What Is This?](#what-is-this)
21
+ - [Why Use It?](#why-use-it)
22
+ - [Skill Catalog](#skill-catalog)
23
+ - [Quick Skill Finder](#quick-skill-finder)
24
+ - [Quick Start](#quick-start)
25
+ - [CLI Usage](#cli-usage)
26
+ - [Install Into Agents](#install-into-agents)
27
+ - [Generated Adapters](#generated-adapters)
28
+ - [Repository Layout](#repository-layout)
29
+ - [Maintenance Workflow](#maintenance-workflow)
30
+ - [Publish Workflow](#publish-workflow)
31
+ - [Source Of Truth](#source-of-truth)
32
+ - [License](#license)
33
+
34
+ ---
35
+
36
+ ## Official Links
37
+
38
+ - Framework source: [github.com/joktec/joktec-framework](https://github.com/joktec/joktec-framework)
39
+ - NPM organization: [npmjs.com/org/joktec](https://www.npmjs.com/org/joktec)
40
+ - Local source-of-truth path: `../joktec-framework`
41
+
42
+ When local source is available, prefer local framework files over remote links. Remote links are fallback references for projects or agents that do not have the framework checkout mounted.
43
+
44
+ ---
45
+
46
+ ## Supported Packages
47
+
48
+ | Group | Packages |
49
+ | --- | --- |
50
+ | Common | [`@joktec/core`](https://www.npmjs.com/package/@joktec/core), [`@joktec/utils`](https://www.npmjs.com/package/@joktec/utils), [`@joktec/cron`](https://www.npmjs.com/package/@joktec/cron), [`@joktec/types`](https://www.npmjs.com/package/@joktec/types) |
51
+ | Databases | [`@joktec/mongo`](https://www.npmjs.com/package/@joktec/mongo), [`@joktec/mysql`](https://www.npmjs.com/package/@joktec/mysql), [`@joktec/elastic`](https://www.npmjs.com/package/@joktec/elastic), [`@joktec/arango`](https://www.npmjs.com/package/@joktec/arango), [`@joktec/bigquery`](https://www.npmjs.com/package/@joktec/bigquery) |
52
+ | Brokers | [`@joktec/kafka`](https://www.npmjs.com/package/@joktec/kafka), [`@joktec/rabbit`](https://www.npmjs.com/package/@joktec/rabbit), [`@joktec/sqs`](https://www.npmjs.com/package/@joktec/sqs), [`@joktec/redcast`](https://www.npmjs.com/package/@joktec/redcast) |
53
+ | Adapters | [`@joktec/cacher`](https://www.npmjs.com/package/@joktec/cacher), [`@joktec/mailer`](https://www.npmjs.com/package/@joktec/mailer), [`@joktec/notifier`](https://www.npmjs.com/package/@joktec/notifier), [`@joktec/storage`](https://www.npmjs.com/package/@joktec/storage) |
54
+ | Integrations | [`@joktec/firebase`](https://www.npmjs.com/package/@joktec/firebase), [`@joktec/gpt`](https://www.npmjs.com/package/@joktec/gpt) |
55
+ | Tools | [`@joktec/http`](https://www.npmjs.com/package/@joktec/http), [`@joktec/file`](https://www.npmjs.com/package/@joktec/file), [`@joktec/alert`](https://www.npmjs.com/package/@joktec/alert) |
56
+
57
+ Each package also has source documentation in the framework repository under [`packages/`](https://github.com/joktec/joktec-framework/tree/main/packages).
58
+
59
+ ---
60
+
61
+ ## What Is This?
62
+
63
+ `joktec-skills` is a curated skill pack for agents working in projects that consume JokTec libraries.
64
+
65
+ It is not a framework implementation repo. It is the distribution layer for agent context:
66
+
67
+ - concise `SKILL.md` files for Codex/Claude-style skill loading
68
+ - focused references for deeper package behavior
69
+ - generated rules/instructions for Cursor, Gemini, GitHub Copilot, and Windsurf
70
+ - validation scripts to keep the skill pack consistent
71
+
72
+ The implementation source of truth remains `joktec-framework`.
73
+
74
+ ---
75
+
76
+ ## Why Use It?
77
+
78
+ Without this pack, every consumer project needs to re-explain how JokTec packages work:
79
+
80
+ ```text
81
+ Please inspect the framework, understand BaseController, MongoRepo, MysqlRepo, brokers, adapters...
82
+ ```
83
+
84
+ With this pack, the agent can load focused package guidance:
85
+
86
+ ```text
87
+ Use joktec-mongo-skill to implement a Mongo-backed resource with MongoModule, MongoRepo, schema decorators, and cursor pagination.
88
+ ```
89
+
90
+ The result is less prompt repetition, better package boundary discipline, and more consistent implementation across projects using `@joktec/*`.
91
+
92
+ ---
93
+
94
+ ## Skill Catalog
95
+
96
+ | Skill | Packages | Use When |
97
+ | --- | --- | --- |
98
+ | `joktec-framework-skill` | `@joktec/*` | You need the top-level router for choosing the right JokTec package skill. |
99
+ | `joktec-common-skill` | `@joktec/core`, `@joktec/utils`, `@joktec/cron`, `@joktec/types` | You work with BaseController, BaseService, config, pagination, client lifecycle, utils, cron, or generated config schema types. |
100
+ | `joktec-mongo-skill` | `@joktec/mongo` | You build Mongo schemas, repositories, plugins, strict references, or cursor pagination. |
101
+ | `joktec-mysql-skill` | `@joktec/mysql` | You build TypeORM entities, schema-first columns, repositories, transactions, dialect behavior, or cursor pagination. |
102
+ | `joktec-broker-skill` | `@joktec/kafka`, `@joktec/rabbit`, `@joktec/sqs`, `@joktec/redcast` | You wire messaging clients, decorators, producers, consumers, queues, topics, or broker handlers. |
103
+ | `joktec-adapter-skill` | `@joktec/cacher`, `@joktec/mailer`, `@joktec/notifier`, `@joktec/storage` | You wire cache, mail, push notification, or storage adapters. |
104
+ | `joktec-database-extended-skill` | `@joktec/elastic`, `@joktec/arango`, `@joktec/bigquery` | You use additional database clients outside Mongo/MySQL. |
105
+ | `joktec-integration-skill` | `@joktec/firebase`, `@joktec/gpt` | You wire Firebase or GPT/OpenAI-style integrations. |
106
+ | `joktec-tool-skill` | `@joktec/http`, `@joktec/file`, `@joktec/alert` | You use shared HTTP, file, or alert utility services. |
107
+
108
+ ## Skill Dependencies
109
+
110
+ `joktec-framework-skill` is the required entrypoint skill. Installers should always include it so agents can route from a generic JokTec request to the correct focused skill.
111
+
112
+ `joktec-common-skill` is the default foundation skill. Focused package skills such as Mongo, MySQL, brokers, adapters, integrations, and tools depend on the entrypoint and recommend the common skill because most package usage flows rely on core config, lifecycle, or base abstractions.
113
+
114
+ Dependency metadata lives in `skill-pack.json`:
115
+
116
+ ```json
117
+ {
118
+ "id": "joktec-mongo-skill",
119
+ "dependencies": ["joktec-framework-skill"],
120
+ "recommended": ["joktec-common-skill"]
121
+ }
122
+ ```
123
+
124
+ The CLI resolves `dependencies` automatically. `recommended` skills are shown to the user and can be installed with `--yes` or explicit selection.
125
+
126
+ ---
127
+
128
+ ## Quick Skill Finder
129
+
130
+ | Task | Start With |
131
+ | --- | --- |
132
+ | "Which JokTec package should I use?" | `joktec-framework-skill` |
133
+ | "Create a CRUD controller/service using JokTec base abstractions" | `joktec-common-skill` |
134
+ | "Add Mongo schema and repository" | `joktec-mongo-skill` |
135
+ | "Add MySQL/Postgres entity and repository" | `joktec-mysql-skill` |
136
+ | "Add Kafka/Rabbit/SQS/Redcast messaging" | `joktec-broker-skill` |
137
+ | "Configure cache, mail, notifier, or storage" | `joktec-adapter-skill` |
138
+ | "Use Elastic, Arango, or BigQuery" | `joktec-database-extended-skill` |
139
+ | "Use Firebase or GPT package" | `joktec-integration-skill` |
140
+ | "Use HTTP/file/alert helpers" | `joktec-tool-skill` |
141
+
142
+ ---
143
+
144
+ ## Quick Start
145
+
146
+ After publishing, install skills into a project with `npx`:
147
+
148
+ ```bash
149
+ cd path/to/consumer-project
150
+ npx @joktec/skills add mongo --agent codex --project .
151
+ npx @joktec/skills doctor --project .
152
+ ```
153
+
154
+ For local development before publish, clone or place this repository next to `joktec-framework`:
155
+
156
+ ```bash
157
+ cd ..
158
+ git clone <your-joktec-skills-repo-url> joktec-skills
159
+ cd joktec-skills
160
+ ```
161
+
162
+ Build generated adapter outputs:
163
+
164
+ ```bash
165
+ pnpm run build
166
+ pnpm run validate
167
+ pnpm run sync:check
168
+ ```
169
+
170
+ Use the canonical skills directly from:
171
+
172
+ ```text
173
+ skills/
174
+ ```
175
+
176
+ Or use generated agent-specific outputs from:
177
+
178
+ ```text
179
+ dist/
180
+ ```
181
+
182
+ ---
183
+
184
+ ## CLI Usage
185
+
186
+ `@joktec/skills` ships a project-level CLI. It does not install into global agent folders such as `~/.agents/skills` or `~/.codex/skills` unless you explicitly point `--project` there.
187
+
188
+ Install default skills for Codex:
189
+
190
+ ```bash
191
+ npx @joktec/skills add --agent codex --project .
192
+ ```
193
+
194
+ Install focused skills. Required dependencies are included automatically:
195
+
196
+ ```bash
197
+ npx @joktec/skills add mongo,mysql --agent codex --project .
198
+ ```
199
+
200
+ Install for multiple agents:
201
+
202
+ ```bash
203
+ npx @joktec/skills install --all --agent all --project . --yes
204
+ ```
205
+
206
+ Preview writes without changing files:
207
+
208
+ ```bash
209
+ npx @joktec/skills add mongo --agent cursor --project . --dry-run
210
+ ```
211
+
212
+ Check detected `@joktec/*` package versions against the skill baseline:
213
+
214
+ ```bash
215
+ npx @joktec/skills doctor --project .
216
+ ```
217
+
218
+ List available skills:
219
+
220
+ ```bash
221
+ npx @joktec/skills list
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Install Into Agents
227
+
228
+ ### Codex
229
+
230
+ Project-level install:
231
+
232
+ ```bash
233
+ npx @joktec/skills add --agent codex --project .
234
+ ```
235
+
236
+ This creates:
237
+
238
+ ```text
239
+ .agents/skills/joktec-framework-skill/
240
+ .agents/skills/joktec-common-skill/
241
+ ```
242
+
243
+ Manual copy alternative:
244
+
245
+ ```bash
246
+ mkdir -p .agents/skills
247
+ cp -R dist/codex/skills/* .agents/skills/
248
+ ```
249
+
250
+ Then invoke a skill explicitly:
251
+
252
+ ```text
253
+ Use $joktec-framework-skill to decide which JokTec package skill applies.
254
+ ```
255
+
256
+ ### Claude
257
+
258
+ Project-level install:
259
+
260
+ ```bash
261
+ npx @joktec/skills add --agent claude --project .
262
+ ```
263
+
264
+ Manual copy alternative:
265
+
266
+ ```bash
267
+ mkdir -p .claude/skills
268
+ cp -R dist/claude/skills/* .claude/skills/
269
+ ```
270
+
271
+ Reference the package skill in your project prompt or Claude project instructions:
272
+
273
+ ```text
274
+ Use joktec-mysql-skill when implementing relational resources with @joktec/mysql.
275
+ ```
276
+
277
+ ### Cursor
278
+
279
+ Project-level install:
280
+
281
+ ```bash
282
+ npx @joktec/skills add --agent cursor --project .
283
+ ```
284
+
285
+ Manual copy alternative:
286
+
287
+ ```bash
288
+ mkdir -p .cursor/rules
289
+ cp -R dist/cursor/.cursor/rules/* .cursor/rules/
290
+ ```
291
+
292
+ Cursor will load matching rules based on the generated `globs` metadata.
293
+
294
+ ### Gemini
295
+
296
+ Project-level install:
297
+
298
+ ```bash
299
+ npx @joktec/skills add --agent gemini --project .
300
+ ```
301
+
302
+ Manual copy alternative:
303
+
304
+ ```bash
305
+ cp dist/gemini/GEMINI.md ./GEMINI.md
306
+ ```
307
+
308
+ For larger projects, keep this as a project-level context file and refresh it when the skill pack changes.
309
+
310
+ ### GitHub Copilot
311
+
312
+ Project-level install:
313
+
314
+ ```bash
315
+ npx @joktec/skills add --agent copilot --project .
316
+ ```
317
+
318
+ Manual copy alternative:
319
+
320
+ ```bash
321
+ mkdir -p .github
322
+ cp dist/copilot/.github/copilot-instructions.md .github/copilot-instructions.md
323
+ ```
324
+
325
+ ### Windsurf
326
+
327
+ Project-level install:
328
+
329
+ ```bash
330
+ npx @joktec/skills add --agent windsurf --project .
331
+ ```
332
+
333
+ Manual copy alternative:
334
+
335
+ ```bash
336
+ mkdir -p .windsurf/rules
337
+ cp -R dist/windsurf/.windsurf/rules/* .windsurf/rules/
338
+ ```
339
+
340
+ ---
341
+
342
+ ## Generated Adapters
343
+
344
+ Run:
345
+
346
+ ```bash
347
+ pnpm run build
348
+ ```
349
+
350
+ Output:
351
+
352
+ | Agent | Output |
353
+ | --- | --- |
354
+ | Codex | `dist/codex/skills/*` |
355
+ | Claude | `dist/claude/skills/*` |
356
+ | Cursor | `dist/cursor/.cursor/rules/*.mdc` |
357
+ | Gemini | `dist/gemini/GEMINI.md` |
358
+ | GitHub Copilot | `dist/copilot/.github/copilot-instructions.md` |
359
+ | Windsurf | `dist/windsurf/.windsurf/rules/*.md` |
360
+
361
+ Do not edit `dist/` by hand. Update canonical files under `skills/`, then rebuild.
362
+
363
+ ---
364
+
365
+ ## Repository Layout
366
+
367
+ ```text
368
+ joktec-skills/
369
+ ├── AGENTS.md
370
+ ├── README.md
371
+ ├── skill-pack.json
372
+ ├── skills/
373
+ │ └── joktec-*/SKILL.md
374
+ ├── adapters/
375
+ ├── scripts/
376
+ └── dist/
377
+ ```
378
+
379
+ Important files:
380
+
381
+ - `AGENTS.md`: instructions for agents maintaining this repository.
382
+ - `skill-pack.json`: neutral metadata used by generators.
383
+ - `skills/*/SKILL.md`: canonical skill source.
384
+ - `skills/*/references/*.md`: deeper package guidance.
385
+ - `scripts/validate-skills.mjs`: dependency-free validator.
386
+ - `scripts/sync-from-joktec-framework.mjs`: source availability check.
387
+
388
+ ---
389
+
390
+ ## Maintenance Workflow
391
+
392
+ There are two supported update modes.
393
+
394
+ ### 1. From `joktec-framework`
395
+
396
+ Use this when the active context is the framework repo.
397
+
398
+ ```text
399
+ joktec-framework -> inspect implementation/docs -> update joktec-skills
400
+ ```
401
+
402
+ Best for changes that start from real package implementation work.
403
+
404
+ ### 2. From `joktec-skills`
405
+
406
+ Use this when the active context is the skills repo.
407
+
408
+ ```text
409
+ joktec-skills -> inspect local joktec-framework -> update skills -> rebuild adapters
410
+ ```
411
+
412
+ If local `joktec-framework` is unavailable, use GitHub fallback:
413
+
414
+ ```text
415
+ https://github.com/joktec/joktec-framework
416
+ ```
417
+
418
+ After edits:
419
+
420
+ ```bash
421
+ pnpm run build
422
+ pnpm run sync:check
423
+ pnpm run validate
424
+ ```
425
+
426
+ ---
427
+
428
+ ## Publish Workflow
429
+
430
+ This repository is a single npm package, not a Lerna/Nx monorepo.
431
+
432
+ Package manager target:
433
+
434
+ ```bash
435
+ pnpm --version
436
+ ```
437
+
438
+ Dry-run the publish package:
439
+
440
+ ```bash
441
+ pnpm run pack:check
442
+ ```
443
+
444
+ Publish to the public npm registry:
445
+
446
+ ```bash
447
+ pnpm run publish:registry
448
+ ```
449
+
450
+ One-command version bump plus publish:
451
+
452
+ ```bash
453
+ pnpm run release:patch
454
+ pnpm run release:minor
455
+ pnpm run release:major
456
+ ```
457
+
458
+ `publish:registry` runs build, validation, source sync check, and `pnpm pack --dry-run` before publishing.
459
+
460
+ ---
461
+
462
+ ## Source Of Truth
463
+
464
+ Always prefer the local framework checkout:
465
+
466
+ ```text
467
+ ../joktec-framework
468
+ ```
469
+
470
+ Relevant source files:
471
+
472
+ - `AGENTS.md`
473
+ - `docs/agents/*`
474
+ - `packages/*/AGENTS.md`
475
+ - package-level `AGENTS.md`
476
+ - package README files
477
+ - package source code when docs are unclear
478
+
479
+ If local source is not available, use:
480
+
481
+ ```text
482
+ https://github.com/joktec/joktec-framework
483
+ ```
484
+
485
+ This repository should never document unfinished behavior as implemented behavior.
486
+
487
+ ---
488
+
489
+ ## Design Principles
490
+
491
+ - Keep `SKILL.md` short and intent-focused.
492
+ - Put deeper details in `references/`.
493
+ - Keep canonical content under `skills/`.
494
+ - Generate adapter outputs instead of maintaining them by hand.
495
+ - Do not add non-package workflow skills such as testing, document sync, release, or commit skills.
496
+ - Do not store secrets, credentials, private config, or real connection strings.
497
+
498
+ ---
499
+
500
+ ## License
501
+
502
+ MIT License. See [LICENSE](LICENSE).
@@ -0,0 +1,12 @@
1
+ # Adapter Sources
2
+
3
+ This directory is reserved for agent-specific adapter templates and notes.
4
+
5
+ Generated outputs live under `dist/`:
6
+
7
+ - Cursor: `dist/cursor/.cursor/rules/`
8
+ - Gemini: `dist/gemini/GEMINI.md`
9
+ - GitHub Copilot: `dist/copilot/.github/copilot-instructions.md`
10
+ - Windsurf: `dist/windsurf/.windsurf/rules/`
11
+
12
+ Keep canonical skill content under `skills/`; do not maintain generated adapter output by hand.
@@ -0,0 +1,5 @@
1
+ # GitHub Copilot Adapter
2
+
3
+ Copilot instructions are generated by `npm run build:copilot`.
4
+
5
+ Do not edit files under `dist/copilot/` by hand. Update canonical skills under `skills/` and rebuild.
@@ -0,0 +1,5 @@
1
+ # Cursor Adapter
2
+
3
+ Cursor rules are generated by `npm run build:cursor`.
4
+
5
+ Do not edit files under `dist/cursor/` by hand. Update canonical skills under `skills/` and rebuild.
@@ -0,0 +1,5 @@
1
+ # Gemini Adapter
2
+
3
+ Gemini context is generated by `npm run build:gemini`.
4
+
5
+ Do not edit files under `dist/gemini/` by hand. Update canonical skills under `skills/` and rebuild.
@@ -0,0 +1,5 @@
1
+ # Windsurf Adapter
2
+
3
+ Windsurf rules are generated by `npm run build:windsurf`.
4
+
5
+ Do not edit files under `dist/windsurf/` by hand. Update canonical skills under `skills/` and rebuild.