Free & open source · Python 3.9+ · no dependencies · MIT

水見式Find out your Nen type from the code you actually write

In Hunter × Hunter you discover your category by floating a leaf on a glass of water and channelling aura. The water tells you what you are. Here the glass is your repository and the aura is your commit history.

$ python3 -m nen ~/code/my-project

CONJURER 具現化系

impurities appear in the water · 49.0%

your opposite is emitter — 40% affinity · nothing left this machine

One reading, plotted

The hexagon is the answer sheet

This is a real reading of a real repository. Six numbers that sum to a hundred, drawn on a wheel whose order is fixed by canon — which is what makes the affinity arithmetic below it mean anything at all.

enhancer強化系 · 14.6%emitter放出系 · 1.9%manipulator操作系 · 20.1%specialist特質系 · 0.0%conjurer具現化系 · 49.0%transmuter変化系 · 14.4%
Conjurer
49.0%
Manipulator
20.1%
Enhancer
14.6%
Transmuter
14.4%
Emitter
1.9%
Specialist
0.0%

CONJURER 具現化系 · 49.0%

Serious and highly strung. You materialise structure from rules: types, schemas, contracts. You decide what a thing is before you let it exist.

opposite: emitter — 40% affinity

The dashed line is the one that costs you. It runs between your dominant category and the vertex three positions away, and the gap along it is the reason the tool reports a margin and not just a winner — 49 against 20 is a result, 21 against 20 is a coin toss in a costume.

The six readings

What the water does, and what it means in code

ReactionCategoryIn code
the water increases in volumeEnhancer 強化系force applied head-on
the taste changesTransmuter 変化系glue, adapters, making things fit
impurities appearConjurer 具現化系types, schemas, structure declared first
the water changes colourEmitter 放出系async, queues, deploys, the edges
the leaf movesManipulator 操作系cron, pipelines, agents, control at distance
something else entirelySpecialist 特質系a reading that refuses the other five

The hexagon is ordered so opposites sit three apart, exactly as in canon — Enhancer↔Specialist, Transmuter↔Manipulator, Conjurer↔Emitter. That is what the affinity percentages read from: 100 / 80 / 60 / 40 by distance. A skill native to your opposite costs you the most, and that is a budget line rather than an insult.

It is not random

Every reading cites what it read

read from

substantial_functions mean function length 15 lines

declares_before_use 19/55 functions annotated

materialises_structure 14 classes, 0 dataclasses

controls_other_systems 5 cron/pipeline/agent references

The argument for each mapping is written out in docs/DIVINATION.md — deliberately, so you can disagree with it specifically rather than in general. That is the whole difference between this and a horoscope: a horoscope cannot be wrong about anything in particular.

Channel your aura

No install. No dependencies. No network.

git clone https://github.com/jaklabs/nen-test

cd nen-test

python3 -m nen ~/code/your-project

Nothing leaves your machine — the glass is yours. Same rule as Aura Rank: a tool that reads your code has no business phoning home, and you should be able to confirm that before you run it rather than take a privacy policy on trust.

Why a joke tool is on a consulting site

Because the reading is the fun part and the method is the real part. It classifies you from things that are actually measurable — function length, annotation density, how much structure you declare before you use it, how often you reach for cron and pipelines — and it shows you those numbers rather than asking you to trust a verdict.

That is the same instinct behind everything else I build: the answer is worth less than the evidence for it. If you want the serious version of the idea, that is Aura Rank. If you want the version that diagnoses a developer properly and then does something about it, that is Hood Dev.