@camcima/nestjs-rfc9457 0.3.0 → 0.3.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/README.md +31 -0
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ NestJS library for [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) Problem De
|
|
|
23
23
|
- [What is RFC 9457?](#what-is-rfc-9457)
|
|
24
24
|
- [Features](#features)
|
|
25
25
|
- [Installation](#installation)
|
|
26
|
+
- [Coding Agent Skill](#coding-agent-skill)
|
|
26
27
|
- [Quick Start](#quick-start)
|
|
27
28
|
- [Configuration](#configuration)
|
|
28
29
|
- [Async Configuration](#async-configuration)
|
|
@@ -111,6 +112,36 @@ pnpm add @camcima/nestjs-rfc9457
|
|
|
111
112
|
|
|
112
113
|
---
|
|
113
114
|
|
|
115
|
+
## Coding Agent Skill
|
|
116
|
+
|
|
117
|
+
This repository ships an [agent skill](./skills/configure-nestjs-rfc9457/SKILL.md) that teaches AI coding agents (Claude Code, Cursor, Cline, Copilot, and others) how to install and wire `@camcima/nestjs-rfc9457` into a NestJS project. It covers module registration, Tier 1/Tier 2 validation, Swagger integration, custom exception types via `@ProblemType()`, and async configuration with `ConfigService`.
|
|
118
|
+
|
|
119
|
+
### Install via the [Vercel skills CLI](https://github.com/vercel-labs/skills)
|
|
120
|
+
|
|
121
|
+
From the root of the NestJS project where you want the agent to use the skill:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npx skills add camcima/nestjs-rfc9457
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
The CLI auto-detects your agent (Claude Code, Cursor, Cline, etc.) and installs the skill into the right location. After installation, ask your agent something like _"set up RFC 9457 problem details in this project"_ — the skill activates automatically and the agent will follow it to install the package, register `Rfc9457Module`, and apply any optional integrations you ask for.
|
|
128
|
+
|
|
129
|
+
To list installed skills: `npx skills list`. To remove: `npx skills remove configure-nestjs-rfc9457`.
|
|
130
|
+
|
|
131
|
+
### Manual install
|
|
132
|
+
|
|
133
|
+
If you don't use the Vercel CLI, copy the skill folder directly into your agent's skill directory. Common locations:
|
|
134
|
+
|
|
135
|
+
| Agent | Path |
|
|
136
|
+
| ------------- | ------------------------------------------ |
|
|
137
|
+
| Claude Code | `.claude/skills/configure-nestjs-rfc9457/` |
|
|
138
|
+
| Cursor | `.cursor/skills/configure-nestjs-rfc9457/` |
|
|
139
|
+
| Generic / SDK | `.agents/skills/configure-nestjs-rfc9457/` |
|
|
140
|
+
|
|
141
|
+
The skill is a single self-contained `SKILL.md` — no scripts or assets are required.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
114
145
|
## Quick Start
|
|
115
146
|
|
|
116
147
|
Import `Rfc9457Module` once in your root `AppModule`. Because the module is **global**, you do not need to import it in any other module — the exception filter applies everywhere in your application automatically.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camcima/nestjs-rfc9457",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "NestJS library for RFC 9457 Problem Details responses",
|
|
5
5
|
"author": "Carlos Cima",
|
|
6
6
|
"license": "MIT",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"format": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
|
|
30
30
|
"format:fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'",
|
|
31
31
|
"test": "jest",
|
|
32
|
-
"test:unit": "jest --
|
|
33
|
-
"test:e2e": "jest --
|
|
32
|
+
"test:unit": "jest --testPathPatterns=test/unit",
|
|
33
|
+
"test:e2e": "jest --testPathPatterns=test/e2e",
|
|
34
34
|
"test:cov": "jest --coverage",
|
|
35
35
|
"prepublishOnly": "pnpm run build",
|
|
36
36
|
"release": "release-it",
|
|
@@ -64,23 +64,23 @@
|
|
|
64
64
|
"@types/jest": "^30.0.0",
|
|
65
65
|
"@types/node": "^25.6.0",
|
|
66
66
|
"@types/supertest": "^7.2.0",
|
|
67
|
-
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
68
|
-
"@typescript-eslint/parser": "^7.0.0",
|
|
69
67
|
"class-transformer": "^0.5.0",
|
|
70
68
|
"class-validator": "^0.14.0",
|
|
71
|
-
"eslint": "^
|
|
72
|
-
"eslint-config-prettier": "^
|
|
69
|
+
"eslint": "^10.2.1",
|
|
70
|
+
"eslint-config-prettier": "^10.1.8",
|
|
73
71
|
"eslint-plugin-prettier": "^5.0.0",
|
|
72
|
+
"globals": "^17.5.0",
|
|
74
73
|
"jest": "^30.3.0",
|
|
75
74
|
"lefthook": "^1.0.0",
|
|
76
75
|
"prettier": "^3.8.3",
|
|
77
76
|
"reflect-metadata": "^0.2.0",
|
|
78
|
-
"release-it": "^
|
|
77
|
+
"release-it": "^20.0.1",
|
|
79
78
|
"rxjs": "^7.0.0",
|
|
80
79
|
"supertest": "^7.0.0",
|
|
81
80
|
"ts-jest": "^29.0.0",
|
|
82
81
|
"ts-node": "^10.9.2",
|
|
83
|
-
"typescript": "^6.0.2"
|
|
82
|
+
"typescript": "^6.0.2",
|
|
83
|
+
"typescript-eslint": "^8.59.1"
|
|
84
84
|
},
|
|
85
85
|
"pnpm": {
|
|
86
86
|
"overrides": {
|