Skip to content

Commit 53e032d

Browse files
Copilotmdelapenya
andcommitted
Reorganize to match new plugins/testcontainers layout structure
- Move testcontainers-go to plugins/testcontainers/skills/testcontainers-go/ - Move testcontainers-dotnet to plugins/testcontainers/skills/testcontainers-dotnet/ - Create plugins/testcontainers/.claude-plugin/plugin.json - Update marketplace.json to reference single testcontainers plugin - Update workflow to use new paths for both skills - Update README with new paths and installation instructions - Remove old directories and CODEOWNERS file - Both .NET and Go examples build successfully in new locations Co-authored-by: mdelapenya <951580+mdelapenya@users.noreply.github.com>
1 parent 70dfee8 commit 53e032d

25 files changed

Lines changed: 37 additions & 71 deletions

.claude-plugin/marketplace.json

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,15 @@
1111
},
1212
"plugins": [
1313
{
14-
"name": "testcontainers-go",
15-
"source": "./testcontainers-go",
16-
"description": "A comprehensive guide for using Testcontainers for Go to write reliable integration tests with Docker containers in Go projects. Supports 62+ pre-configured modules for databases, message queues, cloud services, and more.",
14+
"name": "testcontainers",
15+
"source": "./plugins/testcontainers",
16+
"description": "Testcontainers skills for writing reliable integration tests with Docker containers across multiple languages (Go, .NET, Python, and more)",
1717
"version": "1.0.0",
1818
"author": {
1919
"name": "Testcontainers",
2020
"email": "info@testcontainers.org"
2121
},
22-
"keywords": ["testcontainers", "go", "docker", "integration-testing", "testing", "containers", "databases", "postgres", "redis", "kafka", "mysql", "mongodb"],
23-
"category": "development",
24-
"strict": false
25-
},
26-
{
27-
"name": "testcontainers-dotnet",
28-
"source": "./testcontainers-dotnet",
29-
"description": "A comprehensive guide for using Testcontainers for .NET to write reliable integration tests with Docker containers in .NET projects. Supports 65+ pre-configured modules for databases, message queues, cloud services, and more.",
30-
"version": "1.0.0",
31-
"author": {
32-
"name": "Testcontainers",
33-
"email": "info@testcontainers.org"
34-
},
35-
"keywords": ["testcontainers", "dotnet", "csharp", "containers", "docker", "integration-testing", "testing", "mstest", "nunit", "xunit", "databases", "mongodb", "postgres", "sqlserver", "message-queues", "redis", "rabbitmq", "kafka", "entityframework"],
22+
"keywords": ["testcontainers", "go", "dotnet", "csharp", "python", "docker", "integration-testing", "testing", "containers", "databases", "mongodb", "postgres", "sqlserver", "message-queues", "redis", "rabbitmq", "kafka", "mysql", "entityframework"],
3623
"category": "development",
3724
"strict": false
3825
}

.github/CODEOWNERS

Lines changed: 0 additions & 13 deletions
This file was deleted.

.github/workflows/test-skills.yml

Lines changed: 18 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,25 @@ name: Test Skills
33
on:
44
push:
55
branches: [ main, copilot/** ]
6+
paths:
7+
- 'plugins/testcontainers/**'
8+
- '.github/workflows/test-skills.yml'
69
pull_request:
710
branches: [ main ]
11+
paths:
12+
- 'plugins/testcontainers/**'
13+
- '.github/workflows/test-skills.yml'
814

915
jobs:
10-
detect-changes:
11-
name: Detect changes
16+
test-testcontainers-go:
17+
name: Test testcontainers-go examples
1218
runs-on: ubuntu-latest
1319
permissions:
1420
contents: read
15-
pull-requests: read
16-
outputs:
17-
go: ${{ steps.filter.outputs.go }}
18-
dotnet: ${{ steps.filter.outputs.dotnet }}
19-
steps:
20-
- name: Checkout code
21-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22-
23-
- name: Check for file changes
24-
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
25-
id: filter
26-
with:
27-
filters: |
28-
go:
29-
- 'testcontainers-go/**'
30-
- '.github/workflows/test-skills.yml'
31-
dotnet:
32-
- 'testcontainers-dotnet/**'
33-
- '.github/workflows/test-skills.yml'
3421

3522
test-testcontainers-go:
3623
name: Test testcontainers-go examples
3724
runs-on: ubuntu-latest
38-
needs: detect-changes
39-
if: needs.detect-changes.outputs.go == 'true'
4025
permissions:
4126
contents: read
4227

@@ -47,33 +32,33 @@ jobs:
4732
- name: Set up Go
4833
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
4934
with:
50-
go-version-file: testcontainers-go/examples/go.mod
51-
cache-dependency-path: testcontainers-go/examples/go.sum
35+
go-version-file: plugins/testcontainers/skills/testcontainers-go/examples/go.mod
36+
cache-dependency-path: plugins/testcontainers/skills/testcontainers-go/examples/go.sum
5237

5338
- name: Verify examples compile
54-
working-directory: testcontainers-go/examples
39+
working-directory: plugins/testcontainers/skills/testcontainers-go/examples
5540
run: |
5641
echo "Building all Go test files..."
5742
go build -v ./...
5843
echo "✅ All examples compiled successfully!"
5944
6045
- name: Download dependencies
61-
working-directory: testcontainers-go/examples
46+
working-directory: plugins/testcontainers/skills/testcontainers-go/examples
6247
run: |
6348
echo "Downloading Go module dependencies..."
6449
go mod download
6550
go mod verify
6651
echo "✅ Dependencies verified!"
6752
6853
- name: Run Go vet
69-
working-directory: testcontainers-go/examples
54+
working-directory: plugins/testcontainers/skills/testcontainers-go/examples
7055
run: |
7156
echo "Running go vet..."
7257
go vet ./...
7358
echo "✅ Go vet passed!"
7459
7560
- name: Check formatting
76-
working-directory: testcontainers-go/examples
61+
working-directory: plugins/testcontainers/skills/testcontainers-go/examples
7762
run: |
7863
echo "Checking Go formatting..."
7964
if [ -n "$(gofmt -l .)" ]; then
@@ -89,7 +74,7 @@ jobs:
8974
docker --version
9075
9176
- name: Run tests
92-
working-directory: testcontainers-go/examples
77+
working-directory: plugins/testcontainers/skills/testcontainers-go/examples
9378
run: |
9479
echo "Running Go tests..."
9580
# Run tests with a timeout since they involve container operations
@@ -100,8 +85,6 @@ jobs:
10085
test-testcontainers-dotnet:
10186
name: Test testcontainers-dotnet examples
10287
runs-on: ubuntu-latest
103-
needs: detect-changes
104-
if: needs.detect-changes.outputs.dotnet == 'true'
10588
permissions:
10689
contents: read
10790

@@ -115,14 +98,14 @@ jobs:
11598
dotnet-version: '8.0.x'
11699

117100
- name: Restore dependencies
118-
working-directory: testcontainers-dotnet/examples
101+
working-directory: plugins/testcontainers/skills/testcontainers-dotnet/examples
119102
run: |
120103
echo "Restoring .NET dependencies..."
121104
dotnet restore
122105
echo "✅ Dependencies restored!"
123106
124107
- name: Build examples
125-
working-directory: testcontainers-dotnet/examples
108+
working-directory: plugins/testcontainers/skills/testcontainers-dotnet/examples
126109
run: |
127110
echo "Building .NET test project..."
128111
dotnet build --no-restore --configuration Release
@@ -134,7 +117,7 @@ jobs:
134117
docker --version
135118
136119
- name: Run tests
137-
working-directory: testcontainers-dotnet/examples
120+
working-directory: plugins/testcontainers/skills/testcontainers-dotnet/examples
138121
run: |
139122
echo "Running .NET tests..."
140123
# Run tests with verbose output and a timeout since they involve container operations

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ A comprehensive guide for using Testcontainers for Go to write reliable integrat
3939
- Create reproducible test environments
4040
- Set up ephemeral test infrastructure
4141

42-
See the [testcontainers-go skill documentation](./testcontainers-go/SKILL.md) for detailed usage instructions and examples.
42+
See the [testcontainers-go skill documentation](./plugins/testcontainers/skills/testcontainers-go/SKILL.md) for detailed usage instructions and examples.
4343

4444
### testcontainers-dotnet
4545
A comprehensive guide for using Testcontainers for .NET to write reliable integration tests with Docker containers in .NET projects. This skill provides:
@@ -57,7 +57,7 @@ A comprehensive guide for using Testcontainers for .NET to write reliable integr
5757
- Create reproducible test environments with Entity Framework Core
5858
- Set up ephemeral test infrastructure
5959

60-
See the [testcontainers-dotnet skill documentation](./testcontainers-dotnet/SKILL.md) for detailed usage instructions and examples.
60+
See the [testcontainers-dotnet skill documentation](./plugins/testcontainers/skills/testcontainers-dotnet/SKILL.md) for detailed usage instructions and examples.
6161

6262
## Try in Claude Code, Claude.ai, and the API
6363

@@ -67,18 +67,18 @@ You can register this repository as a Claude Code Plugin marketplace by running
6767
/plugin marketplace add testcontainers/claude-skills
6868
```
6969

70-
Then, to install the testcontainers-go skill:
70+
Then, to install the testcontainers skill:
7171
1. Select `Browse and install plugins`
7272
2. Select `testcontainers-claude-skills`
73-
3. Select `testcontainers-go`
73+
3. Select `testcontainers`
7474
4. Select `Install now`
7575

7676
Alternatively, directly install the plugin via:
7777
```
78-
/plugin install testcontainers-go@testcontainers-claude-skills
78+
/plugin install testcontainers@testcontainers-claude-skills
7979
```
8080

81-
After installing the plugin, you can use the skill by just mentioning it. For instance: "Use the testcontainers-go skill to help me write an integration test for PostgreSQL"
81+
After installing the plugin, you can use the skills by just mentioning them. For instance: "Use the testcontainers-go skill to help me write an integration test for PostgreSQL" or "Use the testcontainers-dotnet skill to help me write an integration test for SQL Server"
8282

8383
### Claude.ai
8484

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"name": "testcontainers",
3+
"description": "Testcontainers skills for integration testing with Docker containers across multiple languages",
4+
"version": "1.0.0",
5+
"author": {
6+
"name": "Testcontainers",
7+
"email": "info@testcontainers.org"
8+
}
9+
}

testcontainers-dotnet/LICENSE renamed to plugins/testcontainers/skills/testcontainers-dotnet/LICENSE

File renamed without changes.

testcontainers-dotnet/SKILL.md renamed to plugins/testcontainers/skills/testcontainers-dotnet/SKILL.md

File renamed without changes.

testcontainers-dotnet/examples/.gitignore renamed to plugins/testcontainers/skills/testcontainers-dotnet/examples/.gitignore

File renamed without changes.

testcontainers-dotnet/examples/01_PostgreSqlBasicTests.cs renamed to plugins/testcontainers/skills/testcontainers-dotnet/examples/01_PostgreSqlBasicTests.cs

File renamed without changes.

testcontainers-dotnet/examples/02_RedisCacheTests.cs renamed to plugins/testcontainers/skills/testcontainers-dotnet/examples/02_RedisCacheTests.cs

File renamed without changes.

0 commit comments

Comments
 (0)