<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on Raven</title><link>https://raven.nopejs.me/docs/reference/</link><description>Recent content in Reference on Raven</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://raven.nopejs.me/docs/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>Logging</title><link>https://raven.nopejs.me/docs/reference/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://raven.nopejs.me/docs/reference/logging/</guid><description>&lt;h1 id="logging">
 Logging
 &lt;a class="anchor" href="#logging">#&lt;/a>
&lt;/h1>
&lt;p>All Raven job commands emit live progress and write timestamped log files.&lt;/p>
&lt;h2 id="default-behavior">
 Default behavior
 &lt;a class="anchor" href="#default-behavior">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Progress phases printed to stdout&lt;/li>
&lt;li>Summary line with counts and elapsed time&lt;/li>
&lt;li>Log file written to &lt;code>data/logs/&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Example log paths:&lt;/p>
&lt;pre tabindex="0">&lt;code>data/logs/discover-2026-07-04T08-30-00.log
data/logs/draft-2026-07-04T08-35-12.log
data/logs/sync-jobs-2026-07-04T07-00-00.log
data/logs/send-2026-07-04T09-00-00.log
&lt;/code>&lt;/pre>&lt;h2 id="flags">
 Flags
 &lt;a class="anchor" href="#flags">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Flag&lt;/th>
 &lt;th>Effect&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;em>(default)&lt;/em>&lt;/td>
 &lt;td>Live progress + log file&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--verbose&lt;/code>&lt;/td>
 &lt;td>Extra detail (per-ATS logs during discover)&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--quiet&lt;/code>&lt;/td>
 &lt;td>One-line summary only&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--no-log&lt;/code>&lt;/td>
 &lt;td>Disable log file (stdout only)&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="commands-with-logging">
 Commands with logging
 &lt;a class="anchor" href="#commands-with-logging">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>&lt;code>raven discover&lt;/code>&lt;/li>
&lt;li>&lt;code>raven draft&lt;/code>&lt;/li>
&lt;li>&lt;code>raven sync-jobs&lt;/code>&lt;/li>
&lt;li>&lt;code>raven scan-ats&lt;/code> / &lt;code>scan-boards&lt;/code>&lt;/li>
&lt;li>&lt;code>raven query&lt;/code>&lt;/li>
&lt;li>&lt;code>raven send&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="log-contents">
 Log contents
 &lt;a class="anchor" href="#log-contents">#&lt;/a>
&lt;/h2>
&lt;p>Typical discover log:&lt;/p></description></item><item><title>File layout</title><link>https://raven.nopejs.me/docs/reference/file-layout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://raven.nopejs.me/docs/reference/file-layout/</guid><description>&lt;h1 id="repository-layout">
 Repository layout
 &lt;a class="anchor" href="#repository-layout">#&lt;/a>
