Skip to content

docs: README overhaul + landing page refresh (GTM Phase 1+2) - #174

Merged
ajianaz merged 2 commits into
developfrom
feat/readme-landing-page-gtm
Jun 4, 2026
Merged

docs: README overhaul + landing page refresh (GTM Phase 1+2)#174
ajianaz merged 2 commits into
developfrom
feat/readme-landing-page-gtm

Conversation

@ajianaz

@ajianaz ajianaz commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Go-to-Market: README + Landing Page Refresh

Phase 1: README Overhaul

  • Hero: benefit-first tagline
  • Quick Start: curl | sh as primary CTA
  • Comparison: updated vs Mem0, Letta, Zep + API Keys/Privacy/Speed rows
  • Who is this for: audience-fit table
  • Performance: highlight box
  • Roadmap: v0.0.8 current

Phase 2: Landing Page Refresh

  • Version v0.0.3 -> v0.0.8
  • Install CTA: curl | sh
  • Hero: Give it a memory.
  • Social proof badges (new)
  • Comparison: +3 rows
  • OG + Twitter meta tags

Summary by CodeRabbit

  • Documentation

    • Updated core messaging to emphasize offline-first positioning
    • Added audience guide mapping who benefits from the product
    • Refreshed product comparison table with updated capabilities
  • New Features

    • Added social proof section highlighting key product attributes
    • New performance section with clearer recall latency presentation
  • Updates

    • Simplified installation via shell script
    • Updated version branding and release notes references
    • Revised tagline and website metadata for consistency

@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR implements a GTM messaging refresh across planning, documentation, and landing page. It establishes offline-first positioning for v0.0.8, updates installation to use an install.sh | sh script, revises competitor comparisons, and adds audience/performance messaging clarity through new README sections and landing page social proof badges.

Changes

GTM Messaging Refresh: Offline-First Positioning

Layer / File(s) Summary
GTM Plan: Goals, Phases, and Execution Strategy
docs/plans/2026-06-04-readme-landing-page-gtm.md
New planning document specifies messaging goals (offline-first, zero-dep, single binary, ~30ms recall, privacy) and outlines three execution phases: Phase 1 (README overhaul), Phase 2 (landing page SvelteKit updates with metadata and social proof), Phase 3 (distribution assets: Show HN post, Reddit angles, terminal demo recording). Includes effort estimates and PR grouping guidance.
README Content Updates: Hero, Install, Comparison, and Positioning
README.md
Hero section updated to "offline-first semantic memory engine" tagline, version badge bumped to v0.0.8, install instructions simplified to install.sh | sh script. Competitor comparison table revised (rows updated and projects switched). New "Who is Uteke for?" section maps audience types to fit with uninstall guidance. Performance section adds TL;DR and recall/setup comparison table. Roadmap marks v0.0.8 as current and revises Phase A/B/C features. Footer tagline changed from "Local-first" to "Offline."
Landing Page Implementation: Metadata, Hero, Comparison, and Social Proof
website/src/routes/+page.svelte
Page metadata updated (title, description, OG, Twitter) for offline and 30ms positioning. Hero section version badge updated from v0.0.3 to v0.0.8 with release-notes link; headline/subheadline adjusted; install command switched from cargo install to curl .../install.sh | sh. Comparison table rows synchronized with README. New Social Proof section adds feature badges (Rust, 100% Offline, 30ms Recall, Single Binary, OS support, Docker Ready). Quick Start step 1 install snippet updated to new curl command.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • ajianaz/uteke#76: Modifies the same landing page website/src/routes/+page.svelte file, updating <svelte:head> metadata and hero/install messaging with different version (v0.0.3) and command formats.
  • ajianaz/uteke#56: Initial website landing page implementation that introduced the hero section, comparison table, and Quick Start—areas being updated here with v0.0.8 messaging and new install flow.

Poem

🐰 A hop through offline memory lanes,
With "install.sh" now in everyone's veins,
Thirty milliseconds, zero config zen,
Your data's yours—no clouds, just "when,"
Social proof badges hop along with pride,
Uteke's v0.0.8 message, countryside-wide!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: README overhaul and landing page refresh for GTM phases 1 and 2. It is concise, specific, and clearly communicates the primary focus of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/readme-landing-page-gtm

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

