@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.
- package/AGENTS.md +89 -0
- package/LICENSE +21 -0
- package/README.md +502 -0
- package/adapters/README.md +12 -0
- package/adapters/copilot/README.md +5 -0
- package/adapters/cursor/README.md +5 -0
- package/adapters/gemini/README.md +5 -0
- package/adapters/windsurf/README.md +5 -0
- package/bin/joktec-skills.mjs +553 -0
- package/dist/claude/skills/joktec-adapter-skill/SKILL.md +26 -0
- package/dist/claude/skills/joktec-adapter-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-adapter-skill/references/adapters.md +12 -0
- package/dist/claude/skills/joktec-broker-skill/SKILL.md +26 -0
- package/dist/claude/skills/joktec-broker-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-broker-skill/references/brokers.md +12 -0
- package/dist/claude/skills/joktec-common-skill/SKILL.md +28 -0
- package/dist/claude/skills/joktec-common-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-common-skill/references/core.md +19 -0
- package/dist/claude/skills/joktec-common-skill/references/utils-cron.md +17 -0
- package/dist/claude/skills/joktec-database-extended-skill/SKILL.md +25 -0
- package/dist/claude/skills/joktec-database-extended-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-database-extended-skill/references/extended-databases.md +11 -0
- package/dist/claude/skills/joktec-framework-skill/SKILL.md +31 -0
- package/dist/claude/skills/joktec-framework-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-framework-skill/references/framework-map.md +25 -0
- package/dist/claude/skills/joktec-integration-skill/SKILL.md +24 -0
- package/dist/claude/skills/joktec-integration-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-integration-skill/references/integrations.md +9 -0
- package/dist/claude/skills/joktec-mongo-skill/SKILL.md +22 -0
- package/dist/claude/skills/joktec-mongo-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-mongo-skill/references/repository.md +20 -0
- package/dist/claude/skills/joktec-mongo-skill/references/schema-and-plugins.md +17 -0
- package/dist/claude/skills/joktec-mysql-skill/SKILL.md +22 -0
- package/dist/claude/skills/joktec-mysql-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-mysql-skill/references/entities.md +15 -0
- package/dist/claude/skills/joktec-mysql-skill/references/repository.md +23 -0
- package/dist/claude/skills/joktec-tool-skill/SKILL.md +25 -0
- package/dist/claude/skills/joktec-tool-skill/agents/openai.yaml +4 -0
- package/dist/claude/skills/joktec-tool-skill/references/tools.md +13 -0
- package/dist/codex/skills/joktec-adapter-skill/SKILL.md +26 -0
- package/dist/codex/skills/joktec-adapter-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-adapter-skill/references/adapters.md +12 -0
- package/dist/codex/skills/joktec-broker-skill/SKILL.md +26 -0
- package/dist/codex/skills/joktec-broker-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-broker-skill/references/brokers.md +12 -0
- package/dist/codex/skills/joktec-common-skill/SKILL.md +28 -0
- package/dist/codex/skills/joktec-common-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-common-skill/references/core.md +19 -0
- package/dist/codex/skills/joktec-common-skill/references/utils-cron.md +17 -0
- package/dist/codex/skills/joktec-database-extended-skill/SKILL.md +25 -0
- package/dist/codex/skills/joktec-database-extended-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-database-extended-skill/references/extended-databases.md +11 -0
- package/dist/codex/skills/joktec-framework-skill/SKILL.md +31 -0
- package/dist/codex/skills/joktec-framework-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-framework-skill/references/framework-map.md +25 -0
- package/dist/codex/skills/joktec-integration-skill/SKILL.md +24 -0
- package/dist/codex/skills/joktec-integration-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-integration-skill/references/integrations.md +9 -0
- package/dist/codex/skills/joktec-mongo-skill/SKILL.md +22 -0
- package/dist/codex/skills/joktec-mongo-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-mongo-skill/references/repository.md +20 -0
- package/dist/codex/skills/joktec-mongo-skill/references/schema-and-plugins.md +17 -0
- package/dist/codex/skills/joktec-mysql-skill/SKILL.md +22 -0
- package/dist/codex/skills/joktec-mysql-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-mysql-skill/references/entities.md +15 -0
- package/dist/codex/skills/joktec-mysql-skill/references/repository.md +23 -0
- package/dist/codex/skills/joktec-tool-skill/SKILL.md +25 -0
- package/dist/codex/skills/joktec-tool-skill/agents/openai.yaml +4 -0
- package/dist/codex/skills/joktec-tool-skill/references/tools.md +13 -0
- package/dist/copilot/.github/copilot-instructions.md +459 -0
- package/dist/cursor/.cursor/rules/joktec-adapter-skill.mdc +44 -0
- package/dist/cursor/.cursor/rules/joktec-broker-skill.mdc +44 -0
- package/dist/cursor/.cursor/rules/joktec-common-skill.mdc +73 -0
- package/dist/cursor/.cursor/rules/joktec-database-extended-skill.mdc +42 -0
- package/dist/cursor/.cursor/rules/joktec-framework-skill.mdc +62 -0
- package/dist/cursor/.cursor/rules/joktec-integration-skill.mdc +39 -0
- package/dist/cursor/.cursor/rules/joktec-mongo-skill.mdc +68 -0
- package/dist/cursor/.cursor/rules/joktec-mysql-skill.mdc +69 -0
- package/dist/cursor/.cursor/rules/joktec-tool-skill.mdc +44 -0
- package/dist/gemini/GEMINI.md +477 -0
- package/dist/windsurf/.windsurf/rules/joktec-adapter-skill.md +40 -0
- package/dist/windsurf/.windsurf/rules/joktec-broker-skill.md +40 -0
- package/dist/windsurf/.windsurf/rules/joktec-common-skill.md +69 -0
- package/dist/windsurf/.windsurf/rules/joktec-database-extended-skill.md +38 -0
- package/dist/windsurf/.windsurf/rules/joktec-framework-skill.md +58 -0
- package/dist/windsurf/.windsurf/rules/joktec-integration-skill.md +35 -0
- package/dist/windsurf/.windsurf/rules/joktec-mongo-skill.md +64 -0
- package/dist/windsurf/.windsurf/rules/joktec-mysql-skill.md +65 -0
- package/dist/windsurf/.windsurf/rules/joktec-tool-skill.md +40 -0
- package/package.json +69 -0
- package/scripts/build-copilot-instructions.mjs +22 -0
- package/scripts/build-cursor-rules.mjs +23 -0
- package/scripts/build-gemini-md.mjs +22 -0
- package/scripts/build-skill-folders.mjs +16 -0
- package/scripts/build-windsurf-rules.mjs +18 -0
- package/scripts/lib.mjs +110 -0
- package/scripts/sync-from-joktec-framework.mjs +53 -0
- package/scripts/validate-skills.mjs +78 -0
- package/skill-pack.json +146 -0
- package/skills/joktec-adapter-skill/SKILL.md +26 -0
- package/skills/joktec-adapter-skill/agents/openai.yaml +4 -0
- package/skills/joktec-adapter-skill/references/adapters.md +12 -0
- package/skills/joktec-broker-skill/SKILL.md +26 -0
- package/skills/joktec-broker-skill/agents/openai.yaml +4 -0
- package/skills/joktec-broker-skill/references/brokers.md +12 -0
- package/skills/joktec-common-skill/SKILL.md +28 -0
- package/skills/joktec-common-skill/agents/openai.yaml +4 -0
- package/skills/joktec-common-skill/references/core.md +19 -0
- package/skills/joktec-common-skill/references/utils-cron.md +17 -0
- package/skills/joktec-database-extended-skill/SKILL.md +25 -0
- package/skills/joktec-database-extended-skill/agents/openai.yaml +4 -0
- package/skills/joktec-database-extended-skill/references/extended-databases.md +11 -0
- package/skills/joktec-framework-skill/SKILL.md +31 -0
- package/skills/joktec-framework-skill/agents/openai.yaml +4 -0
- package/skills/joktec-framework-skill/references/framework-map.md +25 -0
- package/skills/joktec-integration-skill/SKILL.md +24 -0
- package/skills/joktec-integration-skill/agents/openai.yaml +4 -0
- package/skills/joktec-integration-skill/references/integrations.md +9 -0
- package/skills/joktec-mongo-skill/SKILL.md +22 -0
- package/skills/joktec-mongo-skill/agents/openai.yaml +4 -0
- package/skills/joktec-mongo-skill/references/repository.md +20 -0
- package/skills/joktec-mongo-skill/references/schema-and-plugins.md +17 -0
- package/skills/joktec-mysql-skill/SKILL.md +22 -0
- package/skills/joktec-mysql-skill/agents/openai.yaml +4 -0
- package/skills/joktec-mysql-skill/references/entities.md +15 -0
- package/skills/joktec-mysql-skill/references/repository.md +23 -0
- package/skills/joktec-tool-skill/SKILL.md +25 -0
- package/skills/joktec-tool-skill/agents/openai.yaml +4 -0
- 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
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
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.
|