Fankex

Enter a keyword to search published documentation.

devhunt

AI Narrative

How DevHunt turns a local profile into prompts, when it contacts a provider, and what files it writes.

Input profile

narrate LOGIN reads out/LOGIN/profile.json and compresses selected fields into a prompt-oriented object. That material can include token-visible profile fields, tags, repository-derived summaries, and project-defined metric values.

If the scan used a privileged token, the resulting prompt can contain material derived from private or internal-visible records. Review the profile before deciding whether to send it to a provider.

Without OPENAI_API_KEY

When OPENAI_API_KEY is absent, the command stays local. It prints the generated system and user prompts, saves them to out/LOGIN/narrate_prompt.txt, and exits. No provider call is made.

Review that file before copying it elsewhere.

With a configured provider

When OPENAI_API_KEY is present, the command sends profile-derived system and user prompt material to an OpenAI-compatible chat-completions endpoint.

Two additional environment variables can change the target:

  • OPENAI_BASE_URL — overrides the endpoint.
  • OPENAI_MODEL — overrides the model.

This source behavior does not establish any provider privacy or retention guarantee. You are responsible for checking the provider's terms before enabling this path.

Local output

A successful provider response is printed and saved as out/LOGIN/narrative.md.

Treat the narrative as generated interpretation: compare it with the profile, preserve unknowns, and do not turn descriptive heuristics into claims about a person.

Preview the prompt without contacting a provider

From the checkout root, run this in a POSIX shell:

OPENAI_API_KEY= bun ./bin/devhunt.ts narrate LOGIN --lang en --style brief

The explicitly empty value prevents an existing environment or dotenv key from selecting the provider path. Removing a shell variable alone may let Bun load it again from .env, so the explicit empty assignment is deliberate.

Inspect out/LOGIN/narrate_prompt.txt locally. Only configure a non-empty key after you have decided to transmit the reviewed prompt. A prompt file is not a generated narrative.