job-engine-spring AGENTS.md

A repository guide for a local job-matching server built with Java and Spring Boot. It explains the project layout, architecture, build commands, tests, and database migrations.

In plain words
What is it for?
Use it when building, testing, or extending the server, especially when working with its MCP connection, candidate and job data, matching reports, or generated PDF documents.
Why use it?
It gives developers one reliable place to learn the codebase’s rules and avoid adding the wrong kind of interface or putting code in the wrong module.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/jonhhh09/job-engine-spring/agents-md
Clone the repo
git clone --depth 1 https://github.com/JonHHH09/job-engine-spring

Made for: Codex, OpenCode.

Per session 2,365 This file is loaded in full into every session.
When invoked 2,365 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02365 $0.02365
Opus 5 $0.01182 $0.01182
Sonnet 5 $0.00473 $0.00473
Haiku 4.5 $0.00236 $0.00236

Measured 2d ago against content hash afa7da1e885b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

job-engine-spring AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 113 lines

How it starts

The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Repository Guidelines

job-engine-spring is a local-only MCP (Model Context Protocol) server, not a hosted service, REST API, web UI, or job-board scraper. It stores normalized candidate profiles and jobs, produces explainable profile-to-job match reports, and generates resume/cover-letter PDFs. Normal runtime is a persistent Streamable HTTP MCP endpoint published only on host loopback (http://127.0.0.1:8080/mcp); STDIO exists only for CI/package verification and isolated diagnostics. The application is MCP-first: do not add REST controllers unless REST compatibility is explicitly required.

Project Structure & Module Organization

This is a Maven Java 25 Spring Boot 4.1.0 project. The main build descriptor is pom.xml, with the Maven wrapper available as mvnw. Production code lives in src/main/java, tests in src/test/java, and Flyway database migrations in src/main/resources/db/migration.

The package layout follows application boundaries: domain contains core business concepts, application holds use cases and orchestration, and adapter packages contain integrations. Current adapters include adapter/in/mcp, adapter/out/postgres, and adapter/out/http.

Build, Test, and Development Commands

  • ./mvnw test runs the unit test suite through Surefire.
  • ./mvnw -q -Dtest=ClassName test runs a single test class; comma-separate multiple classes, e.g. ./mvnw -q -Dtest=JobServiceTests,JobMcpAdapterTests,HttpJobLinkContentFetcherTests test.
  • ./mvnw verify -Pintegration-tests runs integration tests through Failsafe (Testcontainers/PostgreSQL) plus the JaCoCo coverage gate. Requires Docker.
  • ./mvnw spring-boot:run starts the application locally.
  • docker compose build mcp builds the local container image for the persistent Streamable HTTP MCP server.
  • docker compose up -d --build --wait postgres mcp is the build-from-source dev path: starts PostgreSQL privately and publishes MCP only on host loopback; python3 scripts/smoke-mcp-http.py verifies initialize, discovery, and health.
  • ./scripts/rebuild-local-mcp-jar.sh runs ./mvnw test, packages the jar, then runs hermes mcp test job-engine-spring if the Hermes CLI is present (RUN_TESTS=false to skip tests when already green).
  • ./scripts/run-release-mcp-http.sh ghcr.io/jonhhh09/job-engine-spring:vX.Y.Z is the guarded release-only deployment path; it refuses local/latest images and recreates the service without building.
  • ./scripts/run-local-mcp-container.sh is the explicit STDIO CI/package-verification launcher. It activates the stdio profile and must not be used for normal Hermes tool calls.
  • ./scripts/run-mcp-stdio-diag.sh launches a unique-named diagnostic MCP STDIO container so engineering smoke/diagnosis cannot kill an active Hermes session.
  • python3 scripts/smoke-mcp-stdio.py -- ./scripts/run-local-mcp-container.sh verifies the containerized MCP initialize + tools/list STDIO contract for the default instance. Prefer ./scripts/run-mcp-stdio-diag.sh when Hermes may already be connected.
  • scripts/tests/test-mcp-container-cleanup.sh is a Docker-free regression for cleanup ownership (preserve custom instances; remove default/legacy only for default launches).
  • After rebuilding/redeploying: recreate the persistent service, then run /reload-mcp in the connected agent; if tool names/schemas/prompts changed, also run /reset to refresh the agent's cached tool schema.
  • Backup/recovery: ./scripts/postgres-backup.sh, ./scripts/postgres-verify-backup.sh, ./scripts/postgres-restore.sh, ./scripts/postgres-backup-prune.sh. Restore/verify always target a disposable Compose project/volume, never the primary one directly.

Read the full file on GitHub · 113 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 113 lines · 2,365 tokens per session scan A afa7da1e885b

Subscribe to this mod's changes

job-engine-spring AGENTS.md is an instructions file published in the GitHub repository JonHHH09/job-engine-spring (2 stars, last pushed 6d ago), licensed Apache-2.0. It adds 2,365 tokens to every session, about $0.0118 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.