&lt;/h1>
&lt;pre tabindex="0">&lt;code>raven/
├── bin/raven # CLI entry (npm link → global raven)
├── raven # Symlink to bin/raven
├── scripts/ # Bash wrappers (_lib.sh, discover.sh, draft.sh, …)
├── jobs/ # Node.js job engine
│ ├── discover.mjs # Unified discovery orchestrator
│ ├── draft-outreach.mjs # Draft orchestrator
│ ├── lib/ # Shared modules (profile, resume, log, portals, …)
│ └── plugins/ # Optional plugins (gemini-draft.mjs)
├── config/
│ ├── portals.example.yml
│ ├── profile.example.yml
│ └── outreach.example.yml
├── files/
│ └── resume.example.md # Template resume
├── data/ # Gitignored runtime data
│ ├── jobs.json # Latest discover results
│ ├── jobs.db # openjobdata SQLite index
│ ├── cache/ # Resume parse cache, ATS slug lists
│ └── logs/ # Command logs
├── drafts/ # Generated outreach CSV/MD/XLSX
├── docs/ # Markdown docs (source for this site)
└── raven-web-docs/ # Hugo documentation site
&lt;/code>&lt;/pre>&lt;h2 id="tracked-vs-gitignored">
 Tracked vs gitignored
 &lt;a class="anchor" href="#tracked-vs-gitignored">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Tracked (committed)&lt;/th>
 &lt;th>Gitignored (local)&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>*.example.yml&lt;/code>&lt;/td>
 &lt;td>&lt;code>config/profile.yml&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>files/resume.example.md&lt;/code>&lt;/td>
 &lt;td>&lt;code>config/portals.yml&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Source code&lt;/td>
 &lt;td>&lt;code>config/outreach.yml&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;/td>
 &lt;td>&lt;code>files/resume.md&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;/td>
 &lt;td>&lt;code>data/*.json&lt;/code>, &lt;code>data/jobs.db&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;/td>
 &lt;td>&lt;code>data/logs/&lt;/code>, &lt;code>data/cache/&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;/td>
 &lt;td>&lt;code>drafts/outreach-*&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;/td>
 &lt;td>&lt;code>.env&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="key-data-files">
 Key data files
 &lt;a class="anchor" href="#key-data-files">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Path&lt;/th>
 &lt;th>Created by&lt;/th>
 &lt;th>Purpose&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>data/jobs.json&lt;/code>&lt;/td>
 &lt;td>&lt;code>raven discover&lt;/code>&lt;/td>
 &lt;td>Latest job matches (default draft input)&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>data/jobs.db&lt;/code>&lt;/td>
 &lt;td>&lt;code>raven sync-jobs&lt;/code>&lt;/td>
 &lt;td>Local openjobdata index&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>data/cache/resume-parsed.json&lt;/code>&lt;/td>
 &lt;td>&lt;code>raven draft&lt;/code>&lt;/td>
 &lt;td>Parsed resume cache&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>drafts/outreach-*.csv&lt;/code>&lt;/td>
 &lt;td>&lt;code>raven draft&lt;/code>&lt;/td>
 &lt;td>Send-ready spreadsheet&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="npm-scripts">
 npm scripts
 &lt;a class="anchor" href="#npm-scripts">#&lt;/a>
&lt;/h2>
&lt;p>Equivalent to &lt;code>./raven&lt;/code> subcommands:&lt;/p></description></item><item><title>Troubleshooting</title><link>https://raven.nopejs.me/docs/reference/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://raven.nopejs.me/docs/reference/troubleshooting/</guid><description>&lt;h1 id="troubleshooting">
 Troubleshooting
 &lt;a class="anchor" href="#troubleshooting">#&lt;/a>
&lt;/h1>
&lt;p>Common issues and fixes.&lt;/p>
&lt;h2 id="raven-command-not-found">
 &lt;code>raven: command not found&lt;/code>
 &lt;a class="anchor" href="#raven-command-not-found">#&lt;/a>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># From repo root&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>./raven --help
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Or install globally&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>npm link
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>raven --help
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If &lt;code>npm link&lt;/code> resolves to the wrong path, use &lt;code>./raven&lt;/code> from the repo root.&lt;/p>
&lt;h2 id="raven-draft--no-input-file">
 &lt;code>raven draft&lt;/code> — no input file
 &lt;a class="anchor" href="#raven-draft--no-input-file">#&lt;/a>
&lt;/h2>
&lt;p>Discover auto-saves to &lt;code>data/jobs.json&lt;/code>. Run discover first:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>raven discover --q &lt;span style="color:#e6db74">&amp;#34;engineer&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>raven draft --max &lt;span style="color:#ae81ff">25&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Or pass explicit input:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>raven draft --input data/jobs.json
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="unrelated-jobs-nurse-sales-etc">
 Unrelated jobs (nurse, sales, etc.)
 &lt;a class="anchor" href="#unrelated-jobs-nurse-sales-etc">#&lt;/a>
&lt;/h2>
&lt;p>Bare &lt;code>raven discover&lt;/code> reads &lt;code>config/portals.yml&lt;/code>. Fix filters:&lt;/p></description></item></channel></rss>