Skip to content

Commit 7711c14

Browse files
Improved agent skills definitions.
Co-authored-by: Cole Greer <112986082+Cole-Greer@users.noreply.github.com>
1 parent 7fe79e7 commit 7711c14

10 files changed

Lines changed: 51 additions & 119 deletions

File tree

.skills/tinkerpop-dev/references/build-dotnet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Run from the repository root.
6161

6262
Build and test (requires Docker):
6363
```bash
64-
mvn clean install -pl gremlin-dotnet,gremlin-dotnet-source,gremlin-dotnet-tests
64+
mvn clean install -pl :gremlin-dotnet,:gremlin-dotnet-source,:gremlin-dotnet-tests
6565
```
6666

6767
The test execution uses Docker Compose to:

.skills/tinkerpop-dev/references/build-go.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ under the License.
2121

2222
## Requirements
2323

24-
- **Go 1.22+** — optional for local development; Docker handles test execution via Maven.
24+
- **Go 1.25+** — optional for local development; Docker handles test execution via Maven.
2525
- **Docker and Docker Compose** — required for running tests through Maven.
2626
- **Maven** — preferred build orchestration.
2727

@@ -56,7 +56,7 @@ Run from the repository root.
5656

5757
Build and test (requires Docker):
5858
```bash
59-
mvn clean install -Pglv-go -pl gremlin-go
59+
mvn clean install -Pglv-go -pl :gremlin-go
6060
```
6161

6262
The Maven build uses Docker Compose to:

.skills/tinkerpop-dev/references/build-java.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ mvn clean install -pl <module-name>
2828

2929
Examples:
3030
```bash
31-
mvn clean install -pl tinkergraph-gremlin
32-
mvn clean install -pl gremlin-core
33-
mvn clean install -pl gremlin-server
31+
mvn clean install -pl :tinkergraph-gremlin
32+
mvn clean install -pl :gremlin-core
33+
mvn clean install -pl :gremlin-server
3434
```
3535

3636
Build a module and its dependencies:
3737
```bash
38-
mvn clean install -pl gremlin-server -am
38+
mvn clean install -pl :gremlin-server -am
3939
```
4040

4141
## Gremlin Server
@@ -47,7 +47,7 @@ mvn clean install -pl :gremlin-server -am -DskipTests
4747

4848
Run gremlin-server integration tests:
4949
```bash
50-
mvn clean install -pl gremlin-server -DskipIntegrationTests=false
50+
mvn clean install -pl :gremlin-server -DskipIntegrationTests=false
5151
```
5252

5353
Start Gremlin Server with Docker using the standard test configuration:
@@ -74,7 +74,7 @@ mvn clean install -DtestIteratorLeaks=false
7474

7575
Specify a test seed for reproducible `Random` behavior:
7676
```bash
77-
mvn clean install -DtestSeed
77+
mvn clean install -DtestSeed=<seed-value>
7878
```
7979
When a test fails, the seed is printed in build output (look for "TestHelper" logger).
8080
Re-run with the same seed to reproduce.
@@ -94,7 +94,7 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
9494

9595
Build Docker images of Gremlin Server and Console:
9696
```bash
97-
mvn clean install -pl gremlin-server,gremlin-console -DdockerImages
97+
mvn clean install -pl :gremlin-server,:gremlin-console -DdockerImages
9898
```
9999

100100
Skip automatic Docker image build:

.skills/tinkerpop-dev/references/build-javascript.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ gremlin-js/
4242

4343
## Requirements
4444

45-
- **Node.js 20+** / **npm 10+** — optional; Maven downloads a local copy.
45+
- **Node.js 22+** / **npm 10+** — optional; Maven downloads a local copy.
4646
- **Docker and Docker Compose** — required for integration and feature tests.
4747
- **Maven** — preferred orchestration.
4848

