By mds
Maintain persistent AI context across coding sessions by logging decisions, folder descriptions, and session handoffs to a SQLite database, enabling seamless AI handover and resumed work without losing state.
Logs folder-level decisions and open questions from the session
Enriches folder context in float.db — the primary job is writing useful context
Writes .float/handoff.md - the AI-to-AI session note passed between sessions
Updates session handoff entry with title, decision, and rationale
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Floats your content for AI — and humans who use it.
One install. Zero config. Every page becomes copyable markdown.
llms.txt and .md files/float/ dashboard to browse and copy any pagenpm install floatprompt
That's it. On install, FloatPrompt adds itself to your build. Every npm run build now generates markdown automatically.
| Framework | Extra Steps | Notes |
|---|---|---|
| Next.js | None | Works automatically |
| Astro | None | Works automatically |
| Gatsby | None | Works automatically |
| Eleventy | None | Works automatically |
| Vite | None | Works automatically |
| Hugo | Add to build command | hugo && floatprompt ./public |
| Jekyll | Add to build command | jekyll build && floatprompt ./_site |
Hugo and Jekyll don't use npm scripts, so add FloatPrompt to your build command manually.
After each build:
out/
├── index.html
├── index.md ← AI-readable
├── about.html
├── about.md ← AI-readable
├── llms.txt ← Site index for LLMs
├── llms-full.txt ← Complete site content
└── float/
└── index.html ← Dashboard for browsing all pages
Want a "Copy as Markdown" button on your live site? Add the widget so visitors can copy any page directly:
import { FloatButton } from 'floatprompt/react'
export default function Layout({ children }) {
return (
<>
{children}
<FloatButton position="bottom-right" />
</>
)
}
Use the core functions with your own buttons:
import { copyPageMarkdown, getPageMarkdown } from 'floatprompt/widget'
// Copy current page to clipboard
document.getElementById('my-copy-btn').onclick = async () => {
await copyPageMarkdown()
}
// Or get the markdown to do something else with it
const markdown = await getPageMarkdown()
FloatPrompt runs after your build and:
llms.txt — a site index following the llms.txt standard/float/ — a dashboard for browsing and copying all pagesNo AI. No API keys. Pure mechanical extraction.
Create floatprompt.config.js for custom settings:
export default {
exclude: ['/admin/**', '/api/**'],
baseUrl: 'https://example.com',
siteTitle: 'My Site',
siteDescription: 'A site that floats its content for AI',
}
| Option | Type | Default | Description |
|---|---|---|---|
input | string | auto-detected | Input directory |
output | string | same as input | Output directory |
exclude | string[] | [] | Glob patterns to exclude |
baseUrl | string | '' | Base URL for the site |
siteTitle | string | from index.html | Site title |
siteDescription | string | — | Site description |
llmsTxt | boolean | true | Generate llms.txt |
llmsFullTxt | boolean | true | Generate llms-full.txt |
dashboard | boolean | true | Generate /float/ dashboard |
If you'd rather run FloatPrompt yourself instead of using the automatic postbuild hook:
floatprompt # auto-detects output directory
floatprompt ./out # explicit path
floatprompt ./out --exclude "/admin/**"
| Flag | Description |
|---|---|
--output <dir> | Output directory (default: same as input) |
--exclude <glob> | Exclude pattern (can use multiple times) |
--base-url <url> | Base URL for the site |
--site-title <title> | Site title |
--no-llms-txt | Skip llms.txt and llms-full.txt |
--no-dashboard | Skip /float/ dashboard |
--verbose | Show detailed output |
import { FloatPrompt } from 'floatprompt'
// Generate for a directory
const result = await FloatPrompt.generate({
input: './out',
exclude: ['/admin/**'],
})
console.log(`Generated ${result.markdownFilesGenerated} files`)
// Extract single page
const markdown = FloatPrompt.extract(htmlString, {
url: '/about',
title: 'About Us',
})
For AI agents: HTML is full of navigation, footers, scripts, and styling. Markdown is just the content. Less noise, better results.
For humans: Visitors can copy any page as markdown and paste directly into Claude, ChatGPT, or any AI tool.
For you: One install. Works on every build. Nothing to maintain.
MIT
npx claudepluginhub mds/floatprompt --plugin floatpromptImport external documentation locally - bypass AI-blocking sites via Context7, WebFetch, or Playwright
Pull docs from any URL into Claude Code. Indexes static docs sites in seconds with conditional-GET caching, then exposes them as MCP tools (fetch_url, ensure_docs, list_sources, list_indexed, grep_docs, read_doc, add_source, remove_source). Local, browser-free, no API keys.
A plugin to help claude build and maintain Cyfrin documentation sites
LLM-powered knowledge base from Claude Code and Codex CLI sessions. Follows Karpathy's LLM Wiki pattern.
Universal documentation loading system with intelligent link extraction and parallel WebFetch for all plugins
Main Branch Claude Code skills for running a business from markdown files in git.