You've already forked zblade.dev
docs(website): refresh site copy and update changelog descriptions
This commit is contained in:
@@ -30,3 +30,9 @@ yarn-error.log*
|
|||||||
|
|
||||||
# ZaguanBlade local data
|
# ZaguanBlade local data
|
||||||
.zblade/
|
.zblade/
|
||||||
|
|
||||||
|
# ZaguanBlade local data
|
||||||
|
.pnpm-store/
|
||||||
|
|
||||||
|
# ZaguanBlade local data
|
||||||
|
.pnpm-store/
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ interface Props {
|
|||||||
description?: string;
|
description?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { title, description = "AI-Native code editor built with Rust and Tauri. Fast, native, and designed for AI-powered development." } = Astro.props;
|
const { title, description = "A local-first AI code editor. Your code stays on your machine unless you choose cloud." } = Astro.props;
|
||||||
|
|
||||||
const normalizePath = (path: string) => {
|
const normalizePath = (path: string) => {
|
||||||
if (path.length > 1 && path.endsWith('/')) {
|
if (path.length > 1 && path.endsWith('/')) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const posts = (await getCollection('blog', ({ data }) => {
|
|||||||
})).sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf());
|
})).sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf());
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title="Blog - Zaguán Blade" description="Latest news, tutorials, and insights from Zaguán Blade.">
|
<BaseLayout title="Blog - Zaguán Blade" description="Engineering notes, model benchmarks, and architectural deep dives from building an AI-native editor.">
|
||||||
<main>
|
<main>
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="blog-hero">
|
<section class="blog-hero">
|
||||||
@@ -19,7 +19,7 @@ const posts = (await getCollection('blog', ({ data }) => {
|
|||||||
<span class="title-accent">LATEST_NEWS_</span>
|
<span class="title-accent">LATEST_NEWS_</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="hero-description">
|
<p class="hero-description">
|
||||||
News, tutorials, and insights about AI-powered development with Zaguán Blade.
|
Engineering notes, model benchmarks, and architectural deep dives from building an AI-native editor.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<div class="hero-label">// CHANGELOG.md</div>
|
<div class="hero-label">// CHANGELOG.md</div>
|
||||||
<h1 class="hero-title">
|
<h1 class="hero-title">
|
||||||
<span class="title-line-1">CHANGELOG</span>
|
<span class="title-line-1">CHANGELOG</span>
|
||||||
<span class="title-accent">RELEASE_HISTORY_</span>
|
<span class="title-accent">RELEASE HISTORY & BUILD NOTES</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="hero-description">
|
<p class="hero-description">
|
||||||
Track the evolution of Zaguán Blade. See what's new, what's fixed, and what's coming.
|
Honest release history built by humans who curse at compiler errors like everyone else.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -34,7 +34,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
|
|
||||||
<div class="version-content">
|
<div class="version-content">
|
||||||
<div class="version-resume">
|
<div class="version-resume">
|
||||||
<p>Development builds focused on major UI optimization including a rebuilt Chat Panel and CodeMirror editor, extensive codebase refactoring, and smoother scrolling across the board.</p>
|
<p>Mostly UI polish in this release: a rebuilt chat panel that actually feels snappy, tighter editor scrolling so you won't curse at your mouse wheel anymore, fix for the Alt+TAB window title display bug that was driving users insane, and CSS cleanup that didn't make things look like a 2010-era IDE:</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="changes-section">
|
<div class="changes-section">
|
||||||
<h3 class="changes-title">
|
<h3 class="changes-title">
|
||||||
@@ -91,7 +91,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
|
|
||||||
<div class="version-content">
|
<div class="version-content">
|
||||||
<div class="version-resume">
|
<div class="version-resume">
|
||||||
<p>Development builds focused on new model integration, stability improvements, and Zaguán Coder Daemon enhancements.</p>
|
<p>Stability updates, new model previews, and some much-needed fixes that kept getting ignored or put on the back burner. The API key management bugs that were causing chaos finally squashed, and the diff review workflow got a long-overdue polish treatment.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="changes-section">
|
<div class="changes-section">
|
||||||
<h3 class="changes-title">
|
<h3 class="changes-title">
|
||||||
|
|||||||
+17
-17
@@ -2,7 +2,7 @@
|
|||||||
import BaseLayout from '../layouts/BaseLayout.astro';
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title="Documentation - Zaguán Blade" description="Complete user guide for Zaguán Blade, the AI-Native code editor.">
|
<BaseLayout title="Documentation - Zaguán Blade" description="How to set up, configure, and work with AI in Zaguán Blade. Covers the interface, AI collaboration, and local/cloud setup.">
|
||||||
<main>
|
<main>
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="docs-hero">
|
<section class="docs-hero">
|
||||||
@@ -14,8 +14,8 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<span class="title-accent">GET_STARTED_</span>
|
<span class="title-accent">GET_STARTED_</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="hero-description">
|
<p class="hero-description">
|
||||||
Everything you need to know to work alongside your AI pair programmer.
|
How to use Blade, from zero setup to advanced workflows.
|
||||||
From setup to advanced features, this guide covers it all.
|
This guide covers the interface, AI collaboration, and configuration.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -39,18 +39,18 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<div class="concept-grid">
|
<div class="concept-grid">
|
||||||
<div class="concept-item">
|
<div class="concept-item">
|
||||||
<div class="concept-icon">👁</div>
|
<div class="concept-icon">👁</div>
|
||||||
<h3>It sees what you see</h3>
|
<h3>It reads your context</h3>
|
||||||
<p>The AI has access to your active files, cursor position, and project structure.</p>
|
<p>The AI knows your active file, cursor position, open tabs, project structure, and recent diagnostics — no copy-paste needed.</p>
|
||||||
|
</div>
|
||||||
|
<div class="concept-item">
|
||||||
|
<div class="concept-icon">🔧</div>
|
||||||
|
<h3>It edits files directly</h3>
|
||||||
|
<p>No pasting code blocks into your editor. The AI writes inline diff blocks you can review, accept, or reject before they touch your code.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="concept-item">
|
<div class="concept-item">
|
||||||
<div class="concept-icon">⚡</div>
|
<div class="concept-icon">⚡</div>
|
||||||
<h3>It acts</h3>
|
<h3>It runs what it needs</h3>
|
||||||
<p>The AI can run terminal commands, edit files, and browse the web to find answers.</p>
|
<p>Terminal commands, file searches, web research — the AI can execute tools in your workspace, but you approve every command.</p>
|
||||||
</div>
|
|
||||||
<div class="concept-item">
|
|
||||||
<div class="concept-icon">🤝</div>
|
|
||||||
<h3>It collaborates</h3>
|
|
||||||
<p>Instead of just pasting code chunks, the AI proposes changes directly in your file using "Diff Blocks" which you can review, accept, or reject.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -153,7 +153,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<section id="shortcuts" class="docs-section section-alt">
|
<section id="shortcuts" class="docs-section section-alt">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-label">[004] KEYBOARD_SHORTCUTS</div>
|
<div class="section-label">[004] KEYBOARD_SHORTCUTS</div>
|
||||||
<h2 class="section-title">Master the Keys</h2>
|
<h2 class="section-title">Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
<div class="shortcuts-layout">
|
<div class="shortcuts-layout">
|
||||||
<div class="shortcuts-card">
|
<div class="shortcuts-card">
|
||||||
@@ -231,8 +231,8 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
|
|
||||||
<div class="ai-content">
|
<div class="ai-content">
|
||||||
<div class="ai-block">
|
<div class="ai-block">
|
||||||
<h3>Context is Key</h3>
|
<h3>What the AI knows about your project</h3>
|
||||||
<p>The AI automatically knows about your workspace context. You don't need to copy-paste code into the chat.</p>
|
<p>The AI doesn't need you to describe your codebase. It reads it directly from the editor.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Active file</strong> - The file you are currently viewing</li>
|
<li><strong>Active file</strong> - The file you are currently viewing</li>
|
||||||
<li><strong>Open files</strong> - All open tabs in the editor</li>
|
<li><strong>Open files</strong> - All open tabs in the editor</li>
|
||||||
@@ -371,7 +371,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<section id="project-instructions" class="docs-section section-alt">
|
<section id="project-instructions" class="docs-section section-alt">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-label">[009] PROJECT_INSTRUCTIONS</div>
|
<div class="section-label">[009] PROJECT_INSTRUCTIONS</div>
|
||||||
<h2 class="section-title">Customize Your AI</h2>
|
<h2 class="section-title">Teach the AI About Your Project</h2>
|
||||||
|
|
||||||
<div class="instructions-content">
|
<div class="instructions-content">
|
||||||
<p class="instructions-intro">
|
<p class="instructions-intro">
|
||||||
@@ -479,7 +479,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<section id="privacy" class="docs-section">
|
<section id="privacy" class="docs-section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-label">[012] PRIVACY_&_DATA</div>
|
<div class="section-label">[012] PRIVACY_&_DATA</div>
|
||||||
<h2 class="section-title">Your Data, Your Control</h2>
|
<h2 class="section-title">Privacy</h2>
|
||||||
|
|
||||||
<div class="privacy-grid">
|
<div class="privacy-grid">
|
||||||
<div class="privacy-item">
|
<div class="privacy-item">
|
||||||
|
|||||||
+25
-27
@@ -5,7 +5,7 @@ import pkg from '../../package.json';
|
|||||||
const version = pkg.version ?? "";
|
const version = pkg.version ?? "";
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title="Zaguán Blade - AI-Native Code Editor">
|
<BaseLayout title="Zaguán Blade — AI Editor with No Cloud Dependency">
|
||||||
<main>
|
<main>
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="hero">
|
<section class="hero">
|
||||||
@@ -16,27 +16,25 @@ const version = pkg.version ?? "";
|
|||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="hero-content">
|
<div class="hero-content">
|
||||||
<div class="hero-label">// NEXT-GEN EDITOR</div>
|
<div class="hero-label">// NOT_ANOTHER_AI_SIDEBAR</div>
|
||||||
<h1 class="hero-title">
|
<h1 class="hero-title">
|
||||||
<span class="title-line-1">RUN AI LOCALLY.</span>
|
<span class="title-line-1">YOUR CODE STAYS YOURS.</span>
|
||||||
<span class="title-line-2">OR USE CLOUD MODELS.</span>
|
<span class="title-line-2">CLOUD WHEN YOU WANT IT.</span>
|
||||||
</h1>
|
</h1>
|
||||||
<div class="hero-meta">
|
<div class="hero-meta">
|
||||||
<span class="meta-item">LOCAL-FIRST</span>
|
<span class="meta-item">LOCAL-FIRST</span>
|
||||||
<span class="meta-divider">/</span>
|
<span class="meta-divider">/</span>
|
||||||
<span class="meta-item">FULL PROJECT CONTEXT</span>
|
<span class="meta-item">NO API KEY REQUIRED</span>
|
||||||
<span class="meta-divider">/</span>
|
<span class="meta-divider">/</span>
|
||||||
<span class="meta-item">CLOUD WHEN NEEDED</span>
|
<span class="meta-item">ANY MODEL PROVIDER</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="hero-description">
|
<p class="hero-description">
|
||||||
Your code stays on your machine. No API key required.
|
Most AI editors ship your context to a server you don't control.
|
||||||
Switch to cloud when you need speed.
|
Blade keeps it local by default. No API key required.
|
||||||
</p>
|
</p>
|
||||||
<p class="hero-description" style="margin-top: var(--space-sm);">
|
<p class="hero-description" style="margin-top: var(--space-sm);">
|
||||||
Built for long sessions without losing context.
|
Run Ollama locally or connect to any OpenAI-compatible endpoint.
|
||||||
</p>
|
Switch to cloud when you need speed. Your choice, not the editor's.
|
||||||
<p class="hero-description" style="margin-top: var(--space-sm);">
|
|
||||||
Use Ollama locally or connect to any OpenAI-compatible endpoint.
|
|
||||||
</p>
|
</p>
|
||||||
<div class="hero-actions">
|
<div class="hero-actions">
|
||||||
<a href="#download" class="action-primary">
|
<a href="#download" class="action-primary">
|
||||||
@@ -62,20 +60,20 @@ const version = pkg.version ?? "";
|
|||||||
<div class="features-header">
|
<div class="features-header">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-label">[001] WHY_ZBLADE</div>
|
<div class="section-label">[001] WHY_ZBLADE</div>
|
||||||
<h2 class="section-title">Built for Control<br/>Not Bloat</h2>
|
<h2 class="section-title">Why Another Editor<br/>Exists</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="features-layout">
|
<div class="features-layout">
|
||||||
<div class="feature-primary">
|
<div class="feature-primary">
|
||||||
<div class="feature-content" style="max-width: 800px; margin: 0 auto; text-align: left;">
|
<div class="feature-content" style="max-width: 800px; margin: 0 auto; text-align: left;">
|
||||||
<p style="font-size: 1.25rem; line-height: 1.6; margin-bottom: var(--space-md);">
|
<p style="font-size: 1.25rem; line-height: 1.6; margin-bottom: var(--space-md);">
|
||||||
<strong>Zaguán Blade was built because modern AI editors feel bloated, opaque and cloud-dependent.</strong>
|
<strong>Existing AI editors make you trade control for convenience. Blade doesn't ask for that trade.</strong>
|
||||||
</p>
|
</p>
|
||||||
<p style="font-size: 1.1rem; line-height: 1.6; margin-bottom: var(--space-md);">
|
<p style="font-size: 1.1rem; line-height: 1.6; margin-bottom: var(--space-md);">
|
||||||
Blade separates the UI from the AI daemon, keeps resource usage low, and respects Git as the source of truth. It's built for engineers who care about control and hate silent failures.
|
The UI is separate from the AI daemon. Resource usage stays low. Git is the source of truth, not a history you can't export. No telemetry. No cloud dependency unless you choose it.
|
||||||
</p>
|
</p>
|
||||||
<p style="font-size: 1.1rem; line-height: 1.6; color: var(--color-text-muted);">
|
<p style="font-size: 1.1rem; line-height: 1.6; color: var(--color-text-muted);">
|
||||||
Used daily to develop Zaguán Blade and zcoderd. Tested on real production projects.
|
Used daily to develop Blade and zcoderd. Tested on real production projects — not just demos.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -134,7 +132,7 @@ const version = pkg.version ?? "";
|
|||||||
<div class="features-header">
|
<div class="features-header">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-label">[002] WORKFLOW</div>
|
<div class="section-label">[002] WORKFLOW</div>
|
||||||
<h2 class="section-title">Engineers Think<br/>in Workflows</h2>
|
<h2 class="section-title">What It's Actually<br/>Good At</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="features-layout">
|
<div class="features-layout">
|
||||||
@@ -215,24 +213,24 @@ const version = pkg.version ?? "";
|
|||||||
<section class="pricing">
|
<section class="pricing">
|
||||||
<div class="pricing-container">
|
<div class="pricing-container">
|
||||||
<div class="pricing-block">
|
<div class="pricing-block">
|
||||||
<div class="section-label">[003] SUBSCRIPTION_MODEL</div>
|
<div class="section-label">[004] SUBSCRIPTION_MODEL</div>
|
||||||
<h2 class="pricing-title">ZAGUÁN AI<br/>REQUIRED</h2>
|
<h2 class="pricing-title">ZAGUÁN AI<br/>REQUIRED</h2>
|
||||||
<div class="pricing-grid">
|
<div class="pricing-grid">
|
||||||
<div class="pricing-item">
|
<div class="pricing-item">
|
||||||
<div class="pricing-label">WITHOUT SUBSCRIPTION</div>
|
<div class="pricing-label">WITHOUT SUBSCRIPTION</div>
|
||||||
<div class="pricing-value">Solid text editor</div>
|
<div class="pricing-value">Manual edits, no AI features</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pricing-divider"></div>
|
<div class="pricing-divider"></div>
|
||||||
<div class="pricing-item pricing-item-highlight">
|
<div class="pricing-item pricing-item-highlight">
|
||||||
<div class="pricing-label">WITH SUBSCRIPTION</div>
|
<div class="pricing-label">WITH SUBSCRIPTION</div>
|
||||||
<div class="pricing-value">Full AI power unlocked</div>
|
<div class="pricing-value">AI tool calls, code review, multi-model access</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pricing-features">
|
<div class="pricing-features">
|
||||||
<span>Multi-model access</span>
|
<span>Multi-model routing</span>
|
||||||
<span>Priority support</span>
|
<span>Priority support (email)</span>
|
||||||
<span>Early features</span>
|
<span>Early access to new tools</span>
|
||||||
<span>Regular updates</span>
|
<span>Funding development</span>
|
||||||
</div>
|
</div>
|
||||||
<a href="https://zaguanai.com/pricing" class="pricing-action" target="_blank" rel="noopener">
|
<a href="https://zaguanai.com/pricing" class="pricing-action" target="_blank" rel="noopener">
|
||||||
<span>VIEW_PRICING()</span>
|
<span>VIEW_PRICING()</span>
|
||||||
@@ -246,8 +244,8 @@ const version = pkg.version ?? "";
|
|||||||
<section id="download" class="download">
|
<section id="download" class="download">
|
||||||
<div class="download-layout">
|
<div class="download-layout">
|
||||||
<div class="download-header">
|
<div class="download-header">
|
||||||
<div class="section-label">[004] DOWNLOAD_ZBLADE</div>
|
<div class="section-label">[005] DOWNLOAD_ZBLADE</div>
|
||||||
<h2 class="download-title">Choose Your<br/>Platform</h2>
|
<h2 class="download-title">Get Blade<br/>for Your OS</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="download-grid">
|
<div class="download-grid">
|
||||||
<a href="https://github.com/ZaguanLabs/ZaguanBlade/releases" class="platform-card platform-windows" target="_blank" rel="noopener">
|
<a href="https://github.com/ZaguanLabs/ZaguanBlade/releases" class="platform-card platform-windows" target="_blank" rel="noopener">
|
||||||
@@ -282,7 +280,7 @@ const version = pkg.version ?? "";
|
|||||||
</div>
|
</div>
|
||||||
<div class="download-disclaimer">
|
<div class="download-disclaimer">
|
||||||
<span class="disclaimer-icon">⚠</span>
|
<span class="disclaimer-icon">⚠</span>
|
||||||
<span>Pre-v1.0 software. Breaking changes may occur. AI features require an active <a href="https://zaguanai.com/pricing">Zaguán AI subscription</a>.</span>
|
<span>Pre-v1.0 software — breaking changes will happen. AI features require an active <a href="https://zaguanai.com/pricing">Zaguán AI subscription</a>.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
import BaseLayout from '../layouts/BaseLayout.astro';
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title="Privacy Policy - Zaguán Blade">
|
<BaseLayout title="Privacy Policy - Zaguán Blade" description="What data Zaguán Blade collects, how it's protected, and what never leaves your machine.">
|
||||||
<main>
|
<main>
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="privacy-hero">
|
<section class="privacy-hero">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-label">[PRIVACY]</div>
|
<div class="section-label">[PRIVACY]</div>
|
||||||
<h1 class="section-title">Your Data,<br/>Your Control</h1>
|
<h1 class="section-title">Privacy</h1>
|
||||||
<p class="hero-subtitle">We take your privacy seriously. Here's exactly how we protect your information.</p>
|
<p class="hero-subtitle">What data we collect, what we don't, and why that distinction matters.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -18,10 +18,10 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- Introduction -->
|
<!-- Introduction -->
|
||||||
<div class="privacy-section">
|
<div class="privacy-section">
|
||||||
<h2>Our Commitment</h2>
|
<h2>The Short Version</h2>
|
||||||
<p>
|
<p>
|
||||||
Zaguán Blade is built with privacy as a core principle. We will <strong>never access, sell, or in any way monetize or abuse your data</strong>.
|
If you use Local AI mode, your code never leaves your machine.
|
||||||
This is a binding commitment. Your data is yours, and we treat it with the respect it deserves.
|
If you use cloud models, your conversations are encrypted. We do not sell, train on, or monetize your data.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user