Packages

fnord

0.8.64

AI code archaeology

Current section

Files

Jump to
fnord lib cmd prime.ex
Raw

lib/cmd/prime.ex

defmodule Cmd.Prime do
@primer_prompt """
Please provide an overview of the current project.
If necessary, reindex the project first.
Find and read important documentation about the project, such as:
- README.md
- CLAUDE.md
- CONTRIBUTING.md
- docs/
- AGENTS.md (very useful if available, as it contains information intended for LLMs)
Include the following information:
- Project name
- Project description
- What are the main features of the project?
- What each application does (or what the main app does, if not a multi-app project)
- Which technologies are used in the project?
- How is the project organized?
- How is application code and business logic organized?
- What are the major components of the project?
- How do those components interact?
- Identify common coding and testing conventions
- Identify the location of any configuration, documentation, and CI/CD workflows, if present
If there are any prior research notes, investigate each fact and determine if it is still valid.
"""
@behaviour Cmd
@impl Cmd
def requires_project?(), do: true
@impl Cmd
def spec do
[
prime: [
name: "prime",
about: "Prime fnord's research notes with basic information about the project",
options: [
project: Cmd.project_arg()
]
]
]
end
@impl Cmd
def run(opts, subcommands, unknown) do
opts
|> Map.put(:rounds, 3)
|> Map.put(:question, @primer_prompt)
|> Cmd.Ask.run(subcommands, unknown)
end
end