@@ -64,7 +64,7 @@ mvn clean install -pl :gremlint -DskipTests
6464
```
6565

6666
**`-DskipTests` behavior:**
67-
- Skips Docker-based integration and feature tests for `gremlin-javascript`
67+
- Skips Docker-based integration, unit, and feature tests for `gremlin-javascript`
6868
- Skips `npm run validate` (which includes `npm test`) for `gremlin-mcp`
6969
- Still runs `npm run build` and `npm run lint` for all modules
7070

@@ -75,7 +75,7 @@ mvn clean install -pl :gremlin-javascript
7575

7676
If building in isolation fails due to a missing parent:
7777
```bash
78-
mvn clean install -pl gremlin-js -DskipTests
78+
mvn clean install -pl :gremlin-js -DskipTests
7979
```
8080

8181
## npm Commands
@@ -121,7 +121,7 @@ rather than by relative path (`./node_modules/.bin/...`) because dependencies ar
121121

122122
- **`package-lock.json`** — regenerated by `npm install` from `gremlin-js/`. Do not edit
123123
manually. After any `package.json` change in any child, run `npm install` from
124-
`gremlin-js/` and commit the updated lockfile.
124+
`gremlin-js/`.
125125
- **`gremlin-js/pom.xml`** — the `frontend-maven-plugin` block runs `npm ci` with
126126
`<inherited>false</inherited>` so it executes only once at this level. Removing or
127127
moving it will break partial `-pl` child builds.

.skills/tinkerpop-dev/references/dev-environment-setup.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ GLV builds and many integration tests will be skipped.
3939
- **Docker and Docker Compose** — required for all GLV test execution. Docker Desktop includes
4040
both. GLV tests run inside Docker containers, so local language runtimes are optional for
4141
test execution via Maven.
42-
- **Python 3.9+** — optional for local development; Docker handles test execution.
43-
- **Node.js 20+ / npm 10+** — optional; Maven downloads a local copy via `frontend-maven-plugin`.
42+
- **Python 3.10+** — optional for local development; Docker handles test execution.
43+
- **Node.js 22+ / npm 10+** — optional; Maven downloads a local copy via `frontend-maven-plugin`.
4444
Consider [nvm](https://github.com/nvm-sh/nvm) for version management.
4545
- **.NET SDK 8.0+** — optional; Docker handles test execution.
46-
- **Go 1.22+** — optional; Docker handles test execution.
46+
- **Go 1.25+** — optional; Docker handles test execution.
4747

4848
## Environment Verification
4949

@@ -95,9 +95,9 @@ Once `.glv` files are in place, a standard `mvn clean install` will include thos
9595
The `.glv` files are gitignored.
9696

9797
Alternatively, activate GLV builds explicitly with Maven profiles without `.glv` files:
98-
- Python: `mvn clean install -Pglv-python -pl gremlin-python`
99-
- .NET: `mvn clean install -pl gremlin-dotnet,gremlin-dotnet-source,gremlin-dotnet-tests`
100-
- Go: `mvn clean install -Pglv-go -pl gremlin-go`
98+
- Python: `mvn clean install -Pglv-python -pl :gremlin-python`
99+
- .NET: `mvn clean install -Pgremlin-dotnet -pl :gremlin-dotnet,:gremlin-dotnet-source,:gremlin-dotnet-tests`
100+
- Go: `mvn clean install -Pglv-go -pl :gremlin-go`
101101

102102
## Groovy / Ivy Configuration
103103

.skills/tinkerpop-dev/references/documentation.md

Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -43,87 +43,3 @@ Do not use Markdown in the main docs tree. Use AsciiDoc.
4343
1. Place new content in the appropriate book (reference, dev, recipes, etc.).
4444
2. Update the relevant `index.asciidoc` so the new content is included in the build.
4545
3. Follow existing patterns for section structure and formatting.
46-
47-
## Generating Documentation
48-
49-
Documentation generation requires:
50-
- Java 11 (specifically for doc generation)
51-
- Hadoop 3.3.x in pseudo-distributed mode
52-
- GNU versions of `grep`, `awk` (4.0.1+), `sed`, `findutils`, `diffutils`
53-
(on macOS, install via Homebrew)
54-
- `zip` utility
55-
56-
Generate documentation:
57-
```bash
58-
bin/process-docs.sh
59-
```
60-
Output goes to `target/docs/`.
61-
62-
Dry run (don't evaluate code blocks):
63-
```bash
64-
bin/process-docs.sh --dryRun
65-
```
66-
67-
Dry run for specific files:
68-
```bash
69-
bin/process-docs.sh --dryRun docs/src/reference/the-graph.asciidoc,docs/src/tutorial/getting-started,...
70-
```
71-
72-
Full run for specific files only:
73-
```bash
74-
bin/process-docs.sh --fullRun docs/src/reference/the-graph.asciidoc,...
75-
```
76-
77-
Process a single file:
78-
```bash
79-
docs/preprocessor/preprocess-file.sh \
80-
$(pwd)/gremlin-console/target/apache-tinkerpop-gremlin-console-*-standalone \
81-
"" "*" $(pwd)/docs/src/xyz.asciidoc
82-
```
83-
84-
Documentation can also be generated with Docker:
85-
```bash
86-
docker/build.sh -d
87-
```
88-
89-
## Website Generation
90-
91-
Generate the website locally (no Hadoop or special infrastructure needed):
92-
```bash
93-
bin/generate-home.sh
94-
```
95-
Output goes to `target/site/home`.
96-
97-
The `docs/gremlint` web app requires Node.js and npm to be installed locally for
98-
website generation and publishing.
99-
100-
## JavaDoc / JSDoc
101-
102-
Generate JavaDocs and JSDoc:
103-
```bash
104-
mvn process-resources -Djavadoc
105-
```
106-
- JavaDoc output: `target/site/apidocs/`
107-
- JSDoc output: `gremlin-js/gremlin-javascript/doc/`
108-
109-
Use Java 11 for JavaDoc generation.
110-
111-
## Publishing
112-
113-
Deploy documentation:
114-
```bash
115-
bin/publish-docs.sh svn-username
116-
```
117-
118-
Publish website:
119-
```bash
120-
bin/publish-home.sh <username>
121-
```
122-
123-
## Common Issues
124-
125-
- **"Error grabbing grapes"** during plugin installation: delete the problematic
126-
dependency directories from both `~/.m2/` and `~/.groovy/grapes/`.
127-
- **Unexpected OLAP failures**: usually a jar conflict from modified Hadoop/Spark
128-
dependencies. Check `DependencyGrabber` class and plugin loading paths.
129-
- **awk version**: version 4.0.1 is required.

.skills/tinkerpop-dev/scripts/check-env.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,15 @@ echo ""
4444
echo "Core prerequisites:"
4545
if command -v java &>/dev/null; then
4646
java_version=$(java -version 2>&1 | head -1 | sed 's/.*"\(.*\)".*/\1/' | cut -d. -f1)
47-
if [[ "$java_version" -ge 11 ]]; then
48-
ok "Java $java_version (11+ required)"
47+
if [[ "$java_version" -eq 11 || "$java_version" -eq 17 ]]; then
48+
ok "Java $java_version (11 or 17 required)"
49+
elif [[ "$java_version" -gt 17 ]]; then
50+
bad "Java $java_version found — only Java 11 or 17 are supported (use sdkman.io to switch)"
4951
else
50-
bad "Java $java_version found — version 11 or 17 required"
52+
bad "Java $java_version found — version 11 or 17 required (use sdkman.io to install)"
5153
fi
5254
else
53-
bad "Java not found — install Java 11 or 17 (try sdkman.io)"
55+
bad "Java not found — install Java 11 or 17 (use sdkman.io)"
5456
fi
5557

5658
# --- Maven ---
@@ -87,15 +89,15 @@ echo "Optional (GLV development):"
8789
# --- Python ---
8890
if command -v python3 &>/dev/null; then
8991
py_version=$(python3 --version 2>&1 | grep -oE '[0-9]+\.[0-9]+')
90-
ok "Python $py_version (3.9+ recommended for gremlin-python local dev)"
92+
ok "Python $py_version (3.10+ recommended for gremlin-python local dev)"
9193
else
9294
skip "Python 3 not found — Docker handles test execution, but local dev needs it"
9395
fi
9496

9597
# --- Node.js ---
9698
if command -v node &>/dev/null; then
9799
node_version=$(node --version 2>/dev/null | sed 's/v//')
98-
ok "Node.js $node_version (20+ recommended for gremlin-js local dev)"
100+
ok "Node.js $node_version (22+ recommended for gremlin-js local dev)"
99101
else
100102
skip "Node.js not found — Maven downloads a local copy automatically"
101103
fi
@@ -111,7 +113,7 @@ fi
111113
# --- Go ---
112114
if command -v go &>/dev/null; then
113115
go_version=$(go version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?')
114-
ok "Go $go_version (1.22+ recommended for gremlin-go local dev)"
116+
ok "Go $go_version (1.25+ recommended for gremlin-go local dev)"
115117
else
116118
skip "Go not found — Docker handles test execution"
117119
fi

docs/src/dev/developer/development-environment.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ supported:
568568
A list of command line options is provided by `docker/build.sh --help`. The container will install,
569569
configure and start all required dependencies, such as Hadoop.
570570
571-
By default, this script will run every module in the project. However, if you are planning on working on just
571+
By default, this script will run every module in the project. However, if you are planning on working on just a
572572
small set of the modules (e.g. the GLVs) then you can use the script options to reduce the modules included by
573573
specifically selecting which modules you want. This behavior is currently supported for the non-Java GLVs and
574574
gremlin-console. This option will include only the selected modules as well as gremlin-server, gremlin-test,

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,12 @@ limitations under the License.
485485
<exclude>**/.project</exclude>
486486
<exclude>**/.settings/**</exclude>
487487
<exclude>**/.idea/**</exclude>
488+
<exclude>**/.claude/**</exclude>
489+
<exclude>**/.codex/**</exclude>
490+
<exclude>**/.copilot/**</exclude>
491+
<exclude>**/.cursor/**</exclude>
492+
<exclude>**/.kiro/**</exclude>
493+
<exclude>**/.junie/**</exclude>
488494
<exclude>.repository/**</exclude>
489495
<exclude>**/target/**</exclude>
490496
<exclude>data/*.txt</exclude>

source-release.xml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@
4848
of these files will be present. So, it's safer to exclude them.
4949
-->
5050

51+
<!-- AI coding agent directories -->
52+
<exclude>**/.claude/**</exclude>
53+
<exclude>**/.codex/**</exclude>
54+
<exclude>**/.copilot/**</exclude>
55+
<exclude>**/.cursor/**</exclude>
56+
<exclude>**/.kiro/**</exclude>
57+
<exclude>**/.junie/**</exclude>
58+
5159
<!-- IDEs -->
5260
<exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]</exclude>
5361
<exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]</exclude>
@@ -81,10 +89,6 @@
8189
<exclude>docs/gremlint/package-lock.json</exclude>
8290
<exclude>docs/gremlint/node_modules/**</exclude>
8391
<exclude>docs/gremlint/build/**</exclude>
84-
<exclude>gremlin-js/gremlint/node_modules/**</exclude>
85-
<exclude>gremlin-js/gremlint/node/**</exclude>
86-
<exclude>gremlin-js/node_modules/**</exclude>
87-
<exclude>gremlin-js/node/**</exclude>
8892
<exclude>gremlin-dotnet/.glv</exclude>
8993
<exclude>gremlin-dotnet/gremlin-*/**</exclude>
9094
<exclude>gremlin-dotnet/src/docfx/**</exclude>
@@ -106,6 +110,10 @@
106110
<exclude>gremlin-python/src/main/python/.idea/**</exclude>
107111
<exclude>gremlin-python/src/main/python/.eggs/**</exclude>
108112
<exclude>gremlin-python/src/main/python/**/__pycache__/**</exclude>
113+
<exclude>gremlin-js/gremlint/node_modules/**</exclude>
114+
<exclude>gremlin-js/gremlint/node/**</exclude>
115+
<exclude>gremlin-js/node_modules/**</exclude>
116+
<exclude>gremlin-js/node/**</exclude>
109117
<exclude>gremlin-js/gremlin-javascript/.glv</exclude>
110118
<exclude>gremlin-js/gremlin-javascript/.idea/**</exclude>
111119
<exclude>gremlin-js/gremlin-javascript/gremlin-*/**</exclude>
@@ -116,12 +124,12 @@
116124
<exclude>gremlin-js/gremlin-javascript/.duel-cache/**</exclude>
117125
<exclude>gremlin-js/gremlin-javascript/build/**</exclude>
118126
<exclude>gremlin-js/gremlin-javascript/examples/node/node_modules/**</exclude>
119-
<exclude>gremlin-go/.glv</exclude>
120-
<exclude>gremlin-go/gremlin-*/**</exclude>
121-
<exclude>gremlin-go/coverage.out</exclude>
122127
<exclude>gremlin-js/gremlin-mcp/node_modules/**</exclude>
123128
<exclude>gremlin-js/gremlin-mcp/node/**</exclude>
124129
<exclude>gremlin-js/gremlin-mcp/dist/**</exclude>
130+
<exclude>gremlin-go/.glv</exclude>
131+
<exclude>gremlin-go/gremlin-*/**</exclude>
132+
<exclude>gremlin-go/coverage.out</exclude>
125133
</excludes>
126134
</fileSet>
127135
<!-- license, readme, etc. calculated at build time -->

0 commit comments

Comments
 (0)