swissdevjobs-cli CLAUDE.md

swissdevjobs-cli CLAUDE.md is an instructions file for Claude Code from Stupidoodle/swissdevjobs-cli. It costs 3,299 tokens per session, scanned A, original, MIT.

A set of project instructions for swissdevjobs-cli, a command-line program for working with Swiss developer job boards. It documents the commands, Python version, source layout, and rules for managing dependencies.

In plain words
What is it for?
Use it when installing dependencies, running formatting, tests, type checks, architecture checks, or changing the CLI while preserving its folder structure and design rules.
Why use it?
It gives coding agents the repository’s required checks and architectural boundaries, reducing the chance of using the wrong command, changing dependency files incorrectly, or putting code in the wrong layer.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md.

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/stupidoodle/swissdevjobs-cli/claude-md
Clone the repo
git clone --depth 1 https://github.com/Stupidoodle/swissdevjobs-cli

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for swissdevjobs-cli CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/stupidoodle/swissdevjobs-cli/claude-md.svg)](https://agentmods.dev/instructions/stupidoodle/swissdevjobs-cli/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/stupidoodle/swissdevjobs-cli/claude-md"><img src="https://agentmods.dev/badge/instructions/stupidoodle/swissdevjobs-cli/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 3,299 This file is loaded in full into every session.
When invoked 3,299 The same file — it is already loaded in full.
Security scan A 1 finding. 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.1 $0.03299 $0.03299
Opus 5 $0.01649 $0.01649
Sonnet 5 $0.00660 $0.00660
Haiku 4.5 $0.00330 $0.00330

Measured 6d ago against content hash 8aa7278a8899, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

swissdevjobs-cli CLAUDE.md scanned grade A with 1 finding 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 6d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

http/ urllib transport, cookie jar, Cloudflare detection
CLAUDE.md · 230 lines

How it starts

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

CLAUDE.md

Guidance for agents working in this repository.

Commands

Everything runs through uv and make — never bare python, pip, or pytest:

make install        # uv sync
make check          # the full gate: lint + typecheck + arch + tests w/ coverage
make format         # ruff format, then ruff --fix
make test-unit      # offline tests, no coverage gate
make test-live      # read-only smoke against the real boards (SDJ_LIVE=1)
make arch           # import-linter layering contracts (needs Python >= 3.10)

Never hand-edit pyproject.toml dependency tables or uv.lock — use uv add / uv add --group dev. Conventional commits, atomic, one logical change each. Never squash.

Layout and the dependency rule

src/swissdevjobs_cli/
  bootstrap.py            composition root — the ONLY place layers are wired
  domain/
    model/                one dataclass per file, snake_case = class name
    ports/                one Protocol per file (BoardPort, repositories, UoW)
  adapters/
    http/                 urllib transport, cookie jar, Cloudflare detection
    boards/
      registry.py         every Board, keyed by source; selectors resolve
                          country codes OR source ids (two+ boards per country)
      worldwide/devitjobs/   client.py + acl.py for the six-board family
      switzerland/jobcloud/  client.py + acl.py for jobs.ch + jobup.ch
      singapore/mycareersfuture/  client.py + acl.py for MyCareersFuture
    persistence/          tables, imperative mappers, repositories, SQLite UoW
    envfile.py            .env loader — NO import-time path constants (see below)
    paths.py              eager path constants — import only from adapters
  service_layer/          use cases: search, apply, tracking, config
  dto/                    frozen entrypoint-facing shapes; plain dataclasses
  entrypoints/            cli.py and mcp.py — thin, no business logic

Dependency rule — no exceptions: entrypoints → dto → service_layer → adapters → domain. Higher may import lower, never the reverse. bootstrap.py sits outside the contract on purpose. Enforced twice: import-linter (pyproject) and tests/unit/test_architecture.py (ast, runs on 3.9).

Read the full file on GitHub · 230 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. 6d ago First seen · 230 lines · 3,299 tokens per session scan A 8aa7278a8899

Subscribe to this mod's changes

swissdevjobs-cli CLAUDE.md is an instructions file published in the GitHub repository Stupidoodle/swissdevjobs-cli (96 stars, last pushed 8d ago), licensed MIT. It adds 3,299 tokens to every session, about $0.0165 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.