🔍 Cora AI Code Review

No issues found. Code looks good!


Review powered by cora-cli · BYOK · MIT

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🤖 Prompt for all review comments with 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.

Inline comments:
In `@docs/plans/2026-06-04-readme-landing-page-gtm.md`:
- Line 91: Update the two fenced code blocks that currently lack language tags
by adding explicit languages: change the block meant to contain Markdown to
```markdown and the plain/text block to ```text so they pass markdown lint and
get proper syntax highlighting; locate the two unnamed fenced blocks in the
README landing page document and replace their opening ``` with ```markdown and
```text respectively.

In `@README.md`:
- Line 19: Update the installer command occurrences that currently use "curl
-sSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh" to
include the -f flag (make them "curl -fsSL ... | sh") so curl fails fast on HTTP
errors; search for the exact string "curl -sSL
https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh" (present
at the README locations noted) and replace both instances with the "-fsSL"
variant.
- Around line 41-52: The Markdown table in README.md under the "Why Uteke?"
section is malformed because every row begins with double pipes ("||"), causing
GitHub to not render the table; fix it by replacing the leading "||" with a
single "|" for the header, separator and every data row so the first and last
columns are properly delimited (ensure the header separator row still contains
the required `---` cells separated by single pipes), and verify the table rows
(the lines currently starting with "|| | **Uteke**" through the final license
row) all use single leading and inter-cell pipes so the table renders correctly.

In `@website/src/routes/`+page.svelte:
- Around line 143-147: Update the displayed installer command and the clipboard
copy text to use the canonical curl flags "-fsSL" instead of "-sSL": change the
visible strings in the hero span elements (the hidden sm:inline and sm:hidden
spans showing the command) and the value passed to navigator.clipboard.writeText
in the onclick handler so both display and copied text use "curl -fsSL
https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh"; apply the
same replacement for the Quick Start snippet referenced around the other
occurrence (also update its navigator.clipboard.writeText if present).
- Around line 63-74: The comparisons array currently uses the competitor column
key "cognee" and values that don't match the README; update the Comparison[]
literal (the comparisons variable) to use the competitor key name "zep" instead
of "cognee" and replace that column's cell values to exactly match the README's
Phase 2 contract for Zep (e.g., the same entries for Install, API Keys, Offline,
Semantic Search, Privacy, Recall Speed, Tag Management, Memory Aging, Shell
Hooks, License). Ensure the object keys across all rows are uniform (uteke,
mem0, letta, zep) and that the updated values match the README text verbatim so
both surfaces stay in sync.
- Around line 104-108: The meta tags in +page.svelte reference /og-image.png but
the file website/static/og-image.png is missing; either add and commit the
actual image file into website/static (so the <meta property="og:image"
content="/og-image.png" /> and <meta name="twitter:image"
content="/og-image.png" /> resolve) or update those meta tags in +page.svelte to
point to an existing tracked asset (e.g., replace "/og-image.png" with the
path/name of a current image in website/static) so the OG/Twitter images load
correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 29fe7dae-a585-4dce-ba13-d356259d991a

📥 Commits

Reviewing files that changed from the base of the PR and between c9dc0ec and f266251.

📒 Files selected for processing (3)
  • README.md
  • docs/plans/2026-06-04-readme-landing-page-gtm.md
  • website/src/routes/+page.svelte

**That's it.** No API keys. No Docker. No Python. First run downloads the embedding model (~188MB) and you're good to go.

> 📖 More install options: [INSTALL.md](INSTALL.md) · [Pre-built binaries](https://github.com/ajianaz/uteke/releases) · [Docker](https://github.com/ajianaz/uteke/pkgs/container/uteke)
```

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

Add language identifiers to fenced code blocks.

Line 91 and Line 388 use fenced blocks without a language tag, which can fail markdown lint and reduce syntax highlighting quality.

Suggested fix
-```
+```markdown
 ...
-```
+```

-```
+```text
 ...
-```
+```

