@@ -6,114 +6,129 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66
77## [ Unreleased]
88
9- ### Added
9+ _ Nothing yet — open an issue or PR to propose the next thing. _
1010
11- - ** ` hfo --bench <tag> ` ** . A standardised 4-prompt benchmark (warmup · code ·
12- reasoning · translation) that runs against a local Ollama model and
13- reports tokens-per-second and time-to-first-token, both per-prompt and
14- aggregate. Uses Ollama's streaming ` /api/generate ` endpoint and the
11+ ## [ 0.1.0] — 2026-04-24
12+
13+ First public release of ** hfo** (` hfo-cli ` on npm).
14+
15+ ### Added — core product
16+
17+ - Fullscreen TUI with six tabs (Dashboard, Models, Install, Tune, Help,
18+ Settings) on top of a hardware-aware install engine. Alt-screen buffer
19+ preserves your scrollback on exit.
20+ - Hardware scoring: every GGUF in a Hugging Face repo graded 0–100
21+ against usable VRAM and RAM, with per-quant labels like ` Full GPU ` ,
22+ ` Partial 87% ` , ` CPU-heavy ` .
23+ - Hugging Face model-card parser: pulls recommended ` temperature ` ,
24+ ` top_p ` , ` top_k ` , ` repeat_penalty ` , ` min_p ` , and context size into the
25+ generated Modelfile.
26+ - Quick-confirm install flow: on the happy path a new model installs in
27+ three keystrokes — pick a quant, press <kbd >Enter</kbd >, wait. Branches
28+ to the file browser (<kbd >O</kbd >) or params editor (<kbd >C</kbd >) only
29+ when there's something to decide.
30+ - Orphan reinstall (<kbd >I</kbd >): tags removed from Ollama but whose
31+ GGUFs still live on disk get recovered, regenerating the Modelfile when
32+ needed.
33+ - Zip backup + restore with level-9 compression, streaming (multi-GB
34+ safe), sidecar ` metadata.json ` per backup.
35+ - Deep delete: <kbd >d</kbd > removes the Ollama tag only, <kbd >Alt</kbd >+<kbd >d</kbd >
36+ also wipes the tracked directory.
37+ - ~ 90% capacity Ollama env tuner for ` OLLAMA_FLASH_ATTENTION ` ,
38+ ` OLLAMA_KV_CACHE_TYPE ` , ` OLLAMA_KEEP_ALIVE ` , ` OLLAMA_NUM_PARALLEL ` ,
39+ ` OLLAMA_MAX_LOADED_MODELS ` , ` OLLAMA_MAX_QUEUE ` . Persists via ` setx `
40+ (Windows) · ` launchctl setenv ` + ` ~/.zprofile ` (macOS) · ` ~/.profile `
41+ + systemd override (Linux).
42+ - 7 themes (Dark, Light, Dracula, Solarized Dark/Light, Nord, Monokai)
43+ and 20 language packs with live language switching from Settings.
44+
45+ ### Added — CLI & scripting
46+
47+ - Headless flag equivalents for every TUI capability: ` --view ` · ` --list `
48+ · ` --tune ` · ` --backup ` · ` --restore ` · ` --delete ` · ` --launch ` · ` --tab ` .
49+ - Launch matrix ` L ` / ` --launch <integration> ` wiring into Claude Code,
50+ Cline, Codex, Copilot CLI, Droid, Hermes, Kimi, OpenCode, OpenClaw, Pi,
51+ and VS Code, with runtime probing against ` ollama launch --help ` to
52+ mark unsupported targets.
53+ - ** Coding-agent launch manifest + hints.** Every ` --launch <agent> `
54+ writes a JSON manifest to
55+ ` <configDir>/hfo/agent-launches/<agent>.json ` recording which model was
56+ bound to which agent and when, then prints a per-agent hint block
57+ listing the env vars / config keys needed to route that agent through
58+ the local Ollama (Claude Code, Codex, Cline, OpenCode, Droid, VS Code,
59+ Copilot CLI). hfo never mutates user-owned config files — only records
60+ and educates.
61+ - ** ` hfo --bench <tag> ` .** A standardised 4-prompt benchmark (warmup ·
62+ code · reasoning · translation) that runs against a local Ollama model
63+ and reports tokens-per-second and time-to-first-token, both per-prompt
64+ and aggregate. Uses Ollama's streaming ` /api/generate ` endpoint and the
1565 server-reported ` eval_count ` / ` eval_duration ` for accurate tok/s.
1666 ` --out <file> ` writes an ` hfo-bench-v1 ` JSON submission that can be
1767 contributed to the community leaderboard at
1868 < https://hfo.carrillo.app/benchmarks/ > .
19- - ** Coding-agent launch manifest + hints.** Every ` hfo --launch <agent> `
20- now (1) writes a small JSON manifest to
21- ` <configDir>/hfo/agent-launches/<agent>.json ` recording which model was
22- bound to which agent and when, and (2) prints a per-agent hint block
23- listing the env vars / config keys the user needs to set for that agent
24- (Claude Code, Codex, Cline, OpenCode, Droid, VS Code, Copilot CLI) to
25- actually route through the local Ollama. hfo never mutates user-owned
26- config files — only records and educates.
27- - ** AI-search instrumentation** . ` docs/llms.txt ` (curated site map for
28- ChatGPT / Perplexity / Claude / Gemini) and ` docs/llms-full.txt `
29- (flattened prose version of the full documentation).
30- - ** Five standalone documentation pages.** The homepage sections have been
31- split into real crawlable URLs with unique title / description / canonical
32- / JSON-LD BreadcrumbList:
33- ` /install/ ` (with a ` HowTo ` schema), ` /cli/ ` , ` /keyboard/ ` , ` /privacy/ ` ,
34- ` /faq/ ` (with ` FAQPage ` schema). Plus ` /benchmarks/ ` for the new bench
35- leaderboard. Sitemap.xml now lists seven URLs instead of one.
36- - ** Shared sub-page stylesheet** at ` docs/assets/page.css ` so the new
37- pages stay visually consistent with the landing without duplicating 600
38- lines of hero CSS.
39-
40- ### Changed
41-
42- - ** Portable default install directory.** ` hfo ` now downloads GGUFs into the
43- current working directory (` process.cwd() ` ) when neither ` --dir/-d ` nor
44- ` settings.modelDir ` is set. The previous behaviour — a hard-coded
45- ` D:/Desarrollo/AI/LLMs ` (Windows) or ` ~/AI/LLMs ` (Unix) — has been removed.
46- Running ` hfo ` in any folder now drops its models alongside the project,
47- making the tool fully self-contained.
48- - ** Install-pill OS detection.** The landing's package-manager switcher
49- auto-adapts its ` curl ` tab to the visitor's OS — shows
50- ` irm … | iex ` with the label ` powershell ` on Windows, ` curl … | sh ` with
51- the label ` curl ` everywhere else. Uses ` navigator.userAgentData.platform `
52- with a UA-string fallback.
53- - ** Robots.txt** now disallows ` /install.sh ` and ` /install.ps1 ` so Google
54- doesn't index raw shell / PowerShell source as text content.
55- - ** Hero CTA layout** . Removed the ` Get started ` button (redundant with
56- the pm-tabs above it) and replaced it with ` View on npm ` . Removed the
57- six trust chips from the hero and moved their content to a quieter
58- data-dense stats strip at the top of the Features section.
59- - ** Landing hero redesign.** ` docs/index.html ` now uses a full-viewport
60- (` 100vh ` ) two-column hero with an ambient orb + grid backdrop, a CSS-only
61- package-manager switcher (npm / pnpm / yarn / bun / curl), live trust
62- chips (npm version, CI status, tests, stars, Node ≥ 20, OS support), and
63- a stacked terminal preview that shows scoring bars for the quant picker.
64- Three responsive tiers — desktop ≥ 1025 px, tablet 641–1024 px,
65- mobile ≤ 640 px — replace the previous single mobile breakpoint. Dead
66- rules from the v1 hero were retired.
67- - ** README hero refresh.** Wordmark is linked, tagline tightened, badges
68- switched to ` for-the-badge ` style with the brand palette, and the
69- signature terminal snippet matches the site hero for cross-surface
70- consistency. An accidental ` claude --resume … ` line that had leaked into
71- line 1 of ` README.md ` was removed.
72-
73- ### Added
74-
75- - Initial public release. See [ README.md] ( ./README.md ) for the full feature
76- list.
77- - Fullscreen TUI with six tabs (Dashboard, Models, Install, Tune, Help,
78- Settings) on top of a hardware-aware install engine.
79- - Headless CLI equivalents for every tab capability:
80- ` --view ` · ` --list ` · ` --tune ` · ` --backup ` · ` --restore ` · ` --delete ` ·
81- ` --launch ` · ` --tab ` .
69+ - Portable default install directory: models download to the current
70+ working directory (` process.cwd() ` ) when neither ` --dir/-d ` nor
71+ ` settings.modelDir ` is set, making every invocation self-contained.
72+ - ASCII boot screen that runs while hardware probing / Ollama detection
73+ / settings loading happens, and a short "Goodbye" splash on exit.
8274- One-liner install scripts for every OS:
8375 ` curl -fsSL https://hfo.carrillo.app/install.sh | sh ` and
8476 ` irm https://hfo.carrillo.app/install.ps1 | iex ` .
85- - Ollama launch-menu shortcut ` L ` wiring into
86- ` claude · cline · codex · copilot · droid · hermes · kimi · opencode · openclaw · pi · vscode ` .
87- - Zip backup + restore pipeline with level-9 compression and a sidecar
88- ` metadata.json ` per backup; orphan reinstall that regenerates the
89- Modelfile from the GGUF alone when needed.
90- - 20 language packs and 7 themes with a reusable searchable dropdown
91- component.
92- - ASCII boot screen that runs while hardware probing / Ollama detection /
93- settings loading happens, and a short "Goodbye" splash on exit.
94- - GitHub Pages landing at < https://hfo.carrillo.app > with JSON-LD
95- (WebSite + Person + SoftwareApplication + FAQPage), terminal-styled
96- code blocks, a 404 page, ` humans.txt ` , ` .well-known/security.txt ` , and
97- a rasterised favicon + Open Graph pipeline.
77+
78+ ### Added — website & AI search
79+
80+ - GitHub Pages landing at < https://hfo.carrillo.app > with full-viewport
81+ (` 100vh ` ) two-column hero, ambient orb + grid backdrop, CSS-only
82+ package-manager switcher (npm / pnpm / yarn / bun / curl+powershell),
83+ stacked terminal preview with scoring bars, and three responsive tiers
84+ (desktop ≥ 1025 px, tablet 641–1024 px, mobile ≤ 640 px).
85+ - Shared ` <hfo-terminal> ` Web Component at ` docs/assets/terminal.js ` —
86+ every code-block terminal on the site renders through one upgrade point
87+ (the hero keeps its unique markup).
88+ - Install pill detects the visitor's OS and auto-adapts the script tab
89+ to ` irm … | iex ` on Windows and ` curl … | sh ` on macOS / Linux.
90+ - Five standalone sub-pages with unique title / description / canonical /
91+ JSON-LD BreadcrumbList: ` /install/ ` (with HowTo schema), ` /cli/ ` ,
92+ ` /keyboard/ ` , ` /privacy/ ` , ` /faq/ ` (with FAQPage schema). Plus
93+ ` /benchmarks/ ` for the bench leaderboard. Sitemap lists seven URLs.
94+ - AI-search instrumentation: ` docs/llms.txt ` (curated site map for
95+ ChatGPT / Perplexity / Claude / Gemini) and ` docs/llms-full.txt `
96+ (flattened prose version of the full documentation).
97+ - Stats strip inside Features with live chips (npm version, CI status,
98+ tests, GitHub stars, Node ≥ 20, MIT, Windows · macOS · Linux as OS
99+ icons). Replaces the noisier trust-row that used to live in the hero.
100+ - Structured data stack: ` WebSite ` , ` Person ` , ` SoftwareApplication ` ,
101+ ` FAQPage ` , ` BreadcrumbList ` , ` HowTo ` .
102+ - Rasterised favicon + Open Graph PNG pipeline (the Pages workflow
103+ rasterises ` og-image.svg ` into ` og-image.png ` at build time).
104+ - 404 page with same design system, ` noindex, nofollow ` , internal
105+ recovery links.
106+ - ` humans.txt ` , ` .well-known/security.txt ` (RFC 9116), and a ` CNAME ` for
107+ the custom domain.
108+
109+ ### Added — repository hygiene
110+
98111- GitHub community-health files: issue form templates (bug_report /
99112 feature_request), pull request template, ` CODEOWNERS ` ,
100113 ` dependabot.yml ` , ` FUNDING.yml ` , ` SUPPORT.md ` , ` SECURITY.md ` ,
101- ` CODE_OF_CONDUCT.md ` , ` CONTRIBUTING.md ` , and this changelog.
114+ ` CODE_OF_CONDUCT.md ` , ` CONTRIBUTING.md ` , this changelog.
102115- GitHub Actions: CI matrix (Ubuntu / macOS / Windows × Node 20 / 22 →
103- typecheck + lint + test + build), Pages deploy (rasterises favicons
104- before publishing), and a release workflow that ships per-OS binaries
105- to GitHub Releases ** only** when a ` v*.*.* ` tag is pushed.
106-
107- <!--
108- When cutting a release, copy the items above into a dated version block
109- below, e.g.
116+ typecheck + lint + test + build), Pages deploy, and a release workflow
117+ that ships per-OS standalone binaries to GitHub Releases ** only** when
118+ a ` v*.*.* ` tag is pushed. npm publish is performed manually by the
119+ maintainer, not automated.
120+ - 14 test suites / 96 vitest cases covering every module in ` src/core ` ,
121+ ` src/infra ` , and ` src/ui ` . Coverage tracked via v8.
110122
111- ## [0.1.0] - 2026-05-01
112- ### Added
113- ### Changed
114- ### Fixed
123+ ### Notes
115124
116- …and then clear the Unreleased section for the next cycle.
117- -->
125+ - Requires Node.js 20 or newer (npm / pnpm / yarn / bun installs). The
126+ per-OS standalone binaries shipped with each tagged release have no
127+ Node dependency.
128+ - Ollama is optional: if missing, hfo offers to install it via ` winget `
129+ (Windows), ` brew ` (macOS), or the official shell script (Linux).
130+ - No telemetry, no accounts, no subscriptions — only the two public
131+ Hugging Face endpoints and the local Ollama daemon.
118132
119- [ Unreleased ] : https://github.com/carrilloapps/hfo/compare/main...HEAD
133+ [ Unreleased ] : https://github.com/carrilloapps/hfo/compare/v0.1.0...HEAD
134+ [ 0.1.0 ] : https://github.com/carrilloapps/hfo/releases/tag/v0.1.0
0 commit comments