Skip to content

Commit d6979dd

Browse files
committed
style: apply deno fmt to all markdown files
Consistent formatting via deno fmt: - Align markdown table columns - Wrap long lines - Format code blocks in examples
1 parent 3b28b74 commit d6979dd

File tree

7 files changed

+72
-42
lines changed

7 files changed

+72
-42
lines changed

.claude/rules/plugin-maintenance.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ paths: "plugins/**/*"
44

55
# Claude Code Plugin Maintenance Guide
66

7-
When creating or modifying plugin configuration files, follow these context-optimization principles.
7+
When creating or modifying plugin configuration files, follow these
8+
context-optimization principles.
89

910
## Configuration Selection Framework
1011

11-
Choose configuration type based on **when context should load** and **how context should be shared**:
12+
Choose configuration type based on **when context should load** and **how
13+
context should be shared**:
1214

1315
| Type | Trigger | Context Isolation | Startup Loading |
1416
| ----------- | ------------ | ----------------- | ------------------------------ |
@@ -20,9 +22,11 @@ Choose configuration type based on **when context should load** and **how contex
2022
## Anti-Patterns to Avoid
2123

2224
1. **Context bloat**: Move task-specific procedures to slash commands
23-
2. **Duplicated content**: If skill and command overlap, have skill invoke the command
25+
2. **Duplicated content**: If skill and command overlap, have skill invoke the
26+
command
2427
3. **Shared rules in multiple agents**: Extract to skill (conditional)
25-
4. **Heavyweight tasks in main context**: Use agent when trial-and-error would pollute context
28+
4. **Heavyweight tasks in main context**: Use agent when trial-and-error would
29+
pollute context
2630

2731
## Best Practices
2832

