From 0b4d029f403122f31d36b5239d5638ee3039cc42 Mon Sep 17 00:00:00 2001 From: Krishan Kant Sharma Date: Fri, 26 Jun 2026 11:21:07 -0500 Subject: [PATCH 1/2] chore: remove Cloudflare Pages deploy workflow Not wiring up Cloudflare Pages at this stage. Signed-off-by: Krishan Kant Sharma --- .github/workflows/deploy.yml | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 60eedf9..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Deploy - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - deploy: - runs-on: ubuntu-latest - permissions: - contents: read - deployments: write - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 22 - cache: npm - - run: npm ci - - run: npm run build - - uses: cloudflare/wrangler-action@v3 - with: - apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} - accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - command: pages deploy dist --project-name=flaglint From 226ee23c3f97becacf6102475befbb1c75b7cdf5 Mon Sep 17 00:00:00 2001 From: Krishan Kant Sharma Date: Fri, 26 Jun 2026 11:51:30 -0500 Subject: [PATCH 2/2] feat: redesign homepage as multi-language platform hub Add JS/Go SDK cards, update GitHub links to flaglint-js, fetch live CLI version from npm at build time. Signed-off-by: Krishan Kant Sharma --- src/pages/index.astro | 140 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 126 insertions(+), 14 deletions(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index 8b00063..8b7d4aa 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,16 +1,19 @@ --- -// Single source of truth for the displayed version: read from package.json at -// build time so the site can never drift from the published npm version. -import pkg from "../../package.json"; - -const version = pkg.version; +let version = "1.0.0"; +try { + const res = await fetch("https://registry.npmjs.org/flaglint/latest"); + const data = await res.json(); + version = data.version ?? "1.0.0"; +} catch { + // fallback to hardcoded +} const jsonLd = { "@context": "https://schema.org", "@type": "SoftwareApplication", name: "FlagLint", description: - "Free, open-source CLI that finds every direct LaunchDarkly Node.js SDK call, ranks them by migration risk, and generates safe OpenFeature rewrites.", + "Free, open-source CLI that finds every direct LaunchDarkly SDK call, ranks them by migration risk, and generates safe OpenFeature rewrites.", url: "https://flaglint.dev", downloadUrl: "https://www.npmjs.com/package/flaglint", softwareVersion: version, @@ -19,7 +22,7 @@ const jsonLd = { offers: { "@type": "Offer", price: "0", priceCurrency: "USD" }, author: { "@type": "Person", name: "Krishan Sharma", url: "https://github.com/flaglint" }, license: "https://opensource.org/licenses/MIT", - codeRepository: "https://github.com/flaglint/flaglint", + codeRepository: "https://github.com/flaglint/flaglint-js", }; --- @@ -804,6 +807,74 @@ const jsonLd = { } .footer-links a:hover { color: var(--text); } + /* ── Section: Language SDKs ─────────────────────────────────────── */ + .section-sdks { + border-top: 1px solid var(--border); + border-bottom: 1px solid var(--border); + background: var(--surface); + } + [data-theme="light"] .section-sdks { background: #f4f8f6; } + .sdk-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 24px; + margin-top: 40px; + } + .sdk-card { + background: var(--bg); + border: 1px solid var(--border); + border-radius: 12px; + padding: 28px; + } + [data-theme="light"] .sdk-card { background: var(--surface); } + .sdk-card-soon { opacity: 0.65; } + .sdk-card-header { margin-bottom: 14px; } + .sdk-badge { + display: inline-block; + padding: 3px 10px; + border-radius: 999px; + font-size: 11px; + font-weight: 800; + letter-spacing: 0.05em; + } + .sdk-badge-stable { + background: rgba(0,217,126,0.15); + color: var(--accent); + border: 1px solid rgba(0,217,126,0.3); + } + [data-theme="light"] .sdk-badge-stable { + background: #d4f5e6; + color: #005c33; + border-color: #9de5c3; + } + .sdk-badge-soon { + background: var(--surface-raised); + color: var(--subtle); + border: 1px solid var(--border); + } + .sdk-title { + font-size: 20px; + font-weight: 700; + letter-spacing: -0.01em; + margin-bottom: 10px; + } + .sdk-desc { + color: var(--muted); + font-size: 14px; + line-height: 1.6; + margin-bottom: 16px; + } + .cmd-muted { color: var(--subtle) !important; } + .sdk-links { + display: flex; + gap: 20px; + margin-top: 16px; + font-size: 13px; + font-weight: 700; + } + .sdk-links a { color: var(--accent); } + .sdk-card-soon .sdk-links a { color: var(--subtle); } + /* ── Responsive ──────────────────────────────────────────────────── */ @media (max-width: 980px) { .hero-grid { grid-template-columns: 1fr; gap: 40px; } @@ -811,6 +882,7 @@ const jsonLd = { .diff-arrow-col { display: none; } .workflow-strip { grid-template-columns: 1fr; } .proof-trust-grid { grid-template-columns: 1fr; } + .sdk-grid { grid-template-columns: 1fr; } .wf-divider { display: none; } .wf-step { border-bottom: 1px solid var(--border); } .wf-step:last-of-type { border-bottom: none; } @@ -857,7 +929,7 @@ const jsonLd = { - GitHub + GitHub @@ -872,11 +944,11 @@ const jsonLd = {
-
LaunchDarkly Node.js SDK → OpenFeature
+
JavaScript · Go (coming soon)

Feature flags accumulate debt.
FlagLint makes it visible.

- Makes LaunchDarkly usage visible, measurable, and safer to - migrate to OpenFeature. Free CLI. No API key. Runs locally. + Find every direct LaunchDarkly SDK call, rank by migration risk, + and generate safe OpenFeature rewrites. Free, open-source. No API key. Runs locally.

FlagLint knows when not to rewrite.

@@ -934,6 +1006,46 @@ const jsonLd = {
+ +
+
+
Language SDKs
+

Available for your stack

+
+ + +
+
+ Stable · v{version} +
+

JavaScript / TypeScript

+

LaunchDarkly Node.js server SDK → OpenFeature. Audits, migrates, and enforces the boundary in CI.

+ npm install -g flaglint + +
+ + +
+
+ Coming soon +
+

Go

+

Flag debt analysis for LaunchDarkly Go SDK usage. OpenFeature migration planning.

+ go install github.com/flaglint/flaglint-go@latest + +
+ +
+
+
+ @@ -1169,7 +1281,7 @@ const enabled = await client.getBooleanValue( · Supported scope · - GitHub + GitHub
@@ -1183,12 +1295,12 @@ const enabled = await client.getBooleanValue(