Also applies to: 388-388

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 91-91: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 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 `@docs/plans/2026-06-04-readme-landing-page-gtm.md` at line 91, Update the two
fenced code blocks that currently lack language tags by adding explicit
languages: change the block meant to contain Markdown to ```markdown and the
plain/text block to ```text so they pass markdown lint and get proper syntax
highlighting; locate the two unnamed fenced blocks in the README landing page
document and replace their opening ``` with ```markdown and ```text
respectively.

Comment thread README.md
cd uteke
cargo install --path crates/uteke-cli
# Install (macOS, Linux, Windows)
curl -sSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh

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

Use curl -fsSL for install snippets to match installer contract.

Line 19 and Line 92 use -sSL; the repo installer usage is -fsSL. Using -f fails fast on HTTP errors and avoids piping error pages into sh.

Suggested fix
-curl -sSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh
+curl -fsSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh

Also applies to: 92-92

🤖 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 `@README.md` at line 19, Update the installer command occurrences that
currently use "curl -sSL
https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh" to include
the -f flag (make them "curl -fsSL ... | sh") so curl fails fast on HTTP errors;
search for the exact string "curl -sSL
https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh" (present
at the README locations noted) and replace both instances with the "-fsSL"
variant.

Comment thread README.md
Comment on lines +41 to +52
|| | **Uteke** | **Mem0** | **Letta** | **Zep** |
||---|---|---|---|---|
|| **Setup** | Single binary | pip + Docker + Qdrant | pip + Docker + Postgres | pip + Docker + Neo4j |
|| **API keys needed** | ❌ None | ✅ OpenAI/LLM key | ✅ LLM key | ✅ LLM key |
|| **Offline** | ✅ Fully | ❌ Cloud embedding | ❌ Needs LLM server | ❌ Needs LLM + vector DB |
|| **Semantic search** | ✅ Local ONNX | ✅ Cloud embedding | ⚠️ Keyword + archival | ✅ GraphRAG |
|| **Zero config** | ✅ Works instantly | ❌ Docker + env vars | ❌ Docker + env vars | ❌ Docker + env vars |
|| **Embedding model** | Built-in (ONNX) | External (cloud) | External | External |
|| **Recall speed** | ~30ms (library) | Network round-trip | Network round-trip | Network round-trip |
|| **Privacy** | ✅ Data never leaves machine | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM |
|| **Language** | Rust | Python | Python | Go + Python |
|| **License** | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |

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 | 🟠 Major | ⚡ Quick win

Fix broken Markdown table syntax in “Why Uteke?”

The rows on Line 41–Line 52 start with ||, so the table won’t render correctly on GitHub. This breaks a key conversion section.

Suggested fix
-|| | **Uteke** | **Mem0** | **Letta** | **Zep** |
-||---|---|---|---|---|
-|| **Setup** | Single binary | pip + Docker + Qdrant | pip + Docker + Postgres | pip + Docker + Neo4j |
+|  | **Uteke** | **Mem0** | **Letta** | **Zep** |
+|---|---|---|---|---|
+| **Setup** | Single binary | pip + Docker + Qdrant | pip + Docker + Postgres | pip + Docker + Neo4j |
...
-|| **License** | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |
+| **License** | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
|| | **Uteke** | **Mem0** | **Letta** | **Zep** |
||---|---|---|---|---|
|| **Setup** | Single binary | pip + Docker + Qdrant | pip + Docker + Postgres | pip + Docker + Neo4j |
|| **API keys needed** | ❌ None | ✅ OpenAI/LLM key | ✅ LLM key | ✅ LLM key |
|| **Offline** | ✅ Fully | ❌ Cloud embedding | ❌ Needs LLM server | ❌ Needs LLM + vector DB |
|| **Semantic search** | ✅ Local ONNX | ✅ Cloud embedding | ⚠️ Keyword + archival | ✅ GraphRAG |
|| **Zero config** | ✅ Works instantly | ❌ Docker + env vars | ❌ Docker + env vars | ❌ Docker + env vars |
|| **Embedding model** | Built-in (ONNX) | External (cloud) | External | External |
|| **Recall speed** | ~30ms (library) | Network round-trip | Network round-trip | Network round-trip |
|| **Privacy** | ✅ Data never leaves machine | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM |
|| **Language** | Rust | Python | Python | Go + Python |
|| **License** | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |
| | **Uteke** | **Mem0** | **Letta** | **Zep** |
|---|---|---|---|---|
| **Setup** | Single binary | pip + Docker + Qdrant | pip + Docker + Postgres | pip + Docker + Neo4j |
| **API keys needed** | ❌ None | ✅ OpenAI/LLM key | ✅ LLM key | ✅ LLM key |
| **Offline** | ✅ Fully | ❌ Cloud embedding | ❌ Needs LLM server | ❌ Needs LLM + vector DB |
| **Semantic search** | ✅ Local ONNX | ✅ Cloud embedding | ⚠️ Keyword + archival | ✅ GraphRAG |
| **Zero config** | ✅ Works instantly | ❌ Docker + env vars | ❌ Docker + env vars | ❌ Docker + env vars |
| **Embedding model** | Built-in (ONNX) | External (cloud) | External | External |
| **Recall speed** | ~30ms (library) | Network round-trip | Network round-trip | Network round-trip |
| **Privacy** | ✅ Data never leaves machine | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM |
| **Language** | Rust | Python | Python | Go + Python |
| **License** | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |
🤖 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 `@README.md` around lines 41 - 52, The Markdown table in README.md under the
"Why Uteke?" section is malformed because every row begins with double pipes
("||"), causing GitHub to not render the table; fix it by replacing the leading
"||" with a single "|" for the header, separator and every data row so the first
and last columns are properly delimited (ensure the header separator row still
contains the required `---` cells separated by single pipes), and verify the
table rows (the lines currently starting with "|| | **Uteke**" through the final
license row) all use single leading and inter-cell pipes so the table renders
correctly.

Comment on lines 63 to 74
const comparisons: Comparison[] = [
{ feature: 'Install', uteke: '1 binary', mem0: 'pip + Docker + Qdrant', letta: 'pip + Docker + Postgres', cognee: 'pip + Docker + Neo4j/pgvector' },
{ feature: 'Offline', uteke: '✅ Fully', mem0: '❌ Needs cloud embedding', letta: '❌ Needs server', cognee: '❌ Needs LLM + vector DB' },
{ feature: 'Install', uteke: '1 binary', mem0: 'pip + Docker + Qdrant', letta: 'pip + Docker + Postgres', cognee: 'pip + Docker + Neo4j' },
{ feature: 'API Keys', uteke: '✅ None needed', mem0: '❌ OpenAI/LLM key', letta: '❌ LLM key', cognee: '❌ LLM + vector DB' },
{ feature: 'Offline', uteke: '✅ Fully', mem0: '❌ Cloud embedding', letta: '❌ Needs server', cognee: '❌ Needs LLM + DB' },
{ feature: 'Semantic Search', uteke: '✅ Local ONNX', mem0: '✅ Cloud embedding', letta: '⚠️ Keyword + archival', cognee: '✅ GraphRAG' },
{ feature: 'Privacy', uteke: '✅ Data stays local', mem0: '⚠️ Sent to LLM', letta: '⚠️ Sent to LLM', cognee: '⚠️ Sent to LLM' },
{ feature: 'Recall Speed', uteke: '~30ms', mem0: 'Network RTT', letta: 'Network RTT', cognee: 'Network RTT' },
{ feature: 'Tag Management', uteke: '✅ list/rename/delete', mem0: '⚠️ Basic', letta: '❌', cognee: '⚠️ Basic' },
{ feature: 'Memory Aging', uteke: '✅ Auto-cleanup', mem0: '✅', letta: '✅ Core memory', cognee: '✅ TTL-based' },
{ feature: 'Shell Hooks', uteke: '✅ bash/zsh/fish', mem0: '❌', letta: '❌', cognee: '❌' },
{ feature: 'Config File', uteke: '✅ uteke.toml', mem0: '⚠️ .env', letta: '⚠️ .env', cognee: '⚠️ .env' },
{ feature: 'License', uteke: 'Apache-2.0', mem0: 'MIT', letta: 'Apache-2.0', cognee: 'Apache-2.0' }
{ feature: 'License', uteke: 'Apache-2.0', mem0: 'Apache-2.0', letta: 'Apache-2.0', cognee: 'Apache-2.0' }
];

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 | 🟠 Major | ⚡ Quick win

Landing comparison data is out of sync with README contract.

This table uses cognee while README compares against Zep, but Phase 2 explicitly says to sync with README. Please align competitor columns and row values across both surfaces.

🤖 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 `@website/src/routes/`+page.svelte around lines 63 - 74, The comparisons array
currently uses the competitor column key "cognee" and values that don't match
the README; update the Comparison[] literal (the comparisons variable) to use
the competitor key name "zep" instead of "cognee" and replace that column's cell
values to exactly match the README's Phase 2 contract for Zep (e.g., the same
entries for Install, API Keys, Offline, Semantic Search, Privacy, Recall Speed,
Tag Management, Memory Aging, Shell Hooks, License). Ensure the object keys
across all rows are uniform (uteke, mem0, letta, zep) and that the updated
values match the README text verbatim so both surfaces stay in sync.

Comment on lines +104 to +108
<meta property="og:image" content="/og-image.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="uteke — Give Your AI a Memory" />
<meta name="twitter:description" content="Offline-first semantic memory. Single binary. Zero config. 30ms recall." />
<meta name="twitter:image" content="/og-image.png" />

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 | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Verify OG asset exists and is tracked
fd -a '^og-image\.png$' website/static
git ls-files | rg -n '^website/static/og-image\.png$'

Repository: ajianaz/uteke

Length of output: 39


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# 1) Check presence on disk
echo "== find on disk =="
find website/static -maxdepth 2 -type f -name 'og-image.png' -print || true

# 2) Check git-tracked status
echo "== git tracked =="
git ls-files | rg -n '^website/static/og-image\.png$' || true

# 3) List any og-* images to see naming/casing
echo "== nearby og images =="
git ls-files 'website/static/og*' || true

Repository: ajianaz/uteke

Length of output: 117


Add/commit website/static/og-image.png (or update the meta tags)

website/src/routes/+page.svelte sets og:image and twitter:image to /og-image.png, but website/static/og-image.png is not present in the repo and is not tracked by git. Add the file under website/static and commit, or change the tags to point at an existing image.

🤖 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 `@website/src/routes/`+page.svelte around lines 104 - 108, The meta tags in
+page.svelte reference /og-image.png but the file website/static/og-image.png is
missing; either add and commit the actual image file into website/static (so the
<meta property="og:image" content="/og-image.png" /> and <meta
name="twitter:image" content="/og-image.png" /> resolve) or update those meta
tags in +page.svelte to point to an existing tracked asset (e.g., replace
"/og-image.png" with the path/name of a current image in website/static) so the
OG/Twitter images load correctly.

Comment on lines +143 to +147
<span class="hidden sm:inline text-[var(--color-text)]">curl -sSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh</span>
<span class="sm:hidden text-[var(--color-text)]">curl -sSL .../install.sh | sh</span>
<button
class="text-[var(--color-text-dim)] hover:text-[var(--color-accent)] transition-colors ml-2"
onclick={() => navigator.clipboard.writeText('cargo install --git https://github.com/ajianaz/uteke')}
onclick={() => navigator.clipboard.writeText('curl -sSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh')}

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

Align install commands with installer docs (-fsSL).

Both hero and Quick Start snippets use curl -sSL; the canonical installer usage in repo docs is curl -fsSL. Update display and clipboard text together.

Suggested fix
-curl -sSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh
+curl -fsSL https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh

Also applies to: 342-342

🤖 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 `@website/src/routes/`+page.svelte around lines 143 - 147, Update the displayed
installer command and the clipboard copy text to use the canonical curl flags
"-fsSL" instead of "-sSL": change the visible strings in the hero span elements
(the hidden sm:inline and sm:hidden spans showing the command) and the value
passed to navigator.clipboard.writeText in the onclick handler so both display
and copied text use "curl -fsSL
https://raw.githubusercontent.com/ajianaz/uteke/main/install.sh | sh"; apply the
same replacement for the Quick Start snippet referenced around the other
occurrence (also update its navigator.clipboard.writeText if present).

@ajianaz
ajianaz merged commit 37b8188 into develop Jun 4, 2026
8 checks passed
@ajianaz
ajianaz deleted the feat/readme-landing-page-gtm branch June 4, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant