AkurAI Build
Menu

AkurAI-Build

public

Latest change 0cf28150faedd8c150474a4f16be4c9922c04f56 - feat: add Ponytail UI design system by Olafur Bui

{% extends "layouts/docs.html" %} {% block title %}Bunfork documentation{%
endblock %} {% block description %}Documentation for Bunfork native pages,
static framework exports, CLI operations, encrypted SQLite, vectors, deployment,
backups, and security.{% endblock %} {% block docs_title %}Build less runtime.
Keep more control.{% endblock %} {% block docs_summary %}Bunfork is a
Linux-first Rust binary with two serving modes: native MiniJinja pages with
encrypted data, or verified static browser artifacts without data state.{%
endblock %} {% block docs_content %}
<section class="doc-section" aria-labelledby="choose-path">
  <h2 id="choose-path">Choose a serving path</h2>
  <div class="path-choices">
    <article>
      <h3>Native Rust application</h3>
      <p>
        Use file-routed MiniJinja pages, public assets, SQLCipher, and the
        authenticated vector API.
      </p>
      <a href="/docs/getting-started"
        >Set up native mode <span aria-hidden="true">→</span></a
      >
    </article>
    <article>
      <h3>Static framework export</h3>
      <p>
        Build with your framework, admit the immutable output, then serve it
        without database keys or tokens.
      </p>
      <a href="/docs/frameworks"
        >Prepare an export <span aria-hidden="true">→</span></a
      >
    </article>
  </div>
</section>

<section class="doc-section" aria-labelledby="first-check">
  <h2 id="first-check">Start with the repository check</h2>
  <p>
    The project pins Rust through <code>rust-toolchain.toml</code>. A locked
    release build plus Bunfork's own test command exercises both unit tests and
    the native runtime smoke path.
  </p>
  <pre><code>cargo build --release --locked
./target/release/bunfork test</code></pre>
  <p class="code-caption">
    The smoke check discovers routes and verifies an encrypted migration, vector
    search, and backup in temporary storage; the locked Rust tests cover restore
    behavior.
  </p>
</section>

<section class="doc-section" aria-labelledby="documentation-map">
  <h2 id="documentation-map">Documentation map</h2>
  <dl class="doc-map">
    <div>
      <dt><a href="/docs/getting-started">Getting started</a></dt>
      <dd>
        Build, create separate secrets, migrate, run, and probe the native
        server.
      </dd>
    </div>
    <div>
      <dt><a href="/docs/frameworks">Framework exports</a></dt>
      <dd>
        Known output directories and manifest settings for six verified
        producers.
      </dd>
    </div>
    <div>
      <dt><a href="/docs/cli">CLI &amp; operations</a></dt>
      <dd>
        The full command surface, global options, and public health endpoints.
      </dd>
    </div>
    <div>
      <dt><a href="/docs/data">SQLite &amp; vectors</a></dt>
      <dd>
        Encrypted storage, exact migrations, scoped records, API calls, and hard
        limits.
      </dd>
    </div>
    <div>
      <dt><a href="/docs/deployment">Deploy &amp; recover</a></dt>
      <dd>
        Digest-owned bundles, hardened systemd units, verified backups, and
        restore order.
      </dd>
    </div>
    <div>
      <dt><a href="/docs/security">Security</a></dt>
      <dd>
        Trust boundaries, production checklist, and deliberate non-features.
      </dd>
    </div>
  </dl>
</section>

<aside class="doc-callout" aria-labelledby="scope-heading">
  <h2 id="scope-heading">Scope, stated plainly</h2>
  <p>
    Bunfork serves compiled browser output; it does not implement framework
    source compatibility, SSR adapters, Node APIs, React Server Components,
    Nitro, or a JavaScript compiler. Native mode is a Rust application surface,
    not an emulation layer.
  </p>
</aside>

<nav class="docs-pagination" aria-label="Documentation pagination">
  <span></span>
  <a href="/docs/getting-started"
    ><small>Next</small>Getting started <span aria-hidden="true">→</span></a
  >
</nav>
{% endblock %}