@@ -66,6 +70,7 @@ Use `/example:command` slash command to do X.
6670
```
6771

6872
Benefits:
73+
6974
- Auto-triggers when Claude detects intent
7075
- Allows explicit command for manual control
7176
- Eliminates duplication

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# jsr-probitas Claude Plugins
22

3-
Official Claude Code plugin marketplace for [Probitas](https://jsr-probitas.github.io/documents/) ecosystem.
3+
Official Claude Code plugin marketplace for
4+
[Probitas](https://jsr-probitas.github.io/documents/) ecosystem.
45

56
## Available Plugins
67

7-
| Plugin | Description |
8-
|--------|-------------|
8+
| Plugin | Description |
9+
| ------------------------------ | -------------------------------------- |
910
| [probitas](./plugins/probitas) | Scenario testing framework integration |
1011

1112
## Installation

plugins/probitas/README.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
# Probitas Plugin for Claude Code
22

3-
Integration plugin for [Probitas](https://jsr-probitas.github.io/documents/) scenario testing framework.
3+
Integration plugin for [Probitas](https://jsr-probitas.github.io/documents/)
4+
scenario testing framework.
45

56
## Features
67

78
### Rules
89

9-
- **conventions** - File structure, naming, and coding conventions (always applied)
10+
- **conventions** - File structure, naming, and coding conventions (always
11+
applied)
1012

1113
### Skills
1214

1315
- **probitas** - Scenario testing knowledge and patterns (on-demand)
1416

1517
### Commands
1618

17-
| Command | Description |
18-
|---------|-------------|
19-
| `/probitas:init` | Initialize a Probitas project |
20-
| `/probitas:run [selector]` | Run scenarios |
21-
| `/probitas:new <type>` | Generate scenario template |
22-
| `/probitas:check` | Run syntax check |
19+
| Command | Description |
20+
| -------------------------- | ----------------------------- |
21+
| `/probitas:init` | Initialize a Probitas project |
22+
| `/probitas:run [selector]` | Run scenarios |
23+
| `/probitas:new <type>` | Generate scenario template |
24+
| `/probitas:check` | Run syntax check |
2325

2426
### Agents
2527

26-
- **scenario-writer** - Specialized agent for creating integration test scenarios
28+
- **scenario-writer** - Specialized agent for creating integration test
29+
scenarios
2730

2831
## Installation
2932

plugins/probitas/agents/scenario-writer.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ Expert Probitas scenario writer. Documentation-driven, best practices.
77

88
## Workflow
99

10-
1. **Before**: Fetch docs via WebFetch (https://jsr-probitas.github.io/documents/llms.txt)
10+
1. **Before**: Fetch docs via WebFetch
11+
(https://jsr-probitas.github.io/documents/llms.txt)
1112
2. **During**: Use `probitas` skill patterns, follow conventions
1213
3. **After**: Run `/probitas:check`, fix issues
1314

@@ -24,5 +25,6 @@ Expert Probitas scenario writer. Documentation-driven, best practices.
2425
## When Uncertain
2526

2627
Fetch specific docs:
28+
2729
- Client: https://jsr-probitas.github.io/documents/docs/client/index.md
2830
- Assertions: https://jsr-probitas.github.io/documents/docs/expect/index.md

plugins/probitas/commands/new.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ description: Generate scenario template (http, database, grpc, graphql)
44

55
## Workflow
66

7-
1. Fetch template info from https://jsr-probitas.github.io/documents/docs/scenario/index.md
7+
1. Fetch template info from
8+
https://jsr-probitas.github.io/documents/docs/scenario/index.md
89
2. Generate template based on type argument
910
3. Save to `probitas/{name}.probitas.ts`
1011
4. Run `deno check probitas/{name}.probitas.ts`
@@ -17,9 +18,10 @@ description: Generate scenario template (http, database, grpc, graphql)
1718
import { client, expect, scenario } from "jsr:@probitas/probitas";
1819

1920
export default scenario("HTTP API Test", { tags: ["http"] })
20-
.resource("http", () => client.http.createHttpClient({
21-
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
22-
}))
21+
.resource("http", () =>
22+
client.http.createHttpClient({
23+
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
24+
}))
2325
.step("GET request", async (ctx) => {
2426
const res = await ctx.resources.http.get("/health");
2527
expect(res).toBeOk().toHaveStatus(200);
@@ -33,9 +35,10 @@ export default scenario("HTTP API Test", { tags: ["http"] })
3335
import { client, expect, scenario } from "jsr:@probitas/probitas";
3436

3537
export default scenario("Database Test", { tags: ["database"] })
36-
.resource("db", () => client.sql.postgres.createPostgresClient({
37-
url: Deno.env.get("DATABASE_URL") ?? "postgres://localhost:5432/testdb",
38-
}))
38+
.resource("db", () =>
39+
client.sql.postgres.createPostgresClient({
40+
url: Deno.env.get("DATABASE_URL") ?? "postgres://localhost:5432/testdb",
41+
}))
3942
.step("Query", async (ctx) => {
4043
const result = await ctx.resources.db.query("SELECT 1 as value");
4144
expect(result).toHaveRowCount(1);

plugins/probitas/rules/scenario-writing.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,27 @@ export default scenario("Name", { tags: ["..."] })
1616

1717
## Split vs Single Scenario
1818

19-
**Split into array** for independent tests (parallel execution, better failure identification):
19+
**Split into array** for independent tests (parallel execution, better failure
20+
identification):
2021

2122
```typescript
2223
export default [
2324
scenario("Validation - rejects empty name", { tags: ["validation"] })
2425
.resource("http", () => client.http.createHttpClient({ url: "..." }))
2526
.step("Test", async (ctx) => {
26-
const res = await ctx.resources.http.post("/users", { body: { name: "" } });
27+
const res = await ctx.resources.http.post("/users", {
28+
body: { name: "" },
29+
});
2730
expect(res).toHaveStatus(400);
2831
})
2932
.build(),
3033

3134
scenario("Validation - rejects invalid email", { tags: ["validation"] })
3235
.resource("http", () => client.http.createHttpClient({ url: "..." }))
3336
.step("Test", async (ctx) => {
34-
const res = await ctx.resources.http.post("/users", { body: { email: "bad" } });
37+
const res = await ctx.resources.http.post("/users", {
38+
body: { email: "bad" },
39+
});
3540
expect(res).toHaveStatus(400);
3641
})
3742
.build(),
@@ -44,7 +49,9 @@ export default [
4449
export default scenario("User CRUD workflow", { tags: ["crud"] })
4550
.resource("http", () => client.http.createHttpClient({ url: "..." }))
4651
.step("Create", async (ctx) => {
47-
const res = await ctx.resources.http.post("/users", { body: { name: "Alice" } });
52+
const res = await ctx.resources.http.post("/users", {
53+
body: { name: "Alice" },
54+
});
4855
return res.json<{ id: number }>()!;
4956
})
5057
.step("Get", async (ctx) => {
@@ -70,12 +77,12 @@ export default scenario("Test").step(() => {}).build();
7077

7178
```typescript
7279
// BAD: Hardcoded URL
73-
client.http.createHttpClient({ url: "http://localhost:8080" })
80+
client.http.createHttpClient({ url: "http://localhost:8080" });
7481

7582
// GOOD: Use environment variable with fallback
7683
client.http.createHttpClient({
7784
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
78-
})
85+
});
7986
```
8087

8188
```typescript

plugins/probitas/skills/probitas/SKILL.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,27 @@ import { client, expect, scenario } from "jsr:@probitas/probitas";
2828

2929
export default [
3030
scenario("Validation - empty name", { tags: ["validation"] })
31-
.resource("http", () => client.http.createHttpClient({
32-
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
33-
}))
31+
.resource("http", () =>
32+
client.http.createHttpClient({
33+
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
34+
}))
3435
.step("Test", async (ctx) => {
35-
const res = await ctx.resources.http.post("/users", { body: { name: "" } });
36+
const res = await ctx.resources.http.post("/users", {
37+
body: { name: "" },
38+
});
3639
expect(res).toHaveStatus(400);
3740
})
3841
.build(),
3942

4043
scenario("Validation - invalid email", { tags: ["validation"] })
41-
.resource("http", () => client.http.createHttpClient({
42-
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
43-
}))
44+
.resource("http", () =>
45+
client.http.createHttpClient({
46+
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
47+
}))
4448
.step("Test", async (ctx) => {
45-
const res = await ctx.resources.http.post("/users", { body: { email: "bad" } });
49+
const res = await ctx.resources.http.post("/users", {
50+
body: { email: "bad" },
51+
});
4652
expect(res).toHaveStatus(400);
4753
})
4854
.build(),
@@ -53,11 +59,14 @@ export default [
5359

5460
```typescript
5561
export default scenario("CRUD workflow", { tags: ["crud"] })
56-
.resource("http", () => client.http.createHttpClient({
57-
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
58-
}))
62+
.resource("http", () =>
63+
client.http.createHttpClient({
64+
url: Deno.env.get("API_URL") ?? "http://localhost:8080",
65+
}))
5966
.step("Create", async (ctx) => {
60-
const res = await ctx.resources.http.post("/users", { body: { name: "Alice" } });
67+
const res = await ctx.resources.http.post("/users", {
68+
body: { name: "Alice" },
69+
});
6170
return res.json<{ id: number }>()!;
6271
})
6372
.step("Get", async (ctx) => {

0 commit comments

Comments
 (0)