rngo infer prompt

Writes a prompt to stdout that instructs an LLM to infer entities from the application's source code and systems, and to write each to a file in the .rngo/entities directory.

You can configure systems to provide inference context - see Systems below. If no context is configured, it will output a static prompt based upon https://rngo.dev/docs/llm/infer.md

CLIs

For CLIs you can pipe this prompt into stdin.

Claude Code
rngo infer prompt | claude -p
Codex
rngo infer prompt | codex e

IDEs

For IDEs, you can write the prompt to a rules file in the appropriate directory.

Cursor
rngo infer prompt > .cursor/rules/rngo-infer.md
Windsurf
rngo infer prompt > .windsurf/rules/rngo-infer.md
Zed
rngo infer prompt > .rules/rngo-infer.md

Then prompt the IDE with something like this:

@rngo-infer infer all rngo entities and write them to the .rngo directory

Systems

The prompt will include any inference context provided by systems in the .rngo/systems directory. So, for example, if you had the following at .rngo/systems/db.yml:

output:
  type: sql
import:
  command: sqlite3 db.sqlite
infer:
  context:
    description: sqlite schema migrations
    command: cat db/migrations/*.sql

The prompt will include a sub-heading for thedb system with the description and the contents of the migrations directory in this case, along with system-specific instructions and metadata.

The prompt will instruct the LLM to associate any entities inferred from a system's context with that system. So if the above system had a table called USER, the LLM should write something like the following to .rngo/entities/USER.yml

system:
  type: db
stream:
  type: object
  properties:
    id:
      type: id.integer
    name:
      type: person.name