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.
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
| Reaction | Category | In code |
|---|---|---|
| the water increases in volume | Enhancer 強化系 | force applied head-on |
| the taste changes | Transmuter 変化系 | glue, adapters, making things fit |
| impurities appear | Conjurer 具現化系 | types, schemas, structure declared first |
| the water changes colour | Emitter 放出系 | async, queues, deploys, the edges |
| the leaf moves | Manipulator 操作系 | cron, pipelines, agents, control at distance |
| something else entirely | Specialist 特質系 | 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.