Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4fbfca7
HAL-87: scaffold Vectorless docs site (Fumadocs)
hallelx2 Jun 6, 2026
31c15a7
Redesign docs site to the LIGHT Vectorless brand (HAL-190)
hallelx2 Jun 6, 2026
897ec29
Redesign docs site to the LIGHT Vectorless brand (HAL-190) (#1)
hallelx2 Jun 6, 2026
562d005
docs: use the real Vectorless V logo in nav + favicon (HAL-191)
hallelx2 Jun 7, 2026
09e4519
docs: use the real Vectorless V logo in nav + favicon (HAL-191) (#2)
hallelx2 Jun 7, 2026
209a2a6
Polish docs home page design
hallelx2 Jun 7, 2026
8f48289
feat(docs): premium landing page redesign with GSAP and HeroShader
hallelx2 Jun 10, 2026
c4b68b7
Merge branch 'halleluyaholudele/hal-191-real-logo'
hallelx2 Jun 10, 2026
93ecde2
Merge branch 'halleluyaholudele/hal-190-docs-light-redesign'
hallelx2 Jun 10, 2026
726bfff
Merge branch 'halleluyaholudele/hal-105b-docs-polish'
hallelx2 Jun 10, 2026
4755ff8
style(docs): mintlify-inspired redesign and hero button fix
hallelx2 Jun 10, 2026
608346b
chore(docs): redirect primary GitHub links to vectorless-engine
hallelx2 Jun 10, 2026
4ba6949
fix(docs): resolve hero stacking and button visibility issues
hallelx2 Jun 10, 2026
8eee521
style(docs): fix code block contrast and remove card blue border
hallelx2 Jun 10, 2026
040e25c
chore: remove deprecated packages ts-sdk, openapi, and mcp-tools
hallelx2 Jun 20, 2026
5614c5a
Add 'apps/docs/' from commit '8eee521eb3f0c54665ce9316417300aa56fbff4b'
hallelx2 Jun 20, 2026
69ddb06
feat: migrate docs and blogs to monorepo and update branding
hallelx2 Jun 20, 2026
78e5ca9
style: premium editorial layout redesign for vectorless blog
hallelx2 Jun 20, 2026
0cb7c98
style: expand layout to full-width page
hallelx2 Jun 20, 2026
1d62327
ci: update workflows to match monorepo package configuration
hallelx2 Jun 20, 2026
eaf1f4f
fix: resolve workspace react type conflicts by overriding react and r…
hallelx2 Jun 20, 2026
58e254d
chore: add typecheck scripts for all monorepo apps to run under turbo…
hallelx2 Jun 20, 2026
7a58209
fix: resolve lint errors and warnings across workspace packages
hallelx2 Jun 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 4 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
lint-and-typecheck:
name: Lint & Typecheck (TypeScript)
name: Lint & Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -18,25 +18,8 @@ jobs:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm --filter=@vectorless/shared build
- run: pnpm --filter=vectorless typecheck
- run: pnpm --filter=@vectorless/web lint

test-ts-sdk:
name: Test TypeScript SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm --filter=@vectorless/shared build
- run: pnpm --filter=vectorless build
- name: Run unit tests (skip integration)
run: cd packages/ts-sdk && npx vitest run __tests__/client.test.ts
- run: pnpm typecheck
- run: pnpm lint

test-python-sdk:
name: Test Python SDK
Expand Down Expand Up @@ -69,5 +52,4 @@ jobs:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm --filter=@vectorless/shared build
- run: pnpm --filter=vectorless build
- run: pnpm build
40 changes: 0 additions & 40 deletions .github/workflows/publish-ts-sdk.yml

This file was deleted.

9 changes: 9 additions & 0 deletions apps/blogs/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# GEMINI_API_KEY: Required for Gemini AI API calls.
# AI Studio automatically injects this at runtime from user secrets.
# Users configure this via the Secrets panel in the AI Studio UI.
GEMINI_API_KEY="MY_GEMINI_API_KEY"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove the quotes from the example secrets.

These placeholders are meant to be copied into Secrets / .env as raw values. Keeping the quotes makes them easier to paste incorrectly, and dotenv-linter already flags both lines.

Suggested cleanup
-GEMINI_API_KEY="MY_GEMINI_API_KEY"
+GEMINI_API_KEY=MY_GEMINI_API_KEY

 # APP_URL: The URL where this applet is hosted.
@@
-APP_URL="MY_APP_URL"
+APP_URL=MY_APP_URL

Also applies to: 9-9

🧰 Tools
🪛 dotenv-linter (4.0.0)

[warning] 4-4: [QuoteCharacter] The value has quote characters (', ")

(QuoteCharacter)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/blogs/.env.example` at line 4, Remove the double quotes from the example
secret values in the .env.example file. Update GEMINI_API_KEY and the other API
key placeholder mentioned (line 9) by removing the surrounding quotes so the raw
values are shown without quotes. This prevents users from accidentally copying
the quotes as part of their actual secrets when pasting values into their .env
configuration.

Source: Linters/SAST tools


# APP_URL: The URL where this applet is hosted.
# AI Studio automatically injects this at runtime with the Cloud Run service URL.
# Used for self-referential links, OAuth callbacks, and API endpoints.
APP_URL="MY_APP_URL"
3 changes: 3 additions & 0 deletions apps/blogs/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next"
}
1 change: 1 addition & 0 deletions apps/blogs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.vercel
20 changes: 20 additions & 0 deletions apps/blogs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div align="center">
<img width="1200" height="475" alt="GHBanner" src="https://ai.google.dev/static/site-assets/images/share-ais-513315318.png" />
</div>

# Run and deploy your AI Studio app

This contains everything you need to run your app locally.

View your app in AI Studio: https://ai.studio/apps/3b8c6a97-eb59-4fb0-aade-3976e82644b1

## Run Locally

**Prerequisites:** Node.js


1. Install dependencies:
`npm install`
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
3. Run the app:
`npm run dev`
Comment on lines +1 to +20

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

README contains AI Studio template boilerplate inconsistent with actual app.

The README references:

  1. Google AI Studio app URL (line 9) — external service unrelated to this monorepo blog app
  2. .env.local setup (line 18) — the repo uses .env.example, and the app doesn't actually call the Gemini API
  3. AI Studio banner image (line 2) — branding mismatch with Vectorless

This appears to be leftover template content from an AI Studio export. Replace with documentation relevant to the Vectorless blog app, or clarify that this is a demo/template.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/blogs/README.md` around lines 1 - 20, Replace the AI Studio template
boilerplate content in the README with documentation specific to the Vectorless
blog app. Remove the Google AI Studio app URL reference (line 9), update the
environment setup instructions to reference .env.example instead of .env.local
(line 18) and clarify that the app does not require a Gemini API key, and
replace the AI Studio banner image (line 2) with appropriate Vectorless branding
to match the actual application purpose and technology stack.

38 changes: 38 additions & 0 deletions apps/blogs/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@import "tailwindcss";
@import "tw-animate-css";

@theme {
--font-sans: var(--font-geist), ui-sans-serif, system-ui, sans-serif;
--font-display: var(--font-geist), ui-sans-serif, system-ui, sans-serif;
--font-mono: var(--font-geist-mono), ui-monospace, SFMono-Regular, monospace;
--font-serif: var(--font-instrument-serif), ui-serif, Georgia, serif;

--color-bg-base: #fcfcfd;
--color-text-base: #0a0a0a;
--color-text-secondary: #3f3f46;
--color-text-muted: #71717a;
--color-brand-blue: #1456f0;
--color-brand-pink: #ea5ec1;
--color-border-light: #f2f3f5;
--color-border-gray: #e5e7eb;
}

@layer base {
html, body {
background-color: #fcfcfd !important;
color: #0a0a0a;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
}

@layer utilities {
.grid-paper {
background-image:
linear-gradient(to right, rgba(20, 86, 240, 0.04) 1px, transparent 1px),
linear-gradient(to bottom, rgba(20, 86, 240, 0.04) 1px, transparent 1px);
background-size: 56px 56px;
}
}
36 changes: 36 additions & 0 deletions apps/blogs/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import type { Metadata } from "next";
import { Geist, Geist_Mono, Instrument_Serif } from "next/font/google";
import "./globals.css";

const geist = Geist({ subsets: ["latin"], variable: "--font-geist" });
const geistMono = Geist_Mono({ subsets: ["latin"], variable: "--font-geist-mono" });
const instrumentSerif = Instrument_Serif({
weight: "400",
subsets: ["latin"],
variable: "--font-instrument-serif",
});

export const metadata: Metadata = {
title: "Vectorless Blog | Document Retrieval for the Reasoning Era",
description: "Insights, deep dives, and technical guides on structure-preserving retrieval, RAG, and AI agent memory.",
};

export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html
lang="en"
className={`${geist.variable} ${geistMono.variable} ${instrumentSerif.variable}`}
>
<body
className="bg-[#FCFCFD] text-[#0A0A0A] font-sans antialiased selection:bg-[#bfdbfe] selection:text-[#1d4ed8]"
suppressHydrationWarning
>
{children}
</body>
</html>
);
}
Loading
Loading