diff --git a/.github/workflows/buid_deploy.yml b/.github/workflows/buid_deploy.yml index 0d6f054b00..4bd18ebf0f 100644 --- a/.github/workflows/buid_deploy.yml +++ b/.github/workflows/buid_deploy.yml @@ -145,6 +145,9 @@ jobs: frontend/public/mcp/*) add_dir "mcp" ;; + frontend/src/pages/installerpedia/*) + add_dir "installerpedia" + ;; frontend/src/pages/index.astro) # Index page changes only need to rebuild the index page add_dir "index_only" diff --git a/frontend/db/installerpedia/installerpedia-schema.ts b/frontend/db/installerpedia/installerpedia-schema.ts new file mode 100644 index 0000000000..fa5982bdec --- /dev/null +++ b/frontend/db/installerpedia/installerpedia-schema.ts @@ -0,0 +1,72 @@ +export interface InstallationGuide { + id: number; + repo: string; + repo_type: string; // category + has_installation: boolean; + prerequisites: Prerequisite[]; + installation_methods: InstallMethod[]; + post_installation: string[]; + resources_of_interest: Resource[]; + description: string; + stars: number; + note?: string; + } + + export interface Prerequisite { + type: string; + name: string; + version?: string | null; + description: string; + optional: boolean; + applies_to: string[]; + } + + export interface InstallMethod { + title: string; + instructions: InstallInstruction[]; + } + + export interface InstallInstruction { + command: string; + meaning: string; + } + + export interface Resource { + type: string; + title: string; + url_or_path: string; + reason: string; + } + + // Raw DB row types + export interface RawInstallationGuideRow { + id: number; + repo: string; + repo_type: string; + has_installation: boolean; + prerequisites: string; // JSON string + installation_methods: string; // JSON string + post_installation: string; // JSON string + resources_of_interest: string; // JSON string + description: string; + stars: number; + note?: string; + } + + + export interface RepoData { + id: number; + repo: string; + repo_type: string; + has_installation: boolean; + prerequisites: any[]; + installation_methods: any[]; + post_installation: string[]; + resources_of_interest: any[]; + description: string; + stars: number; + note: string; + } + + export type RawRepoRow = RepoData; // same, since parsed in `parseRepoRow` + \ No newline at end of file diff --git a/frontend/db/installerpedia/installerpedia-utils.ts b/frontend/db/installerpedia/installerpedia-utils.ts new file mode 100644 index 0000000000..46fabfa31f --- /dev/null +++ b/frontend/db/installerpedia/installerpedia-utils.ts @@ -0,0 +1,217 @@ +import Database from 'better-sqlite3'; +import path from 'path'; +import type { RepoData, RawRepoRow } from './installerpedia-schema'; // Define schema types similar to man-pages + +// Path to the SQLite DB file + +function getDbPath(): string { + return path.resolve(process.cwd(), 'db/all_dbs/ipm-db.db'); + } +const dbPath = getDbPath() +export const db = new Database(dbPath, { readonly: true }); + +import type { + InstallationGuide, + Prerequisite, + InstallMethod, + InstallInstruction, + Resource, + RawInstallationGuideRow, + } from './installerpedia-schema'; + + /** + * Parse a raw DB row into typed InstallationGuide object + */ + export function parseInstallationGuideRow(row: RawInstallationGuideRow): InstallationGuide { + return { + id: row.id, + repo: row.repo, + repo_type: row.repo_type, + has_installation: row.has_installation, + prerequisites: JSON.parse(row.prerequisites || '[]') as Prerequisite[], + installation_methods: JSON.parse(row.installation_methods || '[]') as InstallMethod[], + post_installation: JSON.parse(row.post_installation || '[]') as string[], + resources_of_interest: JSON.parse(row.resources_of_interest || '[]') as Resource[], + description: row.description, + stars: row.stars, + note: row.note, + }; + } + + /** + * Convert InstallationGuide to DB-ready format + */ + export function serializeInstallationGuideForDb(guide: Omit): Omit { + return { + repo: guide.repo, + repo_type: guide.repo_type, + has_installation: guide.has_installation, + prerequisites: JSON.stringify(guide.prerequisites), + installation_methods: JSON.stringify(guide.installation_methods), + post_installation: JSON.stringify(guide.post_installation), + resources_of_interest: JSON.stringify(guide.resources_of_interest), + description: guide.description, + stars: guide.stars, + note: guide.note, + }; + } + + /** + * Extract specific section from an InstallationGuide + */ + export function getPrerequisites(guide: InstallationGuide): Prerequisite[] { + return guide.prerequisites; + } + + export function getInstallMethods(guide: InstallationGuide): InstallMethod[] { + return guide.installation_methods; + } + + export function getPostInstallationSteps(guide: InstallationGuide): string[] { + return guide.post_installation; + } + + export function getResources(guide: InstallationGuide): Resource[] { + return guide.resources_of_interest; + } + + /** + * Search in description, notes, and resources + */ + export function searchGuide(guide: InstallationGuide, query: string): boolean { + const q = query.toLowerCase(); + + if (guide.description.toLowerCase().includes(q)) return true; + if (guide.note && guide.note.toLowerCase().includes(q)) return true; + for (const r of guide.resources_of_interest) { + if (r.title.toLowerCase().includes(q) || r.reason.toLowerCase().includes(q) || r.url_or_path.toLowerCase().includes(q)) { + return true; + } + } + + return false; + } + + + + +export interface RepoCategory { + name: string; + count: number; + description?: string; +} + +// Fetch categories based on repo_type +export function getRepoCategories(): RepoCategory[] { + const stmt = db.prepare(` + SELECT + repo_type AS name, + COUNT(*) AS count + FROM ipm_data + GROUP BY repo_type + ORDER BY count DESC + `); + + const rows = stmt.all(); + return rows.map((row: any) => ({ + name: row.name, + count: row.count, + description: '', // optional, can be filled manually if needed + })); +} + +// Get overview stats +export interface Overview { + total_count: number; +} + +export function getOverview(): Overview { + const stmt = db.prepare(`SELECT COUNT(*) AS total_count FROM ipm_data`); + const row = stmt.get(); + return { total_count: row.total_count }; +} + +export function getReposByTypePaginated(category: string, limit: number, offset: number): RepoData[] { + const stmt = db.prepare(` + SELECT * FROM ipm_data + WHERE repo_type = ? + ORDER BY stars DESC + LIMIT ? OFFSET ? + `); + const rows: RawRepoRow[] = stmt.all(category, limit, offset); + return rows.map(parseRepoRow); + } + + /** + * Get total count of repos for a given type + */ + export function getReposCountByType(category: string): number { + const stmt = db.prepare(` + SELECT COUNT(*) as count FROM ipm_data + WHERE repo_type = ? + `); + const row = stmt.get(category); + return row.count; + } + + /** + * Get total number of repos in the database + */ + export function getTotalReposCount(): number { + const stmt = db.prepare(` + SELECT COUNT(*) as count FROM ipm_data + `); + const row = stmt.get(); + return row.count; + } + + /** + * Generate static paths for all repo types (categories) + */ + export function generateRepoTypeStaticPaths() { + const stmt = db.prepare(` + SELECT DISTINCT repo_type FROM ipm_data + `); + const rows: { repo_type: string }[] = stmt.all(); + return rows.map(r => ({ params: { category: r.repo_type } })); + } + + + + + export function parseRepoRow(row: RawRepoRow): RepoData { + return { + id: row.id, + repo: row.repo, + repo_type: row.repo_type, + has_installation: Boolean(row.has_installation), + prerequisites: JSON.parse(row.prerequisites || '[]'), + installation_methods: JSON.parse(row.installation_methods || '[]'), + post_installation: JSON.parse(row.post_installation || '[]'), + resources_of_interest: JSON.parse(row.resources_of_interest || '[]'), + description: row.description, + stars: row.stars, + note: row.note, + }; + } + + /** + * Get a repository by its slug (repo name) + */ + export function getRepoBySlug(slug: string): RepoData | null { + const stmt = db.prepare('SELECT * FROM ipm_data WHERE repo_slug = ?'); + const row = stmt.get(slug) as RawRepoRow | undefined; + + if (!row) return null; + + return parseRepoRow(row); + } + + /** + * Optional: Get all repos (for static paths) + */ + export function getAllRepos(): RepoData[] { + const stmt = db.prepare('SELECT * FROM ipm_data'); + const rows = stmt.all() as RawRepoRow[]; + return rows.map(parseRepoRow); + } \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0e7fd3e6d6..8faa0d208e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -4687,6 +4687,59 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-progress/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cli-progress/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-progress/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-progress/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-truncate": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", diff --git a/frontend/scripts/README.md b/frontend/scripts/README.md index 0f2a16f5f7..10c1c5a1a7 100644 --- a/frontend/scripts/README.md +++ b/frontend/scripts/README.md @@ -118,4 +118,4 @@ This local build system mirrors the GitHub Actions workflow logic: ## Local to Prod Build Procedure - run `./local-prod-build.sh` -- Make sure the env secrets are present \ No newline at end of file +- Make sure the env secrets are present diff --git a/frontend/src/components/CodeBlock.astro b/frontend/src/components/CodeBlock.astro new file mode 100644 index 0000000000..2f3bfd4d1a --- /dev/null +++ b/frontend/src/components/CodeBlock.astro @@ -0,0 +1,66 @@ +--- +const { code, index } = Astro.props; +// index is guaranteed safe for attribute selectors +const id = `codeblock-${index}`; +--- +
+ + +
+{code}
+  
+
+ + diff --git a/frontend/src/components/auth/RequireAuth.astro b/frontend/src/components/auth/RequireAuth.astro new file mode 100644 index 0000000000..cb3a10f275 --- /dev/null +++ b/frontend/src/components/auth/RequireAuth.astro @@ -0,0 +1,113 @@ + + + diff --git a/frontend/src/components/search/SearchPage.tsx b/frontend/src/components/search/SearchPage.tsx index e7b90d5059..0bf3e24ee8 100644 --- a/frontend/src/components/search/SearchPage.tsx +++ b/frontend/src/components/search/SearchPage.tsx @@ -6,7 +6,8 @@ import { ImageIcon, ModulzLogoIcon, RocketIcon, - ReaderIcon + ReaderIcon, + DownloadIcon } from '@radix-ui/react-icons'; import React, { useCallback, useEffect, useState } from 'react'; import { MEILI_SEARCH_API_KEY } from '@/config'; @@ -75,6 +76,8 @@ function getCategoryDisplayName(category: string): string { return 'TLDRs'; case 'cheatsheets': return 'cheatsheets'; + case 'installerpedia': + return 'installerpedia'; case 'man_pages': return 'man pages'; default: @@ -106,6 +109,8 @@ function getBadgeVariant(category: string): string { return 'bg-pink-100 text-pink-800 dark:bg-pink-900 dark:text-pink-200'; case 'mcp': return 'bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-200'; + case 'installerpedia': + return 'bg-cyan-100 text-cyan-800 dark:bg-cyan-900 dark:text-cyan-200'; case 'man_pages': return 'bg-teal-100 text-teal-800 dark:bg-teal-900 dark:text-teal-200'; default: @@ -585,6 +590,10 @@ const SearchPage: React.FC = () => { return ( ); + case 'installerpedia': + return ( + + ); case 'man_pages': return ( @@ -603,6 +612,7 @@ const SearchPage: React.FC = () => { { key: 'svg_icons', label: 'SVG Icons' }, { key: 'emoji', label: 'Emojis' }, { key: 'mcp', label: 'MCP' }, + { key: 'installerpedia', label: 'InstallerPedia' }, { key: 'man_pages', label: 'Man Pages' }, ]; @@ -653,11 +663,11 @@ const SearchPage: React.FC = () => { {/* CategoryFilter */} -
+
- ); - } - return ( ); })}
+
{/* LoadingState */} diff --git a/frontend/src/pages/index.astro b/frontend/src/pages/index.astro index e84dcf0bbc..a6155049e9 100644 --- a/frontend/src/pages/index.astro +++ b/frontend/src/pages/index.astro @@ -232,6 +232,22 @@ const adsenseHtmlLaptop = `

+ + +
diff --git a/frontend/src/pages/installerpedia/[category]/[slug].astro b/frontend/src/pages/installerpedia/[category]/[slug].astro new file mode 100644 index 0000000000..bad98f6fdf --- /dev/null +++ b/frontend/src/pages/installerpedia/[category]/[slug].astro @@ -0,0 +1,299 @@ +--- +import AdBanner from '@/components/banner/AdBanner.astro'; +import CreditsButton from '@/components/buttons/CreditsButton'; +import ToolContainer from '@/components/tool/ToolContainer'; +import ToolHead from '@/components/tool/ToolHead'; +import BaseLayout from '@/layouts/BaseLayout.astro'; + +import { getRepoBySlug, db } from 'db/installerpedia/installerpedia-utils'; // named imports +import type { RepoData } from 'db/installerpedia/installerpedia-schema'; +import CodeBlock from '@/components/CodeBlock.astro'; +import RequireAuth from '@/components/auth/RequireAuth.astro'; + +export async function getStaticPaths() { + const stmt = db.prepare('SELECT repo_slug, repo_type FROM ipm_data'); + const rows = stmt.all(); + + return rows.map((r: { repo_slug: string; repo_type: string }) => ({ + params: { + category: r.repo_type, // matches folder [category] + slug: r.repo_slug, // matches file [slug].astro + }, + })); +} + + + + +// Destructure both category and slug +const { category, slug } = Astro.params; +if (!category || !slug) { + throw new Error('Both category and slug parameters are required'); +} + +// Fetch repo data +const repo: RepoData | null = getRepoBySlug(slug); +if (!repo) { + throw new Error(`Repository ${slug} not found`); +} + +console.log("===> Repo is",repo) + +// Breadcrumbs +const breadcrumbItems = [ + { label: 'Free DevTools', href: '/freedevtools/' }, + { label: 'Installerpedia', href: '/freedevtools/installerpedia/' }, + { label: category, href: `/freedevtools/installerpedia/${category}/` }, + { label: repo.repo }, +]; +--- + + + +
+ +
+ + + + + +
+ +
+
+ ⚡ +
+ +

+ Quick Install (Recommended) +

+
+ +

+ The fastest way to install + {repo.repo} is using the InstallerPedia Manager + ipm CLI tool. It automatically handles the installation for you. +

+ + +
+
+

+ Method 1: Via npx +

+ + +
+ +
+

+ Method 2: Via curl +

+ + +
+
+
+ + + + {repo.prerequisites.length > 0 && ( +
+

Prerequisites

+ +
+ {repo.prerequisites.map((p) => ( +
+
+

+ {p.name} +

+ + + {p.type.replace(/_/g, " ")} + +
+ + {p.version && ( +

+ Version: {p.version} +

+ )} + +

+ {p.description} +

+ + {p.optional && ( +

+ Optional +

+ )} +
+ ))} +
+
+ )} + + + {repo.installation_methods.length > 0 && ( +
+

Installation Methods

+ +
+ {repo.installation_methods.map((method) => { + const combinedCommands = method.instructions + .map((i) => i.command) + .join("\n\n"); + + return ( +
+

+ {method.title} +

+ + + {method.instructions.some((i) => i.desc) && ( +
    + {method.instructions.map((instr) => + instr.desc ? ( +
  • + {instr.desc} +
  • + ) : null + )} +
+ )} + + + +
+ ); + })} +
+
+ )} + + + + + {repo.post_installation.length > 0 && ( +
+

Post Installation Steps

+
    + {repo.post_installation.map((step) => ( +
  • {step}
  • + ))} +
+
+ )} + +{repo.resources_of_interest.length > 0 && ( +
+

Useful Links

+ + +
+)} + + + + +
+
diff --git a/frontend/src/pages/installerpedia/[category]/index.astro b/frontend/src/pages/installerpedia/[category]/index.astro new file mode 100644 index 0000000000..0a81f5a030 --- /dev/null +++ b/frontend/src/pages/installerpedia/[category]/index.astro @@ -0,0 +1,135 @@ +--- +import RequireAuth from '@/components/auth/RequireAuth.astro'; +import AdBanner from '@/components/banner/AdBanner.astro'; +import CreditsButton from '@/components/buttons/CreditsButton'; +import Pagination from '@/components/PaginationComponent.astro'; +import ToolContainer from '@/components/tool/ToolContainer'; +import ToolHead from '@/components/tool/ToolHead'; +import BaseLayout from '@/layouts/BaseLayout.astro'; +import { getReposByTypePaginated, getReposCountByType, getTotalReposCount, generateRepoTypeStaticPaths } from 'db/installerpedia/installerpedia-utils'; + +export async function getStaticPaths() { + return generateRepoTypeStaticPaths(); +} + +const { category } = Astro.params; + +if (!category) { + throw new Error('Category parameter is required'); +} + +// Pagination settings +const itemsPerPage = 12; +const currentPage = 1; +const offset = (currentPage - 1) * itemsPerPage; + +// Get repos for this category (paginated) +const currentPageRepos = getReposByTypePaginated(category, itemsPerPage, offset); +const totalReposCount = getReposCountByType(category); +const totalPages = Math.ceil(totalReposCount / itemsPerPage); +const totalInstallationGuides = getTotalReposCount(); + +// Breadcrumb +const breadcrumbItems = [ + { label: 'Free DevTools', href: '/freedevtools/' }, + { label: 'Installerpedia', href: '/freedevtools/installerpedia/' }, + { label: category.replace('-', ' ').charAt(0).toUpperCase() + category.replace('-', ' ').slice(1) }, +]; + +const categoryTitle = category.replace('-', ' ').charAt(0).toUpperCase() + category.replace('-', ' ').slice(1); +--- + + + +
+ +
+ + + + +
+
+
+
{totalReposCount >= 1000 ? Math.round(totalReposCount / 1000) + 'k' : totalReposCount}
+
Repositories
+
+
+
{totalInstallationGuides >= 1000 ? Math.round(totalInstallationGuides / 1000) + 'k' : totalInstallationGuides}
+
Installation Guides
+
+
+
+ + +
+
+ Showing {currentPageRepos.length} of {totalReposCount} repositories (Page {currentPage} of {totalPages}) +
+
+ + + + + + + + + +
+
diff --git a/frontend/src/pages/installerpedia/index.astro b/frontend/src/pages/installerpedia/index.astro new file mode 100644 index 0000000000..9b376a9fe5 --- /dev/null +++ b/frontend/src/pages/installerpedia/index.astro @@ -0,0 +1,100 @@ +--- +import RequireAuth from '@/components/auth/RequireAuth.astro'; +import AdBanner from '@/components/banner/AdBanner.astro'; +import CreditsButton from '@/components/buttons/CreditsButton'; +import ToolContainer from '@/components/tool/ToolContainer'; +import ToolHead from '@/components/tool/ToolHead'; +import BaseLayout from '@/layouts/BaseLayout.astro'; +import { getRepoCategories,getOverview } from 'db/installerpedia/installerpedia-utils'; + +// Get repo_type categories from database +const categories = getRepoCategories(); + +// Get total number of installation guides +const overview = getOverview(); + +const breadcrumbItems = [ + { label: 'Free DevTools', href: '/freedevtools/' }, + { label: 'Installerpedia' }, +]; + +--- + + + +
+ +
+ + + +
+
+
+
+ {categories.length >= 1000 ? Math.round(categories.length / 1000) + 'k' : categories.length} +
+
Categories
+
+
+
+ {(overview?.total_count || 0) >= 1000 ? Math.round((overview?.total_count || 0) / 1000) + 'k' : (overview?.total_count || 0)} +
+
Installation Guides
+
+
+
+ + + + + +
+
+ +
+
+
+
diff --git a/install_ipm.sh b/install_ipm.sh index 8fc7d5ef9c..1e76af9966 100644 --- a/install_ipm.sh +++ b/install_ipm.sh @@ -2,29 +2,82 @@ set -e APPNAME="ipm" -INSTALL_DIR="$HOME/.local/share/$APPNAME" -BIN_PATH="/usr/local/bin/$APPNAME" -# Get latest version (info only) -LATEST_VERSION=$(curl -s https://api.github.com/repos/HexmosTech/freeDevTools/releases/latest \ - | grep '"tag_name":' \ - | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') +# Global installation dir for Linux/macOS +INSTALL_DIR="/usr/local/bin" -echo "==> Latest version available: $LATEST_VERSION" +# Detect OS + ARCH +OS="$(uname | tr '[:upper:]' '[:lower:]')" +ARCH="$(uname -m)" -# Always download the latest asset -DOWNLOAD_URL="https://github.com/HexmosTech/freeDevTools/releases/latest/download/ipm" +# Normalize architecture +case "$ARCH" in + x86_64) ARCH="amd64" ;; + aarch64) ARCH="arm64" ;; +esac -echo "==> Installing $APPNAME (latest) to $INSTALL_DIR ..." -mkdir -p "$INSTALL_DIR" +EXT="" +if [[ "$OS" == "mingw"* || "$OS" == "cygwin"* || "$OS" == "msys"* ]]; then + OS="windows" + EXT=".exe" + INSTALL_DIR="$USERPROFILE/.local/bin" +fi -echo "==> Downloading from $DOWNLOAD_URL ..." -curl -L "$DOWNLOAD_URL" -o "$INSTALL_DIR/$APPNAME" +TARGET="$INSTALL_DIR/$APPNAME$EXT" +DOWNLOAD_URL="https://github.com/HexmosTech/freeDevTools/releases/latest/download/ipm-$OS-$ARCH$EXT" + +################################### +# On Linux/macOS, prompt for sudo upfront +################################### +if [[ "$OS" != "windows" ]]; then + echo "==> Installation requires sudo. You may be asked for your password." + sudo -v # prompt for password upfront +fi + +################################### +# Ensure install dir exists +################################### +if [[ "$OS" != "windows" ]]; then + sudo mkdir -p "$INSTALL_DIR" +fi -chmod +x "$INSTALL_DIR/$APPNAME" +################################### +# Check existing binary +################################### +if [[ -f "$TARGET" ]]; then + if [[ "$OS" != "windows" ]]; then + if [[ -x "$TARGET" ]] && file "$TARGET" | grep -q 'ELF\|Mach-O'; then + echo "==> $APPNAME already installed and valid at $TARGET" + echo "Run it using: $APPNAME" + exit 0 + else + echo "==> Invalid binary found, reinstalling..." + sudo rm -f "$TARGET" + fi + else + echo "==> $APPNAME already exists at $TARGET" + echo "Run it using: $TARGET" + exit 0 + fi +fi -echo "==> Creating symlink at $BIN_PATH ..." -sudo ln -sf "$INSTALL_DIR/$APPNAME" "$BIN_PATH" +################################### +# Download binary +################################### +echo "==> Installing $APPNAME ($OS-$ARCH) to $INSTALL_DIR ..." +echo "==> Downloading from $DOWNLOAD_URL ..." + +if [[ "$OS" != "windows" ]]; then + sudo curl -L "$DOWNLOAD_URL" -o "$TARGET" + sudo chmod +x "$TARGET" +else + curl -L "$DOWNLOAD_URL" -o "$TARGET" +fi echo "==> Installation complete!" -echo "Run it using: $APPNAME" + +if [[ "$OS" == "windows" ]]; then + echo "Run it using: $TARGET" +else + echo "Run it using: $APPNAME" +fi diff --git a/partial_build_installerpedia.sh b/partial_build_installerpedia.sh new file mode 100644 index 0000000000..3def6af6d9 --- /dev/null +++ b/partial_build_installerpedia.sh @@ -0,0 +1,82 @@ +#!/bin/bash +set -e + +echo "🚀 Starting partial build for installerpedia..." + +PAGES_DIR="frontend/src/pages" +BUILD_DIR="frontend/dist" + +# Go to repo root (script can be run from anywhere) +cd "$(dirname "$0")" + +# Ensure pages dir exists +if [ ! -d "$PAGES_DIR" ]; then + echo "❌ $PAGES_DIR not found. Run this script from project root." + exit 1 +fi + +cd "$PAGES_DIR" + +echo "📁 Current pages directory: $(pwd)" + +echo "🔍 Step 1: Hiding all folders except installerpedia..." + +for dir in */; do + d="${dir%/}" + + # Skip already hidden dirs + if [[ "$d" == _* ]]; then + echo "⚠️ Already hidden: $d" + continue + fi + + if [[ "$d" == "installerpedia" ]]; then + echo "✅ Keeping: $d" + else + echo "❌ Hiding: $d -> _$d" + mv "$d" "_$d" + fi +done + +echo "" +echo "🔨 Step 2: Building Astro project..." + +cd ../../.. + +echo "📦 Installing dependencies..." +npm install --prefix frontend >/dev/null 2>&1 + +echo "🧹 Cleaning dist folder..." +rm -rf "$BUILD_DIR" +mkdir -p "$BUILD_DIR" + +echo "🏗️ Running Astro build..." +( + cd frontend + npx astro build +) + +echo "" +echo "🔄 Step 3: Restoring hidden folders..." + +cd "$PAGES_DIR" + +for dir in _*/; do + orig="${dir#_}" + orig="${orig%/}" + + echo "🔁 Restoring: $dir -> $orig" + mv "$dir" "$orig" +done + +echo "" +echo "📝 Step 4: Updating robots.txt for staging..." + +ROBOTS_FILE="$BUILD_DIR/robots.txt" +echo "User-agent: *" > "$ROBOTS_FILE" +echo "Disallow: /" >> "$ROBOTS_FILE" +echo "✅ robots.txt updated at $ROBOTS_FILE to block all crawling." + +echo "" +echo "🎉 Partial build for installerpedia completed!" +echo "📦 Output available at: $BUILD_DIR" diff --git a/restore_hidden_folders.sh b/restore_hidden_folders.sh new file mode 100644 index 0000000000..04e3de5575 --- /dev/null +++ b/restore_hidden_folders.sh @@ -0,0 +1,13 @@ +PAGES_DIR="frontend/src/pages" + +echo "🔄 Restoring hidden folders..." + +cd "$PAGES_DIR" + +for dir in _*/; do + orig="${dir#_}" + orig="${orig%/}" + + echo "🔁 Restoring: $dir -> $orig" + mv "$dir" "$orig" +done \ No newline at end of file diff --git a/search-index/fix_path.py b/search-index/fix_path.py new file mode 100644 index 0000000000..d024b44106 --- /dev/null +++ b/search-index/fix_path.py @@ -0,0 +1,42 @@ +import json +import re + +INPUT_FILE = "installerpedia.json" +OUTPUT_FILE = "installerpedia_fixed.json" + +def to_slug(text: str) -> str: + # keep case — only replace `/` with `-` + text = text.replace("/", "-") + text = re.sub(r"\s+", "-", text) + return text + +def build_path(repo_type: str, name: str) -> str: + slug = to_slug(name) + return f"/freedevtools/installerpedia/{repo_type}/{slug}" + +def main(): + with open(INPUT_FILE, "r", encoding="utf-8") as f: + data = json.load(f) + + for item in data: + repo_type = ( + item.get("repo_type") + or item.get("repoType") + or item.get("repotype") + ) + name = item.get("name") + + if not repo_type or not name: + print("Skipping item (missing repo_type/name):", item) + continue + + item["path"] = build_path(repo_type, name) + + with open(OUTPUT_FILE, "w", encoding="utf-8") as f: + json.dump(data, f, indent=2, ensure_ascii=False) + + print("Updated file written to", OUTPUT_FILE) + + +if __name__ == "__main__": + main() diff --git a/search-index/go.mod b/search-index/go.mod index d41dd97a40..d9787329b2 100644 --- a/search-index/go.mod +++ b/search-index/go.mod @@ -3,9 +3,10 @@ module search-index go 1.21 require ( - github.com/clipperhouse/jargon v1.0.9 - github.com/mattn/go-sqlite3 v1.14.32 + github.com/clipperhouse/jargon v1.0.9 // indirect + github.com/mattn/go-sqlite3 v1.14.32 // indirect gopkg.in/yaml.v2 v2.4.0 + ) require ( diff --git a/search-index/installerpedia.go b/search-index/installerpedia.go new file mode 100644 index 0000000000..41f8c356db --- /dev/null +++ b/search-index/installerpedia.go @@ -0,0 +1,190 @@ +package main + +import ( + "context" + "database/sql" + "encoding/json" + "fmt" + "log" + "path/filepath" + jargon_stemmer "search-index/jargon-stemmer" + "time" + + _ "github.com/mattn/go-sqlite3" +) + +var dbPool *sql.DB + +// Raw DB row +type RawInstallerpediaRow struct { + ID int + Repo string + RepoType string + HasInstallation bool + Prerequisites string + InstallationMethods string + PostInstallation string + ResourcesOfInterest string + Description string + Stars int + Note string +} + +func generateInstallerpediaData(ctx context.Context) ([]InstallerpediaData, error) { + var err error + + dbPool, err = sql.Open("sqlite3", "../frontend/db/all_dbs/ipm-db.db") + if err != nil { + log.Fatalf("❌ Failed to open SQLite DB: %v", err) + } + defer dbPool.Close() + + if err := dbPool.Ping(); err != nil { + log.Fatalf("❌ Failed to ping SQLite DB: %v", err) + } + + // Filter only rows WITH installation methods + rows, err := dbPool.Query(` + SELECT + id, + repo, + repo_type, + has_installation, + prerequisites, + installation_methods, + post_installation, + resources_of_interest, + description, + stars, + COALESCE(note, '') AS note + FROM ipm_data + WHERE has_installation = 1 + `) + if err != nil { + return nil, fmt.Errorf("failed to query installerpedia: %w", err) + } + defer rows.Close() + + var guides []InstallerpediaData + + for rows.Next() { + var raw RawInstallerpediaRow + + err := rows.Scan( + &raw.ID, + &raw.Repo, + &raw.RepoType, + &raw.HasInstallation, + &raw.Prerequisites, + &raw.InstallationMethods, + &raw.PostInstallation, + &raw.ResourcesOfInterest, + &raw.Description, + &raw.Stars, + &raw.Note, + ) + if err != nil { + return nil, fmt.Errorf("failed to scan installerpedia row: %w", err) + } + + // Only keep rows that ACTUALLY have installation = true + if !raw.HasInstallation { + continue + } + + guide, err := parseInstallerpediaRow(raw) + if err != nil { + return nil, fmt.Errorf("failed to parse installerpedia row id=%d: %w", raw.ID, err) + } + + guides = append(guides, guide) + } + + return guides, nil +} + +func parseInstallerpediaRow(raw RawInstallerpediaRow) (InstallerpediaData, error) { + // ---- prerequisites ---- + var prerequisites []Prerequisite + if raw.Prerequisites != "" { + if err := json.Unmarshal([]byte(raw.Prerequisites), &prerequisites); err != nil { + log.Printf("⚠️ Invalid prerequisites JSON for id=%d: %v", raw.ID, err) + prerequisites = []Prerequisite{} + } + } + + // ---- installation_methods ---- + var methods []InstallMethod + if raw.InstallationMethods != "" { + if err := json.Unmarshal([]byte(raw.InstallationMethods), &methods); err != nil { + log.Printf("⚠️ Invalid installation_methods JSON for id=%d: %v", raw.ID, err) + methods = []InstallMethod{} + } + } + + // ---- post_installation ---- + var post []string + if raw.PostInstallation != "" { + if err := json.Unmarshal([]byte(raw.PostInstallation), &post); err != nil { + log.Printf("⚠️ Invalid post_installation JSON for id=%d: %v", raw.ID, err) + post = []string{} + } + } + + // ---- resources_of_interest ---- + var resources []Resource + if raw.ResourcesOfInterest != "" { + if err := json.Unmarshal([]byte(raw.ResourcesOfInterest), &resources); err != nil { + log.Printf("⚠️ Invalid resources_of_interest JSON for id=%d: %v", raw.ID, err) + resources = []Resource{} + } + } + + // ---- final clean return ---- + return InstallerpediaData{ + ID: fmt.Sprintf("installerpedia-%d", raw.ID), + Name: raw.Repo, + Description: raw.Description, + Path: fmt.Sprintf("installerpedia/%s", raw.Repo), + Category: "installerpedia", + + RepoType: raw.RepoType, + Stars: raw.Stars, + + Prerequisites: prerequisites, + InstallationMethods: methods, + PostInstallation: post, + ResourcesOfInterest: resources, + }, nil +} + + +// --------------------------------------------------------- +// RUNNER (unchanged except cleaner logs) +// --------------------------------------------------------- + +func RunInstallerPediaOnly(ctx context.Context, start time.Time) { + fmt.Println("🚀 Starting Installerpedia data generation...") + + data, err := generateInstallerpediaData(ctx) + if err != nil { + log.Fatalf("❌ Installerpedia data generation failed: %v", err) + } + + fmt.Printf("✅ Installerpedia entries with installation: %d items\n", len(data)) + + if err := saveToJSON("installerpedia.json", data); err != nil { + log.Fatalf("❌ Failed to save Installerpedia data: %v", err) + } + + filePath := filepath.Join("output", "installerpedia.json") + fmt.Printf("🔍 Running stem processing for %s...\n", filePath) + + if err := jargon_stemmer.ProcessInstallerpediaJSONFile(filePath); err != nil { + log.Fatalf("❌ Stem processing failed: %v", err) + } + + elapsed := time.Since(start) + fmt.Printf("\n🎉 Installerpedia generation completed in %v\n", elapsed) + fmt.Printf("💾 Saved to %s\n", filePath) +} diff --git a/search-index/jargon-stemmer/main.go b/search-index/jargon-stemmer/main.go index 7c13d0b4d1..52c74d2414 100644 --- a/search-index/jargon-stemmer/main.go +++ b/search-index/jargon-stemmer/main.go @@ -150,6 +150,80 @@ func ProcessJSONFile(filePath string) error { return nil } +func ProcessInstallerpediaJSONFile(filePath string) error { + fmt.Printf("🔍 Processing Installerpedia JSON file: %s\n", filePath) + start := time.Now() + + // Read JSON file + data, err := ioutil.ReadFile(filePath) + if err != nil { + return fmt.Errorf("error reading file %s: %v", filePath, err) + } + + // Parse as generic array of maps (PRESERVES ALL FIELDS) + var objects []map[string]interface{} + if err := json.Unmarshal(data, &objects); err != nil { + return fmt.Errorf("error parsing JSON: %v", err) + } + + fmt.Printf("📊 Found %d Installerpedia entries\n", len(objects)) + + // Worker pool + numWorkers := runtime.NumCPU() - 1 + if numWorkers < 1 { + numWorkers = 1 + } + fmt.Printf("🚀 Using %d workers\n", numWorkers) + + var wg sync.WaitGroup + workChan := make(chan int, numWorkers*2) + + // Workers + for w := 0; w < numWorkers; w++ { + wg.Add(1) + go func() { + defer wg.Done() + for i := range workChan { + obj := objects[i] + + // --- altName --- + if name, ok := obj["name"].(string); ok { + obj["altName"] = ProcessText(name) + } + + // --- altDescription --- + if desc, ok := obj["description"].(string); ok { + obj["altDescription"] = ProcessText(desc) + } + } + }() + } + + // Queue indices + for i := range objects { + workChan <- i + } + close(workChan) + + wg.Wait() + + // Save back + outputData, err := json.MarshalIndent(objects, "", " ") + if err != nil { + return fmt.Errorf("error marshaling JSON: %v", err) + } + + if err := ioutil.WriteFile(filePath, outputData, 0644); err != nil { + return fmt.Errorf("error writing file: %v", err) + } + + elapsed := time.Since(start) + fmt.Printf("✅ Installerpedia processing completed in %v\n", elapsed) + + return nil +} + + func main() { if len(os.Args) != 2 { fmt.Fprintf(os.Stderr, "Usage: %s \n", os.Args[0]) diff --git a/search-index/main.go b/search-index/main.go index ddc12c1375..5e24d4861e 100644 --- a/search-index/main.go +++ b/search-index/main.go @@ -15,6 +15,8 @@ import ( ) func main() { + + start := time.Now() // Create output directory if it doesn't exist @@ -55,11 +57,13 @@ func main() { pngIconsChan := make(chan []SVGIconData, 1) cheatsheetsChan := make(chan []CheatsheetData, 1) mcpChan := make(chan []MCPData, 1) + installerpediaChan := make(chan []InstallerpediaData, 1) manPagesChan := make(chan []ManPageData, 1) - errorsChan := make(chan error, 7) + errorsChan := make(chan error, 6) + // Start all collection goroutines - wg.Add(8) + wg.Add(9) go func() { defer wg.Done() @@ -110,6 +114,7 @@ func main() { } pngIconsChan <- pngIcons }() + go func() { defer wg.Done() @@ -133,6 +138,15 @@ func main() { go func() { defer wg.Done() + data, err := generateInstallerpediaData(ctx) + if err != nil { + errorsChan <- fmt.Errorf("Installerpedia data generation failed: %w", err) + return + } + installerpediaChan <- data + }() + + go func() { manPages, err := generateManPagesData(ctx) if err != nil { errorsChan <- fmt.Errorf("man pages data generation failed: %w", err) @@ -151,6 +165,7 @@ func main() { close(pngIconsChan) close(cheatsheetsChan) close(mcpChan) + close(installerpediaChan) close(manPagesChan) close(errorsChan) }() @@ -163,12 +178,13 @@ func main() { var pngIcons []SVGIconData var cheatsheets []CheatsheetData var mcp []MCPData + var installerpedia []InstallerpediaData var manPages []ManPageData var errors []error // Track which channels we've received data from receivedChannels := 0 - totalChannels := 8 + totalChannels := 9 for receivedChannels < totalChannels { select { @@ -214,6 +230,12 @@ func main() { fmt.Printf("✅ MCP data collected: %d items\n", len(m)) } receivedChannels++ + case ip, ok := <-installerpediaChan: + if ok { + installerpedia = ip + fmt.Printf("✅ Installerpedia data collected: %d items\n", len(ip)) + } + receivedChannels++ case mp, ok := <-manPagesChan: if ok { manPages = mp @@ -277,6 +299,7 @@ doneWithErrors: if err := saveToJSON("png_icons.json", pngIcons); err != nil { log.Fatalf("Failed to save PNG icons data: %v", err) } + if err := saveToJSON("cheatsheets.json", cheatsheets); err != nil { log.Fatalf("Failed to save cheatsheets data: %v", err) @@ -286,6 +309,9 @@ doneWithErrors: log.Fatalf("Failed to save MCP data: %v", err) } + if err := saveToJSON("installerpedia.json", installerpedia); err != nil { + log.Fatalf("Failed to save Installerpedia data: %v", err) + } if err := saveToJSON("man_pages.json", manPages); err != nil { log.Fatalf("Failed to save man pages data: %v", err) } @@ -300,6 +326,7 @@ doneWithErrors: fmt.Printf(" - PNG Icons: %d items\n", len(pngIcons)) fmt.Printf(" - Cheatsheets: %d items\n", len(cheatsheets)) fmt.Printf(" - MCP: %d items\n", len(mcp)) + fmt.Printf(" - Installerpedia: %d items\n", len(installerpedia)) fmt.Printf(" - Man Pages: %d items\n", len(manPages)) fmt.Printf("\n💾 All files saved to ./output/ directory\n") @@ -313,6 +340,7 @@ doneWithErrors: log.Printf("❌ Failed to read output directory: %v", err) return } + for _, file := range files { if strings.HasSuffix(file.Name(), ".json") { @@ -325,7 +353,7 @@ doneWithErrors: } } } - + fmt.Println("🎉 All stem processing completed!") } @@ -366,6 +394,7 @@ func runStemProcessing(stemArgs string) { if err := jargon_stemmer.ProcessJSONFile(filePath); err != nil { log.Fatalf("❌ Stem processing failed: %v", err) } + elapsed := time.Since(start) fmt.Printf("\n🎉 Stem processing completed in %v\n", elapsed) @@ -393,6 +422,8 @@ func runSingleCategory(category string) { RunCheatsheetsOnly(ctx, start) case "mcp": RunMCPOnly(ctx, start) + case "installerpedia": + RunInstallerPediaOnly(ctx, start) case "man_pages": RunManPagesOnly(ctx, start.Unix()) default: diff --git a/search-index/makefile b/search-index/makefile index 7a9cfbfc19..55a5448dcb 100644 --- a/search-index/makefile +++ b/search-index/makefile @@ -29,6 +29,9 @@ gen-cheatsheets: gen-mcp: go run . category=mcp +gen-installerpedia: + go run . category=installerpedia + gen-all: go run . diff --git a/search-index/output/installerpedia.json b/search-index/output/installerpedia.json new file mode 100644 index 0000000000..da93e4634f --- /dev/null +++ b/search-index/output/installerpedia.json @@ -0,0 +1,11609 @@ +[ + { + "altDescription": "bring portrait to life !", + "altName": "klingteam / liveportrait", + "category": "installerpedia", + "description": "Bring portraits to life!", + "has_installation": false, + "id": "installerpedia-1", + "installation_methods": [ + { + "instructions": [ + { + "command": "https://huggingface.com/cleardusk/LivePortrait-Windows/blob/main/LivePortrait-Windows-v20240829.zip", + "meaning": "Download the Windows one-click installer from HuggingFace. This is the most convenient way to install LivePortrait on Windows." + } + ], + "title": "Windows One-Click Installer" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/KlingTeam/LivePortrait", + "meaning": "Clones the LivePortrait repository from GitHub to your local machine." + }, + { + "command": "cd LivePortrait", + "meaning": "Navigates into the cloned LivePortrait directory." + }, + { + "command": "conda create -n LivePortrait python=3.10", + "meaning": "Creates a new Conda environment named 'LivePortrait' with Python 3.10. This isolates project dependencies." + }, + { + "command": "conda activate LivePortrait", + "meaning": "Activates the newly created Conda environment, ensuring subsequent commands use its Python interpreter and packages." + } + ], + "title": "Clone Repository and Setup Environment" + }, + { + "instructions": [ + { + "command": "nvcc -V", + "meaning": "Checks the installed CUDA version on your system. This is crucial for selecting the correct PyTorch build." + }, + { + "command": "pip install torch==1.10.1+cu111 torchvision==0.11.2 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html", + "meaning": "Installs PyTorch, torchvision, and torchaudio for CUDA 11.1. Replace with the appropriate command for your CUDA version as per PyTorch's official website." + }, + { + "command": "pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118", + "meaning": "Installs PyTorch, torchvision, and torchaudio for CUDA 11.8. This is an example; refer to the PyTorch website for your specific CUDA version." + }, + { + "command": "pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121", + "meaning": "Installs PyTorch, torchvision, and torchaudio for CUDA 12.1. This is an example; refer to the PyTorch website for your specific CUDA version." + } + ], + "title": "Install PyTorch (Linux/Windows)" + }, + { + "instructions": [ + { + "command": "pip install -r requirements_macOS.txt", + "meaning": "Installs dependencies specifically for macOS with Apple Silicon. X-Pose is not supported on macOS, so this file contains compatible packages." + } + ], + "title": "Install PyTorch (macOS with Apple Silicon)" + }, + { + "instructions": [ + { + "command": "pip install -r requirements.txt", + "meaning": "Installs all other Python packages listed in the requirements.txt file, completing the environment setup." + } + ], + "title": "Install Remaining Dependencies" + }, + { + "instructions": [ + { + "command": "cd src/utils/dependencies/XPose/models/UniPose/ops", + "meaning": "Navigates to the directory where the X-Pose build script is located." + }, + { + "command": "python setup.py build install", + "meaning": "Builds and installs the X-Pose MultiScaleDeformableAttention module, which is required for the Animals mode." + }, + { + "command": "cd -", + "meaning": "Returns to the root directory of the LivePortrait repository." + } + ], + "title": "Build X-Pose Dependency (Linux/Windows for Animals Mode)" + }, + { + "instructions": [ + { + "command": "pip install -U \"huggingface_hub[cli]\"", + "meaning": "Installs or upgrades the Hugging Face CLI tool, which is used to download models." + }, + { + "command": "huggingface-cli download KlingTeam/LivePortrait --local-dir pretrained_weights --exclude \"*.git*\" \"README.md\" \"docs\"", + "meaning": "Downloads the pretrained weights for LivePortrait from HuggingFace to the 'pretrained_weights' directory. Excludes unnecessary files." + }, + { + "command": "export HF_ENDPOINT=https://hf-mirror.com", + "meaning": "Sets an environment variable to use a mirror for HuggingFace downloads, useful if direct access is restricted." + }, + { + "command": "huggingface-cli download KlingTeam/LivePortrait --local-dir pretrained_weights --exclude \"*.git*\" \"README.md\" \"docs\"", + "meaning": "Downloads the pretrained weights using the specified mirror endpoint." + } + ], + "title": "Download Pretrained Weights" + } + ], + "name": "KlingTeam/LivePortrait", + "note": "", + "path": "/freedevtools/installerpedia/tool/KlingTeam-LivePortrait", + "post_installation": [ + "Ensure the directory structure matches the expected format, as detailed in [this guide](assets/docs/directory-structure.md).", + "For Linux/Windows users, if you encounter issues with higher CUDA versions, consider downgrading CUDA to 11.8 for stability, following the [downgrade guide](https://github.com/dimitribarbot/sd-webui-live-portrait/blob/main/assets/docs/how-to-install-xpose.md#cuda-toolkit-118).", + "To run the Gradio interface, use `python app.py` for humans mode (Linux/Windows/macOS Intel) or `PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py` for macOS Apple Silicon. For animals mode, use `python app_animals.py` (Linux/NVIDIA GPU only).", + "To enable faster inference with `torch.compile`, run `python app.py --flag_do_torch_compile`. Note: This feature is not supported on Windows and macOS.", + "To evaluate inference speed, run `python speed.py` (for NVIDIA GPU)." + ], + "prerequisites": [ + { + "applies_to": [ + "global" + ], + "description": "Version control system used to clone the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "Environment and package manager for Python.", + "name": "conda", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "A multimedia framework used for handling video and audio files.", + "name": "FFmpeg", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "The programming language used for the project.", + "name": "Python", + "optional": false, + "type": "language", + "version": "3.10" + }, + { + "applies_to": [ + "global" + ], + "description": "Deep learning framework required for running the models.", + "name": "PyTorch", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "PyTorch's computer vision library, often used with PyTorch.", + "name": "torchvision", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "PyTorch's audio library, used for audio processing.", + "name": "torchaudio", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "linux", + "windows", + "source_build" + ], + "description": "A dependency required for Animals mode, used for keypoint detection.", + "name": "X-Pose", + "optional": true, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "linux", + "windows" + ], + "description": "NVIDIA CUDA Toolkit, required for GPU acceleration on Linux and Windows. Specific versions may be needed for compatibility with PyTorch.", + "name": "CUDA Toolkit", + "optional": false, + "type": "system_package", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions for installing FFmpeg, a critical system dependency.", + "title": "How to install FFmpeg", + "type": "documentation", + "url_or_path": "assets/docs/how-to-install-ffmpeg.md" + }, + { + "reason": "Details the expected file and folder organization, crucial for correct operation after installation.", + "title": "Directory Structure", + "type": "documentation", + "url_or_path": "assets/docs/directory-structure.md" + }, + { + "reason": "Offers guidance on downgrading CUDA versions, which may be necessary for stability on Windows systems.", + "title": "CUDA Toolkit Downgrade Guide", + "type": "documentation", + "url_or_path": "https://github.com/dimitribarbot/sd-webui-live-portrait/blob/main/assets/docs/how-to-install-xpose.md#cuda-toolkit-118" + }, + { + "reason": "Official resource for finding PyTorch installation commands for specific CUDA versions, essential for correct dependency setup.", + "title": "PyTorch Previous Versions", + "type": "documentation", + "url_or_path": "https://pytorch.org/get-started/previous-versions" + }, + { + "reason": "Provides update details for the Windows installer, which might be relevant for users opting for that installation method.", + "title": "Changelog for Windows Installer", + "type": "documentation", + "url_or_path": "https://huggingface.co/cleardusk/LivePortrait-Windows#20240829" + } + ], + "stars": 17303 + }, + { + "altDescription": "mask r - cnn for object detect and instanc segment on kera and tensorflow", + "altName": "matterport / mask_rcnn", + "category": "installerpedia", + "description": "Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow", + "has_installation": false, + "id": "installerpedia-2", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/matterport/Mask_RCNN.git", + "meaning": "Clone the Mask R-CNN repository from GitHub to your local machine." + }, + { + "command": "cd Mask_RCNN", + "meaning": "Navigate into the cloned repository directory." + }, + { + "command": "pip3 install -r requirements.txt", + "meaning": "Install all Python dependencies listed in the requirements.txt file. This includes common packages needed for the project." + }, + { + "command": "python3 setup.py install", + "meaning": "Install the Mask R-CNN package itself into your Python environment. This makes the library importable and usable in your projects." + } + ], + "title": "Install Dependencies and Package" + }, + { + "instructions": [ + { + "command": "# For Linux:", + "meaning": "Comment indicating the following command is for Linux systems." + }, + { + "command": "git clone https://github.com/waleedka/coco.git", + "meaning": "Clone the pycocotools repository (a fork with Python3 and Windows fixes) for Linux." + }, + { + "command": "cd coco/PythonAPI", + "meaning": "Navigate into the pycocotools Python API directory." + }, + { + "command": "make", + "meaning": "Compile the pycocotools library on Linux." + }, + { + "command": "cp -r build/lib.*/pycocotools ../..", + "meaning": "Copy the compiled pycocotools module to the Mask R-CNN root directory for easier access." + }, + { + "command": "# For Windows:", + "meaning": "Comment indicating the following commands are for Windows systems." + }, + { + "command": "git clone https://github.com/philferriere/cocoapi.git", + "meaning": "Clone the pycocotools repository (a fork with Python3 and Windows fixes) for Windows." + }, + { + "command": "cd cocoapi/windows", + "meaning": "Navigate into the pycocotools Windows build directory." + }, + { + "command": "python setup.py install", + "meaning": "Install the pycocotools library on Windows. Ensure Visual C++ 2015 build tools are installed and in your PATH." + } + ], + "title": "Install pycocotools (for MS COCO)" + } + ], + "name": "matterport/Mask_RCNN", + "note": "", + "path": "/freedevtools/installerpedia/library/matterport-Mask_RCNN", + "post_installation": [ + "Download pre-trained COCO weights (mask_rcnn_coco.h5) from the [releases page](https://github.com/matterport/Mask_RCNN/releases).", + "You can now use the Mask R-CNN library in your Python projects or run the provided Jupyter notebooks (e.g., `demo.ipynb`, `train_shapes.ipynb`)." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "Python 3.4 or higher is required.", + "name": "Python", + "optional": false, + "type": "language", + "version": "3.4" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "Package installer for Python.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "TensorFlow 1.3 or higher is required.", + "name": "TensorFlow", + "optional": false, + "type": "library", + "version": "1.3" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "Keras 2.0.8 or higher is required.", + "name": "Keras", + "optional": false, + "type": "library", + "version": "2.0.8" + }, + { + "applies_to": [ + "windows" + ], + "description": "Required for pycocotools installation on Windows.", + "name": "Visual C++ 2015 build tools", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "Required for training or testing on MS COCO.", + "name": "MS COCO Dataset", + "optional": false, + "type": "dataset", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "Required for MS COCO dataset operations. Installation instructions are provided separately.", + "name": "pycocotools", + "optional": false, + "type": "other", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides the theoretical background for the implementation.", + "title": "Mask R-CNN Paper", + "type": "documentation", + "url_or_path": "https://arxiv.org/abs/1703.06870" + }, + { + "reason": "The dataset used for pre-training and evaluation, required for certain functionalities.", + "title": "MS COCO Dataset", + "type": "documentation", + "url_or_path": "http://cocodataset.org/#home" + }, + { + "reason": "Contains specific instructions and code for installing pycocotools on Linux.", + "title": "pycocotools installation for Linux", + "type": "documentation", + "url_or_path": "https://github.com/waleedka/coco" + }, + { + "reason": "Contains specific instructions and code for installing pycocotools on Windows, including build tool requirements.", + "title": "pycocotools installation for Windows", + "type": "documentation", + "url_or_path": "https://github.com/philferriere/cocoapi" + }, + { + "reason": "Location to download pre-trained weights (mask_rcnn_coco.h5), which are essential for immediate use of the model.", + "title": "Mask R-CNN Releases", + "type": "documentation", + "url_or_path": "https://github.com/matterport/Mask_RCNN/releases" + } + ], + "stars": 25412 + }, + { + "altDescription": "self - host game stream host for moonlight .", + "altName": "lizardbyt / sunshin", + "category": "installerpedia", + "description": "Self-hosted game stream host for Moonlight.", + "has_installation": false, + "id": "installerpedia-3", + "installation_methods": [ + { + "instructions": [ + { + "command": "docker pull lizardbyte/sunshine", + "meaning": "Pulls the latest official Sunshine Docker image from Docker Hub. This is a convenient way to run Sunshine without installing it directly on your host system." + } + ], + "title": "Docker Installation" + }, + { + "instructions": [ + { + "command": "docker pull ghcr.io/lizardbyte/sunshine", + "meaning": "Pulls the latest official Sunshine Docker image from the GitHub Container Registry. This is an alternative to Docker Hub for obtaining the containerized version of Sunshine." + } + ], + "title": "GitHub Container Registry (GHCR) Installation" + }, + { + "instructions": [ + { + "command": "flatpak install flathub dev.lizardbyte.app.Sunshine", + "meaning": "Installs Sunshine as a Flatpak application from the Flathub repository. Flatpak provides a sandboxed environment for applications, ensuring better isolation and dependency management on Linux systems." + } + ], + "title": "Flathub Installation (Linux)" + }, + { + "instructions": [ + { + "command": "winget install LizardByte.Sunshine", + "meaning": "Installs Sunshine using the Windows Package Manager (winget). This command downloads and installs the application, managing dependencies and updates through the winget ecosystem." + } + ], + "title": "Winget Installation (Windows)" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/LizardByte/Sunshine.git", + "meaning": "Clones the Sunshine repository from GitHub to your local machine. This is the first step to building the application from its source code." + }, + { + "command": "cd Sunshine", + "meaning": "Navigates into the cloned Sunshine directory, where you will perform the build steps." + }, + { + "command": "meson setup build --prefix=/usr/local", + "meaning": "Configures the build environment using Meson, specifying the installation prefix. This prepares the source code for compilation." + }, + { + "command": "ninja -C build", + "meaning": "Compiles the Sunshine application using Ninja, a build system. This command generates the executable binaries and necessary files." + }, + { + "command": "ninja -C build install", + "meaning": "Installs the compiled Sunshine application to the specified prefix (/usr/local in this case). This makes the application available in your system's PATH." + } + ], + "title": "Build from Source (Linux/FreeBSD)" + } + ], + "name": "LizardByte/Sunshine", + "note": "", + "path": "/freedevtools/installerpedia/server/LizardByte-Sunshine", + "post_installation": [ + "Refer to the [Getting Started](docs/getting_started.md) guide for initial setup and configuration.", + "The full documentation is available on [Read the Docs](https://docs.lizardbyte.dev/projects/sunshine)." + ], + "prerequisites": [ + { + "applies_to": [ + "linux", + "freebsd" + ], + "description": "Minimum operating system version for FreeBSD.", + "name": "FreeBSD", + "optional": false, + "type": "os", + "version": "14.3+" + }, + { + "applies_to": [ + "linux" + ], + "description": "Minimum operating system version for Debian Linux.", + "name": "Debian", + "optional": false, + "type": "os", + "version": "13+" + }, + { + "applies_to": [ + "linux" + ], + "description": "Minimum operating system version for Fedora Linux.", + "name": "Fedora", + "optional": false, + "type": "os", + "version": "41+" + }, + { + "applies_to": [ + "linux" + ], + "description": "Minimum operating system version for Ubuntu Linux.", + "name": "Ubuntu", + "optional": false, + "type": "os", + "version": "22.04+" + }, + { + "applies_to": [ + "macos" + ], + "description": "Minimum operating system version for macOS.", + "name": "macOS", + "optional": false, + "type": "os", + "version": "14+" + }, + { + "applies_to": [ + "windows" + ], + "description": "Minimum operating system version for Windows. Windows Server does not support virtual gamepads.", + "name": "Windows", + "optional": false, + "type": "os", + "version": "11+" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Required for AMD GPU encoding. See obs-amd hardware support for details.", + "name": "AMD", + "optional": false, + "type": "gpu", + "version": "VCE 1.0 or higher" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Required for Intel GPU encoding on Windows. On FreeBSD/Linux, VAAPI-compatible hardware is needed. See VAAPI hardware support for details.", + "name": "Intel", + "optional": false, + "type": "gpu", + "version": "Skylake or newer" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Required for Nvidia GPU encoding. See nvenc support matrix for details.", + "name": "Nvidia", + "optional": false, + "type": "gpu", + "version": "" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Minimum CPU requirement for AMD processors.", + "name": "AMD", + "optional": false, + "type": "cpu", + "version": "Ryzen 3 or higher" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Minimum CPU requirement for Intel processors.", + "name": "Intel", + "optional": false, + "type": "cpu", + "version": "Core i3 or higher" + }, + { + "applies_to": [ + "linux", + "freebsd" + ], + "description": "Video Acceleration API, required for Intel/AMD GPU encoding on Linux/FreeBSD.", + "name": "vaapi", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "macos" + ], + "description": "macOS hardware video encoding/decoding framework.", + "name": "Video Toolbox", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "DirectX Graphics Infrastructure, used for screen capture on Windows.", + "name": "DXGI", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux" + ], + "description": "Kernel Mode Setting, used for screen capture on Linux.", + "name": "KMS", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux" + ], + "description": "X Window System, used for screen capture on Linux.", + "name": "X11", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux" + ], + "description": "Wayland display server protocol, used for screen capture on Linux.", + "name": "Wayland", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "Windows API for capturing screen content.", + "name": "Windows.Graphics.Capture", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "environment" + ], + "description": "Recommended network specification for host and client for low latency streaming.", + "name": "5GHz, 802.11ac", + "optional": false, + "type": "network", + "version": "" + }, + { + "applies_to": [ + "environment" + ], + "description": "Recommended network specification for host and client for 4K streaming.", + "name": "CAT5e ethernet or better", + "optional": false, + "type": "network", + "version": "" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Library for AMD VCE encoding support.", + "name": "obs-amd-encoder", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "linux", + "windows", + "freebsd" + ], + "description": "Nvidia hardware encoder library.", + "name": "nvenc", + "optional": false, + "type": "library", + "version": "" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides comprehensive documentation, including setup and usage guides.", + "title": "Sunshine Documentation", + "type": "documentation", + "url_or_path": "https://docs.lizardbyte.dev/projects/sunshine" + }, + { + "reason": "Likely contains essential steps for initial setup and configuration after installation.", + "title": "Getting Started Guide", + "type": "documentation", + "url_or_path": "docs/getting_started.md" + }, + { + "reason": "Provides details on hardware support for AMD GPU encoding, a prerequisite for certain configurations.", + "title": "obs-amd hardware support", + "type": "documentation", + "url_or_path": "https://github.com/obsproject/obs-amd-encoder/wiki/Hardware-Support" + }, + { + "reason": "Provides details on hardware support for Intel QuickSync via VAAPI, a prerequisite for certain configurations on Linux/FreeBSD.", + "title": "VAAPI hardware support", + "type": "documentation", + "url_or_path": "https://www.intel.com/content/www/us/en/developer/articles/technical/linuxmedia-vaapi.html" + }, + { + "reason": "Provides details on hardware support for Nvidia NVENC, a prerequisite for certain configurations.", + "title": "nvenc support matrix", + "type": "documentation", + "url_or_path": "https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new" + } + ], + "stars": 31408 + }, + { + "altDescription": "event bus for android and java that simplifi communic between activ , fragment , thread , servic , etc . less code , better qualiti .", + "altName": "greenrobot / eventbus", + "category": "installerpedia", + "description": "Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.", + "has_installation": false, + "id": "installerpedia-4", + "installation_methods": [ + { + "instructions": [ + { + "command": "implementation(\"org.greenrobot:eventbus:3.3.1\")", + "meaning": "Adds the EventBus library as a dependency to your Android project using Gradle. This command is typically placed in your app's `build.gradle` file." + } + ], + "title": "Android Projects (Gradle)" + }, + { + "instructions": [ + { + "command": "implementation(\"org.greenrobot:eventbus-java:3.3.1\")", + "meaning": "Adds the EventBus library for Java projects as a dependency using Gradle. This command is typically placed in your project's `build.gradle` file." + } + ], + "title": "Java Projects (Gradle)" + }, + { + "instructions": [ + { + "command": "\n org.greenrobot\n eventbus-java\n 3.3.1\n", + "meaning": "Adds the EventBus library for Java projects as a dependency using Maven. This XML snippet should be added to your project's `pom.xml` file." + } + ], + "title": "Java Projects (Maven)" + } + ], + "name": "greenrobot/EventBus", + "note": "", + "path": "/freedevtools/installerpedia/library/greenrobot-EventBus", + "post_installation": [ + "For Android and Java projects, ensure the EventBus annotation processor is configured if you intend to use the subscriber index for performance optimization.", + "If using R8 or ProGuard, ensure the provided consumer rules are included in your build configuration to prevent issues with EventBus.", + "Register and unregister subscribers according to your application's lifecycle (e.g., in Android Activities/Fragments)." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "production" + ], + "description": "EventBus is a library for Java and Android projects.", + "name": "Java", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Used for dependency management in Java projects.", + "name": "Maven", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Used for dependency management in Android and Java projects.", + "name": "Gradle", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "android", + "production" + ], + "description": "Used for code shrinking and optimization in Android projects. EventBus provides rules for R8.", + "name": "R8", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "android", + "production" + ], + "description": "Used for code shrinking and optimization in Java/Android projects. EventBus provides rules for ProGuard.", + "name": "ProGuard", + "optional": true, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions on how to integrate and use EventBus.", + "title": "Getting Started Guide", + "type": "documentation", + "url_or_path": "https://greenrobot.org/eventbus/documentation/how-to-get-started/" + }, + { + "reason": "Explains thread mode options for subscriber methods, which is a key configuration aspect.", + "title": "Delivery Threads / ThreadMode", + "type": "documentation", + "url_or_path": "https://greenrobot.org/eventbus/documentation/delivery-threads-threadmode/" + }, + { + "reason": "Recommends and explains the use of the annotation processor for improved performance and to avoid reflection issues.", + "title": "EventBus annotation processor with its subscriber index", + "type": "documentation", + "url_or_path": "https://greenrobot.org/eventbus/documentation/subscriber-index/" + }, + { + "reason": "Contains example implementations that can help understand integration and usage.", + "title": "greenrobot-team/greenrobot-examples", + "type": "repo", + "url_or_path": "https://github.com/greenrobot-team/greenrobot-examples" + }, + { + "reason": "Provides necessary configuration rules for code shrinking tools like R8 and ProGuard.", + "title": "Consumer rules for R8/ProGuard", + "type": "file", + "url_or_path": "/eventbus-android/consumer-rules.pro" + } + ], + "stars": 24762 + }, + { + "altDescription": "a modern format librari", + "altName": "fmtlib / fmt", + "category": "installerpedia", + "description": "A modern formatting library", + "has_installation": false, + "id": "installerpedia-5", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone --recursive https://github.com/fmtlib/fmt.git", + "meaning": "Clones the fmt library repository and its submodules." + }, + { + "command": "cd fmt", + "meaning": "Navigates into the cloned fmt directory." + }, + { + "command": "mkdir build && cd build", + "meaning": "Creates a build directory and changes into it for out-of-source builds." + }, + { + "command": "cmake ..", + "meaning": "Configures the build using CMake, preparing for compilation. This command generates build files based on your system and CMakeLists.txt." + }, + { + "command": "cmake --build .", + "meaning": "Compiles the fmt library using the generated build files. This will build the library itself." + } + ], + "title": "Building from Source" + }, + { + "instructions": [ + { + "command": "git clone --recursive https://github.com/fmtlib/fmt.git", + "meaning": "Clones the fmt library repository and its submodules." + }, + { + "command": "cd fmt", + "meaning": "Navigates into the cloned fmt directory." + }, + { + "command": "# Define FMT_HEADER_ONLY macro before including fmt/format.h", + "meaning": "This is a comment indicating how to enable header-only usage. The actual compilation step would involve defining this macro in your project's build system or directly in your source files before including fmt headers." + } + ], + "title": "Using fmt as a Header-Only Library" + }, + { + "instructions": [ + { + "command": "git clone --recursive https://github.com/fmtlib/format-benchmark.git", + "meaning": "Clones the format-benchmark repository and its submodules." + }, + { + "command": "cd format-benchmark", + "meaning": "Navigates into the cloned format-benchmark directory." + }, + { + "command": "cmake .", + "meaning": "Configures the benchmark build using CMake." + }, + { + "command": "make speed-test", + "meaning": "Builds and runs the speed benchmark tests." + }, + { + "command": "make bloat-test", + "meaning": "Builds and runs the code bloat benchmark tests." + } + ], + "title": "Building Benchmarks" + } + ], + "name": "fmtlib/fmt", + "note": "", + "path": "/freedevtools/installerpedia/library/fmtlib-fmt", + "post_installation": [ + "To use the library in your project, include the necessary fmt headers (e.g., ``, ``).", + "If you built the library, you will need to link against the fmt library during your project's compilation and linking phase.", + "For header-only usage, ensure the `FMT_HEADER_ONLY` macro is defined before including fmt headers and that the fmt header files are accessible in your include path." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build", + "development", + "production" + ], + "description": "The fmt library is a C++ library.", + "name": "C++", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "CMake is used for building the library and running benchmarks.", + "name": "CMake", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "development" + ], + "description": "Make is used to build the benchmarks after CMake configuration.", + "name": "make", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides comprehensive details on features, API, and usage.", + "title": "fmt Documentation", + "type": "documentation", + "url_or_path": "https://fmt.dev" + }, + { + "reason": "Contains instructions on how to build the library and run unit tests.", + "title": "Building the library", + "type": "documentation", + "url_or_path": "https://fmt.dev/latest/get-started/#building-from-source" + }, + { + "reason": "Contains source code and instructions for running performance benchmarks.", + "title": "format-benchmark", + "type": "repo", + "url_or_path": "https://github.com/fmtlib/format-benchmark" + }, + { + "reason": "Details the permissive MIT license under which the library is distributed.", + "title": "LICENSE", + "type": "file", + "url_or_path": "https://github.com/fmtlib/fmt/blob/master/LICENSE" + }, + { + "reason": "References the C++ standard library feature that fmt implements, providing context for its functionality.", + "title": "C++20 std::format", + "type": "documentation", + "url_or_path": "https://en.cppreference.com/w/cpp/utility/format" + } + ], + "stars": 22888 + }, + { + "altDescription": "reactiv program in swift", + "altName": "reactivex / rxswift", + "category": "installerpedia", + "description": "Reactive Programming in Swift", + "has_installation": false, + "id": "installerpedia-6", + "installation_methods": [ + { + "instructions": [ + { + "command": "open Rx.xcworkspace", + "meaning": "Opens the RxSwift workspace in Xcode." + }, + { + "command": "Select RxExample scheme", + "meaning": "Chooses the sample application target for building and running." + }, + { + "command": "Hit run", + "meaning": "Builds and executes the RxExample application to demonstrate RxSwift functionality." + } + ], + "title": "Manual Build and Run" + }, + { + "instructions": [ + { + "command": "pod install", + "meaning": "Installs RxSwift and RxCocoa as dependencies for your project using CocoaPods. Ensure your Podfile is correctly configured with the desired versions." + } + ], + "title": "CocoaPods" + }, + { + "instructions": [ + { + "command": "Drag RxSwift.xcframework and RxCocoa.xcframework to your project", + "meaning": "Manually add the pre-built framework binaries to your Xcode project's 'Frameworks, Libraries, and Embedded Content' section." + } + ], + "title": "XCFrameworks" + }, + { + "instructions": [ + { + "command": "carthage update", + "meaning": "Fetches and builds RxSwift and its dependencies using Carthage. This command will download the specified version of RxSwift and prepare it for integration into your project." + } + ], + "title": "Carthage" + }, + { + "instructions": [ + { + "command": "carthage update RxSwift --platform iOS --no-build", + "meaning": "Updates the RxSwift checkout without building, preparing for manual modification." + }, + { + "command": "sed -i -e 's/MACH_O_TYPE = mh_dylib/MACH_O_TYPE = staticlib/g' Carthage/Checkouts/RxSwift/Rx.xcodeproj/project.pbxproj", + "meaning": "Modifies the Xcode project file to build RxSwift as a static library instead of a dynamic one." + }, + { + "command": "carthage build RxSwift --platform iOS", + "meaning": "Builds RxSwift as a static library after the modification." + } + ], + "title": "Carthage as a Static Library" + }, + { + "instructions": [ + { + "command": "swift build", + "meaning": "Builds your project and resolves RxSwift as a dependency using Swift Package Manager. This command assumes you have a Package.swift file configured to include RxSwift." + }, + { + "command": "TEST=1 swift test", + "meaning": "Builds and runs tests for your project, including those with RxTest dependencies, by setting the TEST environment variable." + } + ], + "title": "Swift Package Manager" + }, + { + "instructions": [ + { + "command": "git submodule add git@github.com:ReactiveX/RxSwift.git", + "meaning": "Adds the RxSwift repository as a git submodule to your project, allowing you to manage its version alongside your own code." + }, + { + "command": "Open Rx.xcodeproj", + "meaning": "Opens the RxSwift project file within your Xcode project." + }, + { + "command": "Go to Project > Targets > Build Phases > Link Binary With Libraries, click '+', and select RxSwift, RxCocoa, and RxRelay targets", + "meaning": "Manually links the RxSwift, RxCocoa, and RxRelay targets from the submodule into your project's build phases." + } + ], + "title": "Git Submodules" + } + ], + "name": "ReactiveX/RxSwift", + "note": "", + "path": "/freedevtools/installerpedia/library/ReactiveX-RxSwift", + "post_installation": [ + "Ensure that the correct frameworks are linked in your project's 'Frameworks, Libraries, and Embedded Content' section.", + "If using Swift Package Manager, ensure your `Package.swift` file correctly references `RxSwift` and its products (e.g., `RxCocoa`).", + "For testing purposes, you can build or test modules with RxTest dependency by setting the `TEST=1` environment variable before running `swift test`." + ], + "prerequisites": [ + { + "applies_to": [ + "macos", + "development" + ], + "description": "Required for building and integrating Swift projects.", + "name": "Xcode", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "macos", + "development" + ], + "description": "A dependency manager for Swift and Objective-C Cocoa projects.", + "name": "CocoaPods", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "macos", + "development" + ], + "description": "A decentralized dependency manager for macOS and iOS.", + "name": "Carthage", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "macos", + "development" + ], + "description": "The official package manager for the Swift programming language.", + "name": "Swift Package Manager", + "optional": false, + "type": "build_tool", + "version": "5.0" + }, + { + "applies_to": [ + "macos", + "development" + ], + "description": "Required for using git submodules.", + "name": "git", + "optional": false, + "type": "system_package", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Directly provides installation instructions for various methods.", + "title": "Installation Guide", + "type": "documentation", + "url_or_path": "#installation" + }, + { + "reason": "Contains foundational information and debugging tips relevant to setting up and using RxSwift.", + "title": "GettingStarted.md", + "type": "documentation", + "url_or_path": "Documentation/GettingStarted.md" + }, + { + "reason": "Provides instructions on how to run the example app, which can be useful for verifying installation and understanding usage.", + "title": "ExampleApp.md", + "type": "documentation", + "url_or_path": "Documentation/ExampleApp.md" + }, + { + "reason": "Offers guidance on using playgrounds, which can be a helpful way to test and experiment with RxSwift after installation.", + "title": "Playgrounds.md", + "type": "documentation", + "url_or_path": "Documentation/Playgrounds.md" + }, + { + "reason": "While not strictly installation, it provides context that might influence installation choices or understanding of the library's role.", + "title": "ComparisonWithOtherLibraries.md", + "type": "documentation", + "url_or_path": "Documentation/ComparisonWithOtherLibraries.md" + } + ], + "stars": 24667 + }, + { + "altDescription": "push - button instal of maco catalina , mojav , and high sierra guest in virtualbox on x86 cpus for window , linux , and maco", + "altName": "myspaghetti / maco - virtualbox", + "category": "installerpedia", + "description": "Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS", + "has_installation": false, + "id": "installerpedia-7", + "installation_methods": [ + { + "instructions": [ + { + "command": "wget https://raw.githubusercontent.com/myspaghetti/macos-virtualbox/master/macos-guest-virtualbox.sh -O ./macos-guest-virtualbox.sh", + "meaning": "Downloads the main installation script `macos-guest-virtualbox.sh` from the repository and saves it locally." + }, + { + "command": "chmod +x ./macos-guest-virtualbox.sh", + "meaning": "Makes the downloaded script executable, allowing it to be run." + }, + { + "command": "./macos-guest-virtualbox.sh", + "meaning": "Executes the script to automate the installation of macOS on VirtualBox. The script will download macOS installation files from Apple servers and guide the user through the process with minimal interaction." + } + ], + "title": "Run the Bash Script" + } + ], + "name": "myspaghetti/macos-virtualbox", + "note": "", + "path": "/freedevtools/installerpedia/tool/myspaghetti-macos-virtualbox", + "post_installation": [ + "The script automates the creation of a macOS virtual machine. After the script completes, the virtual machine should be ready to boot into macOS.", + "For advanced configurations such as setting a valid device name, serial number, board ID, NVRAM parameters, or increasing storage size, refer to the documentation command: `./macos-guest-virtualbox.sh documentation`", + "Supported primary display resolutions can be configured via the documentation command.", + "Upgrading to Big Sur and Monterey may require additional steps, as detailed in the documentation.", + "For near-native performance, consider importing the VM into QEMU with KVM, which requires additional configuration beyond the scope of this script.", + "If audio, display scaling, or FileVault support is needed, consider using the OpenCore bootloader with appropriate configuration, which is beyond the scope of this script." + ], + "prerequisites": [ + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Bourne Again SHell, a command-line interpreter. Required for running the installation script. On Windows, can be run through Cygwin or WSL 1.", + "name": "bash", + "optional": false, + "type": "system_tool", + "version": ">= 4.3" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "GNU core utilities, providing essential command-line tools like `ls`, `cp`, `mv`, etc.", + "name": "coreutils", + "optional": false, + "type": "system_tool", + "version": ">= 8.22" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "GNU zip compression utility.", + "name": "gzip", + "optional": false, + "type": "system_tool", + "version": ">= 1.5" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Utility for extracting files from ZIP archives.", + "name": "unzip", + "optional": false, + "type": "system_tool", + "version": ">= v6.0" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Command-line utility for downloading files from the web.", + "name": "wget", + "optional": false, + "type": "system_tool", + "version": ">= 1.14" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Utility to create a hex dump of a given file or standard input.", + "name": "xxd", + "optional": false, + "type": "system_tool", + "version": ">= 1.11" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Converts Apple's Disk Image (.dmg) files to raw disk images (.img). The script downloads this automatically on Cygwin if not found.", + "name": "dmg2img", + "optional": false, + "type": "system_tool", + "version": ">= 1.6.5" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Oracle VM VirtualBox, a free and open-source hypervisor for x86 virtualization. Versions as low as 5.2 may work.", + "name": "virtualbox", + "optional": false, + "type": "system_package", + "version": ">= 6.1.6" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Open-source Optical Character Recognition (OCR) engine. Optional, but reduces required user interaction by enabling the script to read screen prompts.", + "name": "tesseract-ocr", + "optional": true, + "type": "system_package", + "version": ">= 4" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "English language data for Tesseract OCR. Required if tesseract-ocr is installed and English prompts are expected.", + "name": "tesseract-ocr-eng", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "A Linux-like environment for Windows. Required for running bash scripts on Windows if not using WSL.", + "name": "Cygwin", + "optional": true, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "Windows Subsystem for Linux version 1. Can be used to run bash scripts on Windows.", + "name": "WSL", + "optional": true, + "type": "os", + "version": "1" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "The script is designed for x86 CPU architecture. macOS guests on VirtualBox are generally incompatible with other CPU models.", + "name": "x86", + "optional": false, + "type": "architecture", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Intel Virtualization Technology (VT-x) or AMD Virtualization (AMD-V) must be enabled in the BIOS/UEFI for VirtualBox to run virtual machines efficiently.", + "name": "VT-x or AMD-V", + "optional": false, + "type": "system_feature", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "This is the primary script that automates the installation process.", + "title": "macos-guest-virtualbox.sh", + "type": "file", + "url_or_path": "./macos-guest-virtualbox.sh" + }, + { + "reason": "Provides detailed information on advanced configurations, iCloud/iMessage connectivity, NVRAM settings, storage size, display resolution, CPU compatibility, and upgrading macOS versions.", + "title": "Documentation Command", + "type": "documentation", + "url_or_path": "./macos-guest-virtualbox.sh documentation" + }, + { + "reason": "Official download page for VirtualBox, a prerequisite for this script.", + "title": "VirtualBox Downloads", + "type": "documentation", + "url_or_path": "https://www.virtualbox.org/wiki/Downloads" + }, + { + "reason": "Instructions for installing Cygwin, which is recommended for running bash scripts on Windows.", + "title": "Cygwin Installation", + "type": "documentation", + "url_or_path": "https://cygwin.com/install.html" + }, + { + "reason": "Information on adjusting CPUID settings in VirtualBox, which may be necessary for certain CPU models to avoid boot issues.", + "title": "VirtualBox CPUID Settings", + "type": "documentation", + "url_or_path": "https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm-teleport" + } + ], + "stars": 13559 + }, + { + "altDescription": "python data scienc handbook : full text in jupyt notebook", + "altName": "jakevdp / pythondatasciencehandbook", + "category": "installerpedia", + "description": "Python Data Science Handbook: full text in Jupyter Notebooks", + "has_installation": false, + "id": "installerpedia-8", + "installation_methods": [ + { + "instructions": [ + { + "command": "conda install --file requirements.txt", + "meaning": "Installs all the Python packages listed in the 'requirements.txt' file using the conda package manager. This ensures that the correct versions of libraries like NumPy, Pandas, Matplotlib, and Scikit-Learn are installed for running the code examples in the book." + } + ], + "title": "Install requirements using Conda" + }, + { + "instructions": [ + { + "command": "conda create -n PDSH python=3.5 --file requirements.txt", + "meaning": "Creates a new, isolated Conda environment named 'PDSH' with Python version 3.5 and installs all the packages specified in 'requirements.txt'. This is recommended to avoid conflicts with other Python projects on your system." + } + ], + "title": "Create a dedicated Conda environment" + } + ], + "name": "jakevdp/PythonDataScienceHandbook", + "note": "", + "path": "/freedevtools/installerpedia/study-material/jakevdp-PythonDataScienceHandbook", + "post_installation": [ + "Activate the 'PDSH' environment if you created one: `conda activate PDSH`", + "Navigate to the `notebooks` directory to access the Jupyter notebooks.", + "Launch Jupyter Notebook or JupyterLab to run the code examples." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "The book was written and tested with Python 3.5, though other Python versions (including Python 2.7) should work in nearly all cases.", + "name": "Python", + "optional": false, + "type": "language", + "version": "3.5" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Conda is used for managing environments and installing packages.", + "name": "conda", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Core library for interactive computing in Python.", + "name": "IPython", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Fundamental package for scientific computing with Python.", + "name": "NumPy", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Library for data manipulation and analysis.", + "name": "Pandas", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Library for creating static, animated, and interactive visualizations.", + "name": "Matplotlib", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Library for machine learning in Python.", + "name": "Scikit-Learn", + "optional": false, + "type": "library", + "version": "" + } + ], + "repo_type": "study-material", + "resources_of_interest": [ + { + "reason": "Lists the specific package versions required to run the code examples in the book.", + "title": "requirements.txt", + "type": "file", + "url_or_path": "requirements.txt" + }, + { + "reason": "Provides detailed information on how to use conda for managing Python environments, which is crucial for setting up the project correctly.", + "title": "Managing Environments (conda documentation)", + "type": "documentation", + "url_or_path": "http://conda.pydata.org/docs/using/envs.html" + }, + { + "reason": "A companion project recommended for users who need a quick introduction to the Python language itself, which is a prerequisite for understanding the data science concepts.", + "title": "A Whirlwind Tour of Python", + "type": "repo", + "url_or_path": "https://github.com/jakevdp/WhirlwindTourOfPython" + } + ], + "stars": 46018 + }, + { + "altDescription": "a bunch of lint to catch common mistak and improv your rust code . book : https : / / doc.rust - lang.org / clippi /", + "altName": "rust - lang / rust - clippi", + "category": "installerpedia", + "description": "A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/", + "has_installation": false, + "id": "installerpedia-9", + "installation_methods": [ + { + "instructions": [ + { + "command": "rustup update", + "meaning": "Updates rustup and the installed Rust toolchains to the latest versions. This ensures you have the necessary base for installing Clippy and that you are using a compatible Rust version (at least 1.29)." + }, + { + "command": "rustup component add clippy", + "meaning": "Installs the Clippy linter as a component of your Rust toolchain, making it available as a `cargo` subcommand." + } + ], + "title": "Install Clippy via rustup (Recommended)" + }, + { + "instructions": [ + { + "command": "clippy-driver --edition 2018 -Cpanic=abort foo.rs", + "meaning": "Runs Clippy directly on a Rust source file (`foo.rs`) using `clippy-driver`. This is an alternative for projects that do not use Cargo, allowing you to lint individual files with specific Rust edition and panic settings. Note: This is for linting only and may not produce optimized artifacts." + } + ], + "title": "Using `clippy-driver` (for projects not using cargo)" + } + ], + "name": "rust-lang/rust-clippy", + "note": "", + "path": "/freedevtools/installerpedia/tool/rust-lang-rust-clippy", + "post_installation": [ + "Run `cargo clippy` in your Rust project's root directory to start linting.", + "To automatically apply suggestions, use `cargo clippy --fix`.", + "For specific crate linting within a workspace, use `cargo clippy -p `.", + "To lint only the specified crate and not its dependencies, use `cargo clippy -p -- --no-deps`." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Clippy is a Rust linter and requires a compatible Rust toolchain.", + "name": "Rust", + "optional": false, + "type": "language", + "version": ">=1.29" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Rustup is the recommended tool for managing Rust versions and components, including Clippy.", + "name": "rustup", + "optional": false, + "type": "package_manager", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides detailed information about all available lints and their categories.", + "title": "Clippy Lints Documentation", + "type": "documentation", + "url_or_path": "https://rust-lang.github.io/rust-clippy/master/index.html" + }, + { + "reason": "Official documentation for Rustup, the recommended tool for managing Rust installations and components.", + "title": "Rustup", + "type": "documentation", + "url_or_path": "https://rustup.rs/" + }, + { + "reason": "Explains the different lint levels (allow, warn, deny) used by Rust compilers and linters like Clippy.", + "title": "Rust Lints Levels", + "type": "documentation", + "url_or_path": "https://doc.rust-lang.org/rustc/lints/levels.html" + }, + { + "reason": "Details the configurable options for various Clippy lints.", + "title": "Lint Configuration Table", + "type": "documentation", + "url_or_path": "https://doc.rust-lang.org/nightly/clippy/lint_configuration.html" + }, + { + "reason": "Explains how to specify the minimum supported Rust version (MSRV) in `Cargo.toml`, which can affect lint behavior.", + "title": "Rust Version Field in Cargo.toml", + "type": "documentation", + "url_or_path": "https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field" + } + ], + "stars": 12619 + }, + { + "altDescription": "the javascript and api power wordpress.com", + "altName": "automatt / wp - calypso", + "category": "installerpedia", + "description": "The JavaScript and API powered WordPress.com", + "has_installation": false, + "id": "installerpedia-10", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/Automattic/wp-calypso.git", + "meaning": "Clones the Calypso repository from GitHub to your local machine." + }, + { + "command": "echo '127.0.0.1 calypso.localhost' | sudo tee -a /etc/hosts", + "meaning": "Adds an entry to your system's hosts file to map 'calypso.localhost' to your local machine's IP address. This is necessary for accessing the application via its development domain." + }, + { + "command": "yarn", + "meaning": "Installs all the project's dependencies using Yarn. This command reads the 'package.json' file and downloads the required libraries." + }, + { + "command": "yarn start", + "meaning": "Starts the development server for Calypso. This command compiles the application and makes it available locally." + } + ], + "title": "Local Installation from Source" + } + ], + "name": "Automattic/wp-calypso", + "note": "", + "path": "/freedevtools/installerpedia/framework/Automattic-wp-calypso", + "post_installation": [ + "Open `calypso.localhost:3000` in your browser to access the running application." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "source_build" + ], + "description": "Version control system used for cloning the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "source_build" + ], + "description": "JavaScript runtime environment required for building and running the application.", + "name": "node", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "source_build" + ], + "description": "JavaScript package manager used for installing dependencies and running scripts.", + "name": "yarn", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Modification of the local hosts file to map 'calypso.localhost' to '127.0.0.1' for local development.", + "name": "hosts file modification", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "framework", + "resources_of_interest": [ + { + "reason": "Contains more detailed installation instructions.", + "title": "docs/install.md", + "type": "file", + "url_or_path": "./docs/install.md" + }, + { + "reason": "Provides an overview and context for Calypso, potentially including setup details.", + "title": "Calypso Documentation", + "type": "documentation", + "url_or_path": "https://developer.wordpress.com/calypso" + }, + { + "reason": "Helps resolve problems encountered during installation or runtime.", + "title": "Troubleshooting Common Issues", + "type": "documentation", + "url_or_path": "./docs/troubleshooting.md" + } + ], + "stars": 12588 + }, + { + "altDescription": "virtual machin for io and maco", + "altName": "utmapp / utm", + "category": "installerpedia", + "description": "Virtual machines for iOS and macOS", + "has_installation": false, + "id": "installerpedia-11", + "installation_methods": [ + { + "instructions": [ + { + "command": "open https://getutm.app/install/", + "meaning": "Opens the official UTM installation page for iOS, which provides instructions on how to download and install UTM (SE) on your iPhone or iPad. This typically involves sideloading or using alternative app stores." + } + ], + "title": "Install UTM (SE) for iOS" + }, + { + "instructions": [ + { + "command": "open https://mac.getutm.app/", + "meaning": "Opens the official UTM installation page for macOS, providing instructions on how to download and install UTM on your Mac. This may involve downloading a .dmg file or using a package manager like Homebrew if available." + } + ], + "title": "Install UTM for macOS" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/utmapp/UTM.git", + "meaning": "Clones the UTM repository from GitHub to your local machine, which is the first step for developing or building UTM on macOS." + }, + { + "command": "cd UTM", + "meaning": "Navigates into the cloned UTM directory." + }, + { + "command": "open Documentation/MacDevelopment.md", + "meaning": "Opens the macOS development documentation file, which contains specific instructions for setting up your environment and building UTM on macOS." + } + ], + "title": "macOS Development Setup" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/utmapp/UTM.git", + "meaning": "Clones the UTM repository from GitHub to your local machine, which is the first step for developing or building UTM on iOS." + }, + { + "command": "cd UTM", + "meaning": "Navigates into the cloned UTM directory." + }, + { + "command": "open Documentation/iOSDevelopment.md", + "meaning": "Opens the iOS development documentation file, which contains specific instructions for setting up your environment and building UTM on iOS. This may involve Xcode and specific provisioning profiles." + } + ], + "title": "iOS Development Setup" + } + ], + "name": "utmapp/UTM", + "note": "", + "path": "/freedevtools/installerpedia/tool/utmapp-UTM", + "post_installation": [ + "After installation, you can create, manage, and run virtual machines directly from your device.", + "For macOS, hardware accelerated virtualization is available using Hypervisor.framework and QEMU.", + "For macOS guests on macOS 12+, Virtualization.framework can be used for hardware acceleration." + ], + "prerequisites": [ + { + "applies_to": [ + "macos", + "development" + ], + "description": "UTM frontend is designed for macOS 11 and later.", + "name": "macOS", + "optional": false, + "type": "os", + "version": "11+" + }, + { + "applies_to": [ + "ios", + "development" + ], + "description": "UTM frontend is designed for iOS 11 and later.", + "name": "iOS", + "optional": false, + "type": "os", + "version": "11+" + }, + { + "applies_to": [ + "global", + "source_build", + "development" + ], + "description": "UTM is based off of QEMU, a full system emulator.", + "name": "QEMU", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "macos" + ], + "description": "Used for hardware accelerated virtualization on macOS guests.", + "name": "Hypervisor.framework", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "ios" + ], + "description": "Understanding of JIT (Just-In-Time) compilation and its implications on iOS, including jailbreaking or workarounds.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides specific instructions for installing UTM (SE) on iOS.", + "title": "UTM Installation Page", + "type": "documentation", + "url_or_path": "https://getutm.app/install/" + }, + { + "reason": "Provides specific instructions for installing UTM on macOS.", + "title": "UTM macOS Installation Page", + "type": "documentation", + "url_or_path": "https://mac.getutm.app/" + }, + { + "reason": "Contains detailed instructions for setting up the development environment and building UTM on macOS.", + "title": "MacDevelopment.md", + "type": "file", + "url_or_path": "Documentation/MacDevelopment.md" + }, + { + "reason": "Contains detailed instructions for setting up the development environment and building UTM on iOS.", + "title": "iOSDevelopment.md", + "type": "file", + "url_or_path": "Documentation/iOSDevelopment.md" + }, + { + "reason": "UTM is based on QEMU, and understanding QEMU's build process might be relevant for advanced users or developers.", + "title": "QEMU", + "type": "repo", + "url_or_path": "https://github.com/qemu/qemu" + } + ], + "stars": 31560 + }, + { + "altDescription": "svg react icon of popular icon pack", + "altName": "react - icon / react - icon", + "category": "installerpedia", + "description": "svg react icons of popular icon packs", + "has_installation": false, + "id": "installerpedia-12", + "installation_methods": [ + { + "instructions": [ + { + "command": "yarn add react-icons", + "meaning": "Installs the 'react-icons' package and its dependencies using Yarn. This is the most common way to add the library to a modern React project." + }, + { + "command": "npm install react-icons --save", + "meaning": "Installs the 'react-icons' package and its dependencies using npm. This is an alternative to Yarn for adding the library to a React project." + } + ], + "title": "Standard Installation (Recommended)" + }, + { + "instructions": [ + { + "command": "yarn add @react-icons/all-files", + "meaning": "Installs the '@react-icons/all-files' package using Yarn. This option includes all icons from all supported libraries but may result in a longer installation time and larger bundle size." + }, + { + "command": "npm install @react-icons/all-files --save", + "meaning": "Installs the '@react-icons/all-files' package using npm. This is an alternative to Yarn for projects that might benefit from having all icons readily available." + } + ], + "title": "Installation for Larger Projects (e.g., Meteor, Gatsby)" + }, + { + "instructions": [ + { + "command": "yarn", + "meaning": "Installs all project dependencies, including development dependencies, for the entire monorepo. This is typically used when cloning the repository for development purposes." + }, + { + "command": "cd packages/react-icons", + "meaning": "Navigates into the 'react-icons' package directory within the monorepo." + }, + { + "command": "yarn fetch", + "meaning": "Fetches icon sources for the 'react-icons' package. This command is specific to the development setup and ensures all icon data is available." + }, + { + "command": "yarn build", + "meaning": "Builds the 'react-icons' package. This command compiles the library and prepares it for use or further testing during development." + } + ], + "title": "Development Installation" + } + ], + "name": "react-icons/react-icons", + "note": "", + "path": "/freedevtools/installerpedia/library/react-icons-react-icons", + "post_installation": [ + "Import icons into your React components using ES6 imports.", + "Configure global icon properties (color, size, etc.) using the `IconContext.Provider` API if needed.", + "Adjust CSS for `vertical-align` if necessary, either globally via `IconContext` or by adding custom CSS.", + "Remove `@types/react-icons` if you were previously using it and are now using TypeScript with `react-icons` v3+." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "production", + "source_build" + ], + "description": "Required for package management and building.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "source_build" + ], + "description": "Node Package Manager, used for installing dependencies and packages.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "source_build" + ], + "description": "A JavaScript package manager, an alternative to npm.", + "name": "yarn", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "React 16.3 or higher is required for the IconContext API.", + "name": "React", + "optional": false, + "type": "library", + "version": "16.3" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides comprehensive usage examples and details on how to import icons from various libraries.", + "title": "React Icons Documentation", + "type": "documentation", + "url_or_path": "https://react-icons.github.io/react-icons" + }, + { + "reason": "Explains the React Context API, which is used for configuring react-icons globally.", + "title": "React Context API Documentation", + "type": "documentation", + "url_or_path": "https://reactjs.org/docs/context.html" + }, + { + "reason": "Discusses the status and potential issues with the '@react-icons/all-files' package, which is relevant for users considering that installation method.", + "title": "Issue #593 on react-icons repo", + "type": "issue", + "url_or_path": "https://github.com/react-icons/react-icons/issues/593" + }, + { + "reason": "Addresses concerns about large JS bundle sizes when using react-icons, offering potential solutions or insights.", + "title": "Issue #154 on react-icons repo", + "type": "documentation", + "url_or_path": "https://github.com/react-icons/react-icons/issues/154" + }, + { + "reason": "This script is mentioned as the way to build the whole project, providing insights into the build process for developers.", + "title": "build-script.sh", + "type": "file", + "url_or_path": "./build-script.sh" + } + ], + "stars": 12391 + }, + { + "altDescription": "scira ( former miniperplx ) is a minimalist ai - power search engin that help you find inform on the internet and cite it too . power by vercel ai sdk ! open sourc perplex altern .", + "altName": "zaidmukaddam / scira", + "category": "installerpedia", + "description": "Scira (Formerly MiniPerplx) is a minimalistic AI-powered search engine that helps you find information on the internet and cites it too. Powered by Vercel AI SDK! Open Source perplexity alternative.", + "has_installation": false, + "id": "installerpedia-13", + "installation_methods": [ + { + "instructions": [ + { + "command": "npx create-next-app@latest --example https://github.com/zaidmukaddam/scira --name scira-app", + "meaning": "Creates a new Next.js application using the Scira repository as an example, effectively cloning and setting up the project for deployment." + }, + { + "command": "cd scira-app", + "meaning": "Navigates into the newly created project directory." + }, + { + "command": "pnpm install", + "meaning": "Installs all project dependencies using pnpm." + }, + { + "command": "cp .env.example .env.local", + "meaning": "Copies the example environment file to a local environment file, which will need to be populated with API keys." + }, + { + "command": "vercel --prod", + "meaning": "Deploys the application to Vercel for production." + } + ], + "title": "Deploy with Vercel" + }, + { + "instructions": [ + { + "command": "docker compose up", + "meaning": "Builds and starts the application containers using Docker Compose. This is the recommended Docker method for ease of use." + } + ], + "title": "Run via Docker Compose" + }, + { + "instructions": [ + { + "command": "docker build -t scira.app .", + "meaning": "Builds a Docker image named 'scira.app' from the current directory's Dockerfile." + }, + { + "command": "docker run --env-file .env -p 3000:3000 scira.app", + "meaning": "Runs a Docker container from the 'scira.app' image, mapping port 3000 from the host to the container and loading environment variables from the .env file." + } + ], + "title": "Run via Docker Directly" + }, + { + "instructions": [ + { + "command": "pnpm install", + "meaning": "Installs project dependencies using the pnpm package manager." + }, + { + "command": "pnpm dev", + "meaning": "Starts the development server for the application." + } + ], + "title": "Run with Node.js" + } + ], + "name": "zaidmukaddam/scira", + "note": "", + "path": "/freedevtools/installerpedia/cli/zaidmukaddam-scira", + "post_installation": [ + "Ensure all required API keys are correctly configured in your `.env` file.", + "The application will be available at `http://localhost:3000` after starting.", + "To set Scira as your default search engine in Chrome, follow these steps:", + "1. Open Chrome settings.", + "2. Navigate to 'Search engine' > 'Manage search engines and site search'.", + "3. Click 'Add' next to 'Site search'.", + "4. Set 'Search engine' to `Scira`.", + "5. Set 'URL with %s in place of query' to `https://scira.ai?q=%s`.", + "6. Set 'Shortcut' to `sh`.", + "7. Click the three dots next to Scira and select 'Make default'." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build", + "development" + ], + "description": "A fast, disk-backed, hierarchical package manager for JavaScript.", + "name": "pnpm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "JavaScript runtime environment.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "LTS" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Containerization platform.", + "name": "Docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Tool for defining and running multi-container Docker applications.", + "name": "Docker Compose", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for AI model integration.", + "name": "OpenAI API Key", + "optional": false, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for AI model integration.", + "name": "Anthropic API Key", + "optional": false, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for web search and content retrieval features.", + "name": "Exa AI API Key", + "optional": false, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for Reddit and web search grounding.", + "name": "Tavily API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for location-based features.", + "name": "Google Maps API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for movie and TV show data.", + "name": "TMDB API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for weather information.", + "name": "OpenWeather API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for code interpreter functionality.", + "name": "Daytona API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for memory management features.", + "name": "Mem0 API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for authentication.", + "name": "Better Auth Secret", + "optional": false, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Database connection string.", + "name": "Database URL", + "optional": false, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Redis connection string.", + "name": "Redis URL", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for text-to-speech functionality.", + "name": "ElevenLabs API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for Groq LLM models.", + "name": "Groq API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for Google Gemini LLM models.", + "name": "Google Generative AI API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for xAI LLM models.", + "name": "XAI API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for GitHub authentication.", + "name": "Github Client ID", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for GitHub authentication.", + "name": "Github Client Secret", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for Google authentication.", + "name": "Google Client ID", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for Google authentication.", + "name": "Google Client Secret", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for X (Twitter) authentication.", + "name": "Twitter Client ID", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for X (Twitter) authentication.", + "name": "Twitter Client Secret", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for live crawling capabilities.", + "name": "Firecrawl API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for map-related features.", + "name": "Mapbox Access Token", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Public Mapbox token for client-side map rendering.", + "name": "Next Public Mapbox Token", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "PostHog analytics key for client-side tracking.", + "name": "Next Public PostHog Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "PostHog analytics host for client-side tracking.", + "name": "Next Public PostHog Host", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Public API key for Scira.", + "name": "Next Public Scira Public API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Private API key for Scira.", + "name": "Scira API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Secret for cron job authentication.", + "name": "Cron Secret", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Token for blob storage read/write access.", + "name": "Blob Read Write Token", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Required for MCP server search.", + "name": "Smithery API Key", + "optional": true, + "type": "api_key", + "version": "" + }, + { + "applies_to": [ + "source_build", + "docker_deploy", + "development" + ], + "description": "Endpoint for YouTube data retrieval.", + "name": "YT Endpoint", + "optional": true, + "type": "api_key", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "Provides details on how the AI models are integrated, which is crucial for understanding runtime requirements.", + "title": "Vercel AI SDK Documentation", + "type": "documentation", + "url_or_path": "https://sdk.vercel.ai/docs" + }, + { + "reason": "As the project is built with Next.js, its documentation is relevant for understanding the framework and its setup.", + "title": "Next.js Documentation", + "type": "documentation", + "url_or_path": "https://nextjs.org/" + }, + { + "reason": "Relevant for understanding styling and potential build steps related to CSS.", + "title": "Tailwind CSS Documentation", + "type": "documentation", + "url_or_path": "https://tailwindcss.com/" + }, + { + "reason": "Provides information on UI components, which might have specific installation or integration requirements.", + "title": "Shadcn/UI Documentation", + "type": "documentation", + "url_or_path": "https://ui.shadcn.com/" + }, + { + "reason": "Essential for understanding the setup and usage of the Exa AI API, a core feature of Scira.", + "title": "Exa.AI Documentation", + "type": "documentation", + "url_or_path": "https://exa.ai/" + } + ], + "stars": 10954 + }, + { + "altDescription": "the cloud nativ applic proxi", + "altName": "traefik / traefik", + "category": "installerpedia", + "description": "The Cloud Native Application Proxy", + "has_installation": false, + "id": "installerpedia-14", + "installation_methods": [ + { + "instructions": [ + { + "command": "curl -L https://github.com/traefik/traefik/releases/download/vX.Y.Z/traefik_linux-amd64 -o traefik", + "meaning": "Downloads the latest Traefik binary for Linux AMD64 architecture. Replace 'vX.Y.Z' with the actual latest version tag from the releases page. This command fetches the executable file." + }, + { + "command": "chmod +x traefik", + "meaning": "Makes the downloaded Traefik binary executable. This is a standard step for running downloaded executables on Linux/macOS." + }, + { + "command": "./traefik --configFile=traefik.toml", + "meaning": "Runs the Traefik binary using a configuration file. The --configFile flag points to the configuration file. This command starts the Traefik service." + } + ], + "title": "Download Latest Binary" + }, + { + "instructions": [ + { + "command": "docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik", + "meaning": "Runs the official Traefik Docker image in detached mode (-d). It maps host ports 8080 (Traefik UI) and 80 (Traefik service) to the container. It also mounts the local traefik.toml configuration file into the container at /etc/traefik/traefik.toml. This is a convenient way to run Traefik without installing it directly on the host." + } + ], + "title": "Official Docker Image" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/traefik/traefik", + "meaning": "Clones the Traefik repository from GitHub. This downloads the entire source code of Traefik to your local machine." + } + ], + "title": "Clone Source Code" + } + ], + "name": "traefik/traefik", + "note": "", + "path": "/freedevtools/installerpedia/cli/traefik-traefik", + "post_installation": [ + "Ensure you have a `traefik.toml` configuration file. A sample is available at [https://raw.githubusercontent.com/traefik/traefik/master/traefik.sample.toml](https://raw.githubusercontent.com/traefik/traefik/master/traefik.sample.toml).", + "Refer to the [Documentation](https://doc.traefik.io/traefik/) for detailed configuration and usage." + ], + "prerequisites": [ + { + "applies_to": [ + "docker_deploy", + "development", + "learning" + ], + "description": "Docker is required for the Docker image installation method and for the quickstart guide.", + "name": "Docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Git is required to clone the repository source code.", + "name": "git", + "optional": true, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "Provides comprehensive installation, configuration, and usage guides.", + "title": "Traefik Documentation v3", + "type": "documentation", + "url_or_path": "https://doc.traefik.io/traefik/" + }, + { + "reason": "Offers a fast-track guide to get Traefik up and running, likely involving Docker.", + "title": "Traefik 5-Minute Quickstart", + "type": "documentation", + "url_or_path": "https://doc.traefik.io/traefik/getting-started/quick-start/" + }, + { + "reason": "Provides a template for configuring Traefik, essential for running the binary.", + "title": "Sample Configuration File", + "type": "file", + "url_or_path": "https://raw.githubusercontent.com/traefik/traefik/master/traefik.sample.toml" + }, + { + "reason": "The primary source for downloading pre-compiled binaries of Traefik.", + "title": "Traefik Releases", + "type": "repo", + "url_or_path": "https://github.com/traefik/traefik/releases" + }, + { + "reason": "Important for users upgrading from older versions, detailing necessary steps and changes.", + "title": "Migration Guide v2 to v3", + "type": "documentation", + "url_or_path": "https://doc.traefik.io/traefik/migrate/v2-to-v3/" + } + ], + "stars": 58287 + }, + { + "altDescription": "an open - sourc cross - platform altern to airdrop", + "altName": "localsend / localsend", + "category": "installerpedia", + "description": "An open-source cross-platform alternative to AirDrop", + "has_installation": false, + "id": "installerpedia-15", + "installation_methods": [ + { + "instructions": [ + { + "command": "echo \"Visit the official download page for links to various app stores and package managers.\"", + "meaning": "Provides a human-readable instruction to guide the user to the recommended download sources." + }, + { + "command": "echo \"Windows: Winget, Scoop, Chocolatey, EXE Installer, Portable ZIP\"", + "meaning": "Lists available installation methods for Windows users." + }, + { + "command": "echo \"macOS: App Store, Homebrew, DMG Installer\"", + "meaning": "Lists available installation methods for macOS users." + }, + { + "command": "echo \"Linux: Flathub, Nixpkgs, Snap, AUR, TAR, DEB, AppImage\"", + "meaning": "Lists available installation methods for Linux users." + }, + { + "command": "echo \"Android: Play Store, F-Droid, APK\"", + "meaning": "Lists available installation methods for Android users." + }, + { + "command": "echo \"iOS: App Store\"", + "meaning": "Lists available installation methods for iOS users." + }, + { + "command": "echo \"Fire OS: Amazon Appstore\"", + "meaning": "Lists available installation methods for Fire OS users." + } + ], + "title": "Download from App Stores and Package Managers (Recommended)" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/localsend/localsend.git", + "meaning": "Clones the LocalSend repository from GitHub to your local machine." + }, + { + "command": "cd localsend/app", + "meaning": "Navigates into the application's source code directory." + }, + { + "command": "fvm flutter pub get", + "meaning": "Installs all the necessary Dart and Flutter dependencies for the project using the Flutter Version Management (fvm) tool." + }, + { + "command": "fvm flutter run", + "meaning": "Compiles and runs the LocalSend application from the source code using the Flutter SDK managed by fvm." + } + ], + "title": "Build from Source (Advanced)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter build apk", + "meaning": "Builds a standard Android application package (APK) from the source code." + } + ], + "title": "Build for Android (APK)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter build appbundle", + "meaning": "Builds an Android App Bundle, which is the preferred format for publishing on Google Play." + } + ], + "title": "Build for Android (AppBundle)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter build ipa", + "meaning": "Builds an iOS application archive (IPA) from the source code." + } + ], + "title": "Build for iOS" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter build macos", + "meaning": "Builds a native macOS application from the source code." + } + ], + "title": "Build for macOS" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter build windows", + "meaning": "Builds a native Windows application from the source code." + } + ], + "title": "Build for Windows (Traditional)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter pub run msix:create", + "meaning": "Creates an MSIX package for the Windows application, suitable for distribution." + } + ], + "title": "Build for Windows (MSIX App)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter pub run msix:create --store", + "meaning": "Creates an MSIX package specifically formatted for submission to the Microsoft Store." + } + ], + "title": "Build for Windows (Store Ready MSIX)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "appimage-builder --recipe AppImageBuilder.yml", + "meaning": "Builds a self-contained AppImage executable for Linux using the provided recipe." + } + ], + "title": "Build for Linux (AppImage)" + }, + { + "instructions": [ + { + "command": "cd localsend/app", + "meaning": "Navigates to the app directory." + }, + { + "command": "fvm flutter build linux", + "meaning": "Builds a native Linux application from the source code." + } + ], + "title": "Build for Linux (Traditional)" + } + ], + "name": "localsend/localsend", + "note": "", + "path": "/freedevtools/installerpedia/tool/localsend-localsend", + "post_installation": [ + "If you encounter issues with device visibility, configure your firewall to allow incoming TCP/UDP traffic on port 53317 and outgoing traffic on any port for LocalSend.", + "Ensure AP isolation is disabled on your router.", + "On Windows, set your network profile to 'Private' if it's currently 'Public'.", + "On macOS and iOS, you may need to toggle 'Local Network' permission in OS settings.", + "For portable mode, create an empty `settings.json` file in the same directory as the executable.", + "To start the app hidden (in the tray), use the `--hidden` flag (e.g., `localsend_app.exe --hidden`)." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Flutter SDK is required to build and run the application.", + "name": "Flutter", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Rust is required for certain build processes.", + "name": "Rust", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Git is needed to clone the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "source_build" + ], + "description": "Required for Linux Flatpak/Snap builds.", + "name": "xdg-desktop-portal", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "linux", + "source_build" + ], + "description": "Required for Linux Flatpak/Snap builds (GNOME/GTK environments).", + "name": "xdg-desktop-portal-gtk", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "linux", + "source_build" + ], + "description": "Required for Linux Flatpak/Snap builds (KDE environments).", + "name": "xdg-desktop-portal-kde", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "linux", + "source_build" + ], + "description": "Required for building AppImage on Linux.", + "name": "appimage-builder", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "production", + "development" + ], + "description": "Ensure AP isolation is disabled on your router and network is set to 'private' on Windows.", + "name": "network_configuration", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "windows", + "source_build" + ], + "description": "Flutter plugin for creating MSIX packages for Windows.", + "name": "msix", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides in-depth information about the communication protocol used by LocalSend, which might be relevant for advanced setup or troubleshooting.", + "title": "LocalSend Protocol Documentation", + "type": "documentation", + "url_or_path": "https://github.com/localsend/protocol" + }, + { + "reason": "External documentation for installing the Flutter SDK, a core prerequisite for building from source.", + "title": "Flutter Installation Guide", + "type": "documentation", + "url_or_path": "https://flutter.dev" + }, + { + "reason": "External documentation for installing the Rust toolchain, a prerequisite for building from source.", + "title": "Rust Installation Guide", + "type": "documentation", + "url_or_path": "https://www.rust-lang.org/tools/install" + }, + { + "reason": "Information on how to use fvm to manage Flutter versions, which is recommended for consistent development and building.", + "title": "fvm (Flutter Version Management) Documentation", + "type": "documentation", + "url_or_path": "https://fvm.app" + }, + { + "reason": "Contains specific instructions for building and packaging LocalSend as a Snap application on Linux.", + "title": "Snapcraft README for LocalSend", + "type": "documentation", + "url_or_path": "https://github.com/localsend/snap/blob/main/README.md" + } + ], + "stars": 70373 + }, + { + "altDescription": "the open - sourc aiop and alert manag platform", + "altName": "keephq / keep", + "category": "installerpedia", + "description": "The open-source AIOps and alert management platform", + "has_installation": false, + "id": "installerpedia-16", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/keephq/keep.git", + "meaning": "Clones the Keep repository to your local machine." + }, + { + "command": "cd keep", + "meaning": "Navigates into the cloned repository directory." + }, + { + "command": "docker compose up -d", + "meaning": "Builds and starts the Keep services in detached mode using Docker Compose. This will download necessary images and set up the environment for local development." + } + ], + "title": "Local Development with Docker Compose" + }, + { + "instructions": [ + { + "command": "kubectl apply -f https://docs.keephq.dev/deployment/kubernetes/installation", + "meaning": "Applies the Kubernetes manifest files to deploy Keep on your Kubernetes cluster. This command assumes you have kubectl configured to connect to your cluster." + } + ], + "title": "Kubernetes Deployment" + }, + { + "instructions": [ + { + "command": "https://docs.keephq.dev/deployment/ecs", + "meaning": "Follow the instructions at the provided URL for deploying Keep on AWS ECS. This typically involves setting up task definitions, services, and potentially load balancers." + } + ], + "title": "AWS ECS Deployment" + }, + { + "instructions": [ + { + "command": "https://docs.keephq.dev/deployment/kubernetes/openshift", + "meaning": "Follow the instructions at the provided URL for deploying Keep on OpenShift. This will guide you through the specific steps for the OpenShift environment." + } + ], + "title": "OpenShift Deployment" + } + ], + "name": "keephq/keep", + "note": "", + "path": "/freedevtools/installerpedia/server/keephq-keep", + "post_installation": [ + "Access the Keep UI at http://localhost:3000 (if running locally with Docker Compose).", + "Refer to the [platform documentation](https://docs.keephq.dev) for detailed configuration and integration steps.", + "Join the [Slack community](https://slack.keephq.dev) for support and to connect with other Keep users." + ], + "prerequisites": [ + { + "applies_to": [ + "docker_deploy" + ], + "description": "Docker is required to run Keep using Docker Compose.", + "name": "Docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Docker Compose is required to orchestrate the Keep services.", + "name": "Docker Compose", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Familiarity with Docker Compose is beneficial for deployment.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "kubernetes_deploy" + ], + "description": "Familiarity with Kubernetes is beneficial for Kubernetes deployment.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "aws_ecs_deploy" + ], + "description": "Familiarity with AWS ECS is beneficial for AWS ECS deployment.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "openshift_deploy" + ], + "description": "Familiarity with OpenShift is beneficial for OpenShift deployment.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides comprehensive documentation for Keep, including deployment, configuration, and integration details.", + "title": "Keep Platform Documentation", + "type": "documentation", + "url_or_path": "https://docs.keephq.dev" + }, + { + "reason": "Specific guide for getting started with local development.", + "title": "Running Keep locally", + "type": "documentation", + "url_or_path": "https://docs.keephq.dev/development/getting-started" + }, + { + "reason": "Detailed instructions for deploying Keep on Kubernetes.", + "title": "Running Keep on Kubernetes", + "type": "documentation", + "url_or_path": "https://docs.keephq.dev/deployment/kubernetes/installation" + }, + { + "reason": "Instructions for deploying Keep using Docker.", + "title": "Running Keep with Docker", + "type": "documentation", + "url_or_path": "https://docs.keephq.dev/deployment/docker" + }, + { + "reason": "Instructions for deploying Keep on AWS ECS.", + "title": "Running Keep on AWS ECS", + "type": "documentation", + "url_or_path": "https://docs.keephq.dev/deployment/ecs" + } + ], + "stars": 10915 + }, + { + "altDescription": "a toolchain for web project , aim to provid function to maintain them . biom offer formatt and linter , usabl via cli and lsp .", + "altName": "biomej / biom", + "category": "installerpedia", + "description": "A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.", + "has_installation": false, + "id": "installerpedia-17", + "installation_methods": [ + { + "instructions": [ + { + "command": "npm install --save-dev --save-exact @biomejs/biome", + "meaning": "Installs the Biome package as a development dependency in the current project. `--save-exact` ensures that the exact version is recorded in `package-lock.json`." + } + ], + "title": "Install via npm" + } + ], + "name": "biomejs/biome", + "note": "", + "path": "/freedevtools/installerpedia/tool/biomejs-biome", + "post_installation": [ + "After installation, you can use Biome commands via `npx`.", + "Example commands:", + "shell\n# format files\nnpx @biomejs/biome format --write\n\n# lint files and apply the safe fixes\nnpx @biomejs/biome lint --write\n\n# run format, lint, etc. and apply the safe fixes\nnpx @biomejs/biome check --write\n\n# check all files against format, lint, etc. in CI environments\nnpx @biomejs/biome ci\n" + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Node Package Manager, used for installing JavaScript packages.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development" + ], + "description": "Runtime environment for JavaScript. While Biome itself doesn't require Node.js to function, npm is used for installation, which is typically managed by Node.js.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides instructions on how to start using Biome.", + "title": "Getting Started guide", + "type": "documentation", + "url_or_path": "https://biomejs.dev/guides/getting-started/" + }, + { + "reason": "Explains how to install Biome without Node.js, which might be relevant for certain environments.", + "title": "Manual Installation guide", + "type": "documentation", + "url_or_path": "https://biomejs.dev/guides/manual-installation/" + }, + { + "reason": "Details the available linter rules, which are part of the tool's functionality.", + "title": "Biome Linter Rules", + "type": "documentation", + "url_or_path": "https://biomejs.dev/linter/javascript/rules/" + } + ], + "stars": 22229 + }, + { + "altDescription": "free cross - platform password manag compat with keepass", + "altName": "keeweb / keeweb", + "category": "installerpedia", + "description": "Free cross-platform password manager compatible with KeePass", + "has_installation": false, + "id": "installerpedia-18", + "installation_methods": [ + { + "instructions": [ + { + "command": "docker run -d --restart=unless-stopped -p 443:443 --name keeweb -v ${PWD}/keeweb:/config ghcr.io/keeweb/keeweb:latest", + "meaning": "Runs KeeWeb in a detached Docker container, restarts it automatically if it stops, maps host port 443 to container port 443, names the container 'keeweb', and mounts a local directory './keeweb' to '/config' inside the container for persistent storage. Uses the 'latest' tag from GitHub Container Registry." + }, + { + "command": "docker-compose up -d", + "meaning": "Starts KeeWeb using a docker-compose.yml file in detached mode. This assumes you have already created a docker-compose.yml file with the necessary configuration for KeeWeb." + } + ], + "title": "Docker Installation" + }, + { + "instructions": [ + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js dependencies required to build KeeWeb." + }, + { + "command": "grunt dev-desktop-win32 --skip-sign", + "meaning": "Builds a development version of the KeeWeb desktop application for Windows without code signing. The output will be in the 'dist/' folder." + }, + { + "command": "npm run dev-desktop-windows", + "meaning": "Builds a development version of the KeeWeb desktop application for Windows using an npm script. The output will be in the 'dist/' folder." + } + ], + "title": "Build from Source (Windows)" + }, + { + "instructions": [ + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js dependencies required to build KeeWeb." + }, + { + "command": "grunt dev-desktop-linux --skip-sign", + "meaning": "Builds a development version of the KeeWeb desktop application for Linux without code signing. The output will be in the 'dist/' folder." + }, + { + "command": "npm run dev-desktop-linux", + "meaning": "Builds a development version of the KeeWeb desktop application for Linux using an npm script. The output will be in the 'dist/' folder." + } + ], + "title": "Build from Source (Linux)" + }, + { + "instructions": [ + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js dependencies required to build KeeWeb." + }, + { + "command": "grunt dev-desktop-darwin --skip-sign", + "meaning": "Builds a development version of the KeeWeb desktop application for macOS without code signing. The output will be in the 'dist/' folder." + }, + { + "command": "npm run dev-desktop-macos", + "meaning": "Builds a development version of the KeeWeb desktop application for macOS using an npm script. The output will be in the 'dist/' folder." + } + ], + "title": "Build from Source (MacOS)" + }, + { + "instructions": [ + { + "command": "curl https://raw.githubusercontent.com/keeweb/keeweb/develop/dev-env.sh | bash -", + "meaning": "Downloads and executes a script to set up the development environment, including cloning all necessary KeeWeb repositories." + } + ], + "title": "Setup Development Environment" + } + ], + "name": "keeweb/keeweb", + "note": "", + "path": "/freedevtools/installerpedia/password-manager/keeweb-keeweb", + "post_installation": [ + "To run the desktop (electron) app without building an installer after building with `grunt`, use `npm run dev` or `npm run electron`.", + "To debug your build, run `npm run dev` and open `http://localhost:8085` in your browser.", + "After building from source, the output files will be generated in the `tmp` folder.", + "For Dropbox and GDrive support on self-hosted setups, refer to the [Wiki page](https://github.com/keeweb/keeweb/wiki/Dropbox-and-GDrive)." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build" + ], + "description": "Required for building KeeWeb from source. Consider using nvm for managing multiple Node.js versions.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": ">=20.9.0" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Node Version Manager, useful for installing and switching between different Node.js versions.", + "name": "nvm", + "optional": true, + "type": "tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Task runner used for building KeeWeb from source.", + "name": "grunt", + "optional": false, + "type": "tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Node Package Manager, used for installing dependencies and running build scripts.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Containerization platform used for self-hosting KeeWeb.", + "name": "docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Tool for defining and running multi-container Docker applications.", + "name": "docker-compose", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Command-line tool for transferring data with URLs, used here to download dev-env.sh.", + "name": "curl", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Version control system, implicitly required for cloning repositories.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Optional reverse proxy and load balancer for managing SSL certificates and routing traffic.", + "name": "Traefik", + "optional": false, + "type": "service", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Optional identity and access management solution for authentication.", + "name": "Authentik", + "optional": false, + "type": "service", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Required if using Cloudflare for DNS challenge with Traefik's ACME client.", + "name": "Cloudflare API credentials", + "optional": true, + "type": "environment", + "version": "" + } + ], + "repo_type": "password-manager", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions for self-hosting KeeWeb using Docker.", + "title": "docker/keeweb readme", + "type": "documentation", + "url_or_path": "https://github.com/keeweb/keeweb/tree/docker/keeweb" + }, + { + "reason": "Explains how to configure Dropbox and GDrive support for self-hosted KeeWeb instances.", + "title": "Dropbox and GDrive Wiki", + "type": "documentation", + "url_or_path": "https://github.com/keeweb/keeweb/wiki/Dropbox-and-GDrive" + }, + { + "reason": "Script to set up the development environment by cloning all KeeWeb repositories.", + "title": "dev-env.sh", + "type": "file", + "url_or_path": "https://raw.githubusercontent.com/keeweb/keeweb/develop/dev-env.sh" + }, + { + "reason": "Lists available DNS/SSL providers for Traefik's ACME client, relevant for SSL certificate generation.", + "title": "Traefik ACME Providers", + "type": "documentation", + "url_or_path": "https://doc.traefik.io/traefik/https/acme/#providers" + }, + { + "reason": "Provides a list of Cloudflare IP addresses, necessary for configuring Traefik's `trustedIPs` when behind Cloudflare proxy.", + "title": "Cloudflare IPs", + "type": "documentation", + "url_or_path": "https://cloudflare.com/ips/" + } + ], + "stars": 12722 + }, + { + "altDescription": "the most wide use python to c compil", + "altName": "cython / cython", + "category": "installerpedia", + "description": "The most widely used Python to C compiler", + "has_installation": false, + "id": "installerpedia-19", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install Cython", + "meaning": "Installs the Cython package using pip, the Python package installer. This is the recommended and simplest method if a C compiler is already available." + } + ], + "title": "Install using pip" + } + ], + "name": "cython/cython", + "note": "", + "path": "/freedevtools/installerpedia/library/cython-cython", + "post_installation": [ + "If you do not have a C compiler, please refer to the [installation page](https://docs.cython.org/en/latest/src/quickstart/install.html) for further instructions." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Cython is a Python compiler, and requires Python to be installed.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "global", + "source_build", + "development", + "production" + ], + "description": "A C compiler is required to compile the C code generated by Cython.", + "name": "C compiler", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "pip is the standard package installer for Python, used to install Cython.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides detailed installation instructions, especially for cases where a C compiler is not readily available.", + "title": "Cython Installation Page", + "type": "documentation", + "url_or_path": "https://docs.cython.org/en/latest/src/quickstart/install.html" + }, + { + "reason": "Official documentation for Cython, which may contain further setup and usage details.", + "title": "Cython Documentation", + "type": "documentation", + "url_or_path": "https://docs.cython.org/" + }, + { + "reason": "The source code repository, which might contain build scripts or further setup information.", + "title": "Cython Github Repository", + "type": "repo", + "url_or_path": "https://github.com/cython/cython" + }, + { + "reason": "The wiki may contain community-contributed installation tips or troubleshooting guides.", + "title": "Cython Github Wiki", + "type": "wiki", + "url_or_path": "https://github.com/cython/cython/wiki" + }, + { + "reason": "Contains licensing information, which is relevant for understanding usage and distribution.", + "title": "LICENSE.txt", + "type": "file", + "url_or_path": "https://github.com/cython/cython/blob/master/LICENSE.txt" + } + ], + "stars": 10446 + }, + { + "altDescription": "langchain - chatchat ( 原 langchain - chatglm ) 基 于 langchain 与 chatglm , qwen 与 llama 等 语 言 模 型 的 rag 与 agent 应 用 | langchain - chatchat ( former langchain - chatglm ) , local knowledg base llm ( like chatglm , qwen and llama ) rag and agent app with langchain", + "altName": "chatchat - space / langchain - chatchat", + "category": "installerpedia", + "description": "Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain ", + "has_installation": false, + "id": "installerpedia-20", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install langchain-chatchat -U", + "meaning": "Installs the latest version of the langchain-chatchat Python package. The -U flag ensures that if an older version is already installed, it will be upgraded." + }, + { + "command": "pip install \"langchain-chatchat[xinference]\" -U", + "meaning": "Installs langchain-chatchat along with extra dependencies required for Xinference model deployment framework integration. This is recommended if you plan to use Xinference." + } + ], + "title": "Install Langchain-Chatchat as a Python Library" + }, + { + "instructions": [ + { + "command": "docker pull chatimage/chatchat:0.3.1.3-93e2c87-20240829", + "meaning": "Pulls the official Docker image for Langchain-Chatchat version 0.3.1.3 from the chatimage registry." + }, + { + "command": "docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-93e2c87-20240829", + "meaning": "Pulls the official Docker image for Langchain-Chatchat version 0.3.1.3 from a Tencent Cloud registry, which might be faster for users in China." + } + ], + "title": "Docker Deployment" + }, + { + "instructions": [ + { + "command": "export CHATCHAT_ROOT=/path/to/chatchat_data", + "meaning": "Sets the CHATCHAT_ROOT environment variable on Linux/macOS to specify the root directory for Chatchat configuration and data files. If not set, the current directory will be used." + }, + { + "command": "set CHATCHAT_ROOT=/path/to/chatchat_data", + "meaning": "Sets the CHATCHAT_ROOT environment variable on Windows to specify the root directory for Chatchat configuration and data files. If not set, the current directory will be used." + }, + { + "command": "chatchat init", + "meaning": "Initializes the Chatchat project by creating necessary data directories, copying sample knowledge base content, and generating default YAML configuration files." + } + ], + "title": "Initialize Project Configuration and Data Directory" + }, + { + "instructions": [ + { + "command": "chatchat kb -r", + "meaning": "Rebuilds or initializes the knowledge base. This command processes files to create vector embeddings for efficient retrieval. Ensure your model inference framework and embedding model are running and configured before executing this command." + } + ], + "title": "Initialize Knowledge Base" + }, + { + "instructions": [ + { + "command": "chatchat start -a", + "meaning": "Starts the Langchain-Chatchat application. The -a flag typically enables all features or starts the application in a comprehensive mode. By default, it listens on 127.0.0.1, which may require modification in `basic_settings.yaml` to `0.0.0.0` for external access." + } + ], + "title": "Start the Project" + } + ], + "name": "chatchat-space/Langchain-Chatchat", + "note": "", + "path": "/freedevtools/installerpedia/library/chatchat-space-Langchain-Chatchat", + "post_installation": [ + "Configure model settings in `model_settings.yaml` to match your chosen model inference framework and loaded models (LLM, Embedding, Reranker).", + "Optionally, modify `basic_settings.yaml` to change the knowledge base path or database connection URI.", + "Optionally, configure knowledge base type and settings in `kb_settings.yaml` if not using the default FAISS.", + "Ensure your chosen model inference framework (e.g., Xinference, Ollama) is running and has the desired models loaded before initializing the knowledge base or starting the application.", + "If you need to access the application from other machines, modify `DEFAULT_BIND_HOST` in `basic_settings.yaml` from `127.0.0.1` to `0.0.0.0`.", + "For database chat functionality, refer to the [database chat configuration guide](docs/install/README_text2sql.md)." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "Python 3.8 to 3.11 is supported.", + "name": "Python", + "optional": false, + "type": "language", + "version": "3.8-3.11" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "Python package installer.", + "name": "pip", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Environment and package manager, recommended for managing dependencies and avoiding conflicts.", + "name": "conda", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Python virtual environment tool, recommended for managing dependencies and avoiding conflicts.", + "name": "venv", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Python virtual environment tool, recommended for managing dependencies and avoiding conflicts.", + "name": "virtualenv", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "Required for file parsing on Windows, especially when creating or adding to knowledge bases. Specific versions might be needed to resolve issues.", + "name": "python-magic-bin", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "A separate model inference framework (e.g., Xinference, Ollama, LocalAI, FastChat, One API) is required to load and serve LLM, Embedding, and other models. This project integrates with these frameworks via API.", + "name": "Model Inference Framework", + "optional": false, + "type": "other", + "version": "" + }, + { + "applies_to": [ + "global" + ], + "description": "Models compatible with the chosen inference framework are needed for chat, embedding, and reranking functionalities.", + "name": "LLM, Embedding, Reranker Models", + "optional": false, + "type": "other", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides the English version of the README, which may contain installation details.", + "title": "README_en.md", + "type": "documentation", + "url_or_path": "README_en.md" + }, + { + "reason": "Contains development and deployment related information, likely including build-from-source instructions.", + "title": "README_dev.md", + "type": "documentation", + "url_or_path": "docs/contributing/README_dev.md" + }, + { + "reason": "Provides detailed instructions for deploying the project using Docker.", + "title": "README_docker.md", + "type": "documentation", + "url_or_path": "docs/install/README_docker.md" + }, + { + "reason": "External documentation for Xinference, a supported model deployment framework, which is crucial for setting up the model inference environment.", + "title": "Xinference Documentation", + "type": "documentation", + "url_or_path": "https://inference.readthedocs.io/zh-cn/latest/getting_started/installation.html" + }, + { + "reason": "Contains specific configuration instructions for database chat functionality.", + "title": "README_text2sql.md", + "type": "documentation", + "url_or_path": "docs/install/README_text2sql.md" + } + ], + "stars": 36565 + }, + { + "altDescription": "ongo research train transform model at scale", + "altName": "nvidia / megatron - lm", + "category": "installerpedia", + "description": "Ongoing research training transformer models at scale", + "has_installation": false, + "id": "installerpedia-21", + "installation_methods": [ + { + "instructions": [ + { + "command": "docker run --runtime --nvidia --gpus all -it --rm -v /path/to/megatron:/workspace/megatron -v /path/to/dataset:/workspace/dataset -v /path/to/checkpoints:/workspace/checkpoints -e PIP_CONSTRAINT= nvcr.io/nvidia/pytorch:25.04-py3", + "meaning": "Runs a Docker container with NVIDIA GPU support, mounting local directories for code, datasets, and checkpoints. The PIP_CONSTRAINT environment variable is unset to allow flexible pip installations within the container." + } + ], + "title": "Docker Installation (Recommended)" + }, + { + "instructions": [ + { + "command": "pip install \"setuptools<80.0.0,>=77.0.0\" \"packaging>=24.2\"", + "meaning": "Installs specific versions of setuptools and packaging, which are required for building and installing Megatron Core." + }, + { + "command": "pip install --no-build-isolation megatron-core[dev]", + "meaning": "Installs Megatron Core with development dependencies. --no-build-isolation ensures that the build process does not interfere with the existing Python environment." + } + ], + "title": "Pip Installation (Latest Release Dependencies)" + }, + { + "instructions": [ + { + "command": "pip install \"setuptools<80.0.0,>=77.0.0\" \"packaging>=24.2\"", + "meaning": "Installs specific versions of setuptools and packaging, which are required for building and installing Megatron Core." + }, + { + "command": "pip install --no-build-isolation megatron-core[mlm,dev]", + "meaning": "Installs Megatron Core with 'mlm' (Megatron-LM application) and 'dev' dependencies. --no-build-isolation ensures that the build process does not interfere with the existing Python environment." + } + ], + "title": "Pip Installation (Latest Release Dependencies for MLM Application)" + }, + { + "instructions": [ + { + "command": "pip install \"setuptools<80.0.0,>=77.0.0\" \"packaging>=24.2\"", + "meaning": "Installs specific versions of setuptools and packaging, which are required for building and installing Megatron Core." + }, + { + "command": "pip install --no-build-isolation megatron-core[lts]", + "meaning": "Installs Megatron Core with Long-Term Support (LTS) dependencies, compatible with NGC PyTorch 24.01. --no-build-isolation ensures that the build process does not interfere with the existing Python environment." + } + ], + "title": "Pip Installation (LTS Support)" + }, + { + "instructions": [ + { + "command": "pip install \"setuptools<80.0.0,>=77.0.0\" \"packaging>=24.2\"", + "meaning": "Installs specific versions of setuptools and packaging, which are required for building and installing Megatron Core." + }, + { + "command": "pip install --no-build-isolation megatron-core[mlm,lts]", + "meaning": "Installs Megatron Core with 'mlm' (Megatron-LM application) and 'lts' (Long-Term Support) dependencies, compatible with NGC PyTorch 24.01. --no-build-isolation ensures that the build process does not interfere with the existing Python environment." + } + ], + "title": "Pip Installation (LTS Support for MLM Application)" + }, + { + "instructions": [ + { + "command": "pip install megatron-core", + "meaning": "Installs only the core Megatron Core library without additional dependencies." + } + ], + "title": "Pip Installation (Core Only)" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/NVIDIA/Megatron-LM.git", + "meaning": "Clones the Megatron-LM repository from GitHub to your local machine." + }, + { + "command": "cd Megatron-LM", + "meaning": "Navigates into the cloned Megatron-LM directory." + }, + { + "command": "pip install --no-build-isolation .[mlm,dev]", + "meaning": "Installs Megatron-LM from the local source code, including 'mlm' and 'dev' dependencies. --no-build-isolation ensures that the build process does not interfere with the existing Python environment." + } + ], + "title": "Clone Repository and Install" + } + ], + "name": "NVIDIA/Megatron-LM", + "note": "", + "path": "/freedevtools/installerpedia/library/NVIDIA-Megatron-LM", + "post_installation": [ + "Ensure your environment has compatible hardware (NVIDIA Hopper, Ada, Blackwell GPUs recommended) and software (CUDA, cuDNN, NCCL, PyTorch, Transformer Engine).", + "For running examples, you may need to prepare data using the provided preprocessing tools.", + "Refer to the 'Training' section for examples on how to start training models." + ], + "prerequisites": [ + { + "applies_to": [ + "docker_deploy" + ], + "description": "Docker is recommended for an optimized and pre-configured environment.", + "name": "docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Python 3.12 is recommended for optimal compatibility.", + "name": "python", + "optional": false, + "type": "language", + "version": "3.12" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "CUDA toolkit is required for GPU acceleration.", + "name": "cuda", + "optional": false, + "type": "system_package", + "version": "latest stable" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "cuDNN library is required for deep neural network acceleration.", + "name": "cudnn", + "optional": false, + "type": "system_package", + "version": "latest stable" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "NCCL library is required for multi-GPU communication.", + "name": "nccl", + "optional": false, + "type": "system_package", + "version": "latest stable" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "PyTorch is the core deep learning framework.", + "name": "pytorch", + "optional": false, + "type": "library", + "version": "latest stable" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Transformer Engine provides optimized kernels and FP8 mixed precision support.", + "name": "transformer-engine", + "optional": false, + "type": "library", + "version": "latest stable" + }, + { + "applies_to": [ + "global", + "development" + ], + "description": "Pip is used for installing Python packages.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development" + ], + "description": "Git is used for cloning the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides details on Docker, pip variants, source installation, and system requirements.", + "title": "Complete Installation Guide", + "type": "documentation", + "url_or_path": "#installation" + }, + { + "reason": "Official documentation for Megatron Core, likely containing detailed installation and setup instructions.", + "title": "Documentation", + "type": "documentation", + "url_or_path": "https://docs.nvidia.com/Megatron-Core/" + }, + { + "reason": "Recommended container for optimal compatibility with Megatron Core releases.", + "title": "PyTorch NGC Container", + "type": "repo", + "url_or_path": "https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch" + }, + { + "reason": "Contains release information which might be relevant for compatibility and installation.", + "title": "CHANGELOG.md", + "type": "file", + "url_or_path": "./CHANGELOG.md" + }, + { + "reason": "License information, important for understanding usage rights.", + "title": "LICENSE", + "type": "file", + "url_or_path": "./LICENSE" + } + ], + "stars": 14211 + }, + { + "altDescription": "drop in a screenshot and convert it to clean code ( html / tailwind / react / vue )", + "altName": "abi / screenshot - to - code", + "category": "installerpedia", + "description": "Drop in a screenshot and convert it to clean code (HTML/Tailwind/React/Vue)", + "has_installation": false, + "id": "installerpedia-22", + "installation_methods": [ + { + "instructions": [ + { + "command": "echo \"OPENAI_API_KEY=sk-your-key\" > .env", + "meaning": "Creates a .env file in the root directory and sets the OpenAI API key. Replace 'sk-your-key' with your actual OpenAI API key." + }, + { + "command": "docker-compose up -d --build", + "meaning": "Builds the Docker images and starts the application in detached mode. This command assumes you are in the root directory of the repository." + } + ], + "title": "Docker Installation" + }, + { + "instructions": [ + { + "command": "cd backend", + "meaning": "Navigates into the backend directory." + }, + { + "command": "echo \"OPENAI_API_KEY=sk-your-key\" > .env", + "meaning": "Creates a .env file in the backend directory and sets the OpenAI API key. Replace 'sk-your-key' with your actual OpenAI API key." + }, + { + "command": "echo \"ANTHROPIC_API_KEY=your-key\" > .env", + "meaning": "Creates a .env file in the backend directory and sets the Anthropic API key. Replace 'your-key' with your actual Anthropic API key. This is optional." + }, + { + "command": "poetry install", + "meaning": "Installs all Python dependencies for the backend using Poetry." + }, + { + "command": "poetry shell", + "meaning": "Activates the Poetry virtual environment for the backend." + }, + { + "command": "poetry run uvicorn main:app --reload --port 7001", + "meaning": "Starts the FastAPI backend server with hot-reloading on port 7001. This command should be run from within the activated Poetry shell." + }, + { + "command": "cd ../frontend", + "meaning": "Navigates into the frontend directory." + }, + { + "command": "yarn", + "meaning": "Installs all Node.js dependencies for the frontend using Yarn." + }, + { + "command": "yarn dev", + "meaning": "Starts the Vite development server for the frontend." + } + ], + "title": "Local Development Setup" + }, + { + "instructions": [ + { + "command": "cd backend", + "meaning": "Navigates into the backend directory." + }, + { + "command": "MOCK=true poetry run uvicorn main:app --reload --port 7001", + "meaning": "Starts the FastAPI backend server in mock mode, which streams pre-recorded responses instead of calling AI models. This is useful for debugging without consuming API credits. This command should be run from within the activated Poetry shell." + } + ], + "title": "Backend Mock Mode" + } + ], + "name": "abi/screenshot-to-code", + "note": "", + "path": "/freedevtools/installerpedia/tool/abi-screenshot-to-code", + "post_installation": [ + "Open http://localhost:5173 in your web browser to use the application.", + "If you prefer to run the backend on a different port, update VITE_WS_BACKEND_URL in `frontend/.env.local`.", + "You can also set up API keys using the settings dialog on the front-end (click the gear icon after loading the frontend)." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "backend" + ], + "description": "Required for the backend API.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "backend" + ], + "description": "Used for managing Python dependencies in the backend.", + "name": "Poetry", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "frontend" + ], + "description": "Required for the frontend development server.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "frontend" + ], + "description": "Used for managing Node.js dependencies in the frontend.", + "name": "Yarn", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Required for the Docker-based installation method.", + "name": "Docker", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "docker_deploy" + ], + "description": "Required for the backend to interact with OpenAI models (e.g., GPT-4o).", + "name": "OpenAI API key", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "docker_deploy" + ], + "description": "Optional, but recommended for comparing results with Claude models.", + "name": "Anthropic API key", + "optional": true, + "type": "environment", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Contains information on how to get an OpenAI API key, which is a prerequisite for running the application.", + "title": "Troubleshooting.md", + "type": "documentation", + "url_or_path": "https://github.com/abi/screenshot-to-code/blob/main/Troubleshooting.md" + }, + { + "reason": "Provides details on an experimental feature, which might involve specific setup or runtime considerations.", + "title": "Screen Recording to Code", + "type": "wiki", + "url_or_path": "https://github.com/abi/screenshot-to-code/wiki/Screen-Recording-to-Code" + }, + { + "reason": "Instructions for running the app with Ollama, an alternative setup method.", + "title": "Ollama open source models setup", + "type": "issue_comment", + "url_or_path": "https://github.com/abi/screenshot-to-code/issues/354#issuecomment-2435479853" + }, + { + "reason": "Provides a solution for a common backend setup error.", + "title": "Backend setup error fix", + "type": "issue_comment", + "url_or_path": "https://github.com/abi/screenshot-to-code/issues/3#issuecomment-1814777959" + } + ], + "stars": 71179 + }, + { + "altDescription": "《 一 起 学 node.j 》", + "altName": "nswbmw / n - blog", + "category": "installerpedia", + "description": "《一起学 Node.js》", + "has_installation": false, + "id": "installerpedia-23", + "installation_methods": [ + { + "instructions": [ + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js packages (dependencies) listed in the project's package.json file. This is a standard step for Node.js projects to ensure all required libraries are available." + } + ], + "title": "Install Dependencies" + }, + { + "instructions": [ + { + "command": "npm start", + "meaning": "Starts the N-blog application. This command typically executes a script defined in package.json, which will launch the Express server and make the blog accessible." + } + ], + "title": "Start the Blog" + } + ], + "name": "nswbmw/N-blog", + "note": "", + "path": "/freedevtools/installerpedia/server/nswbmw-N-blog", + "post_installation": [ + "Ensure MongoDB is running and accessible.", + "The blog will be accessible at http://localhost:3000 (default port, may vary based on configuration)." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "production" + ], + "description": "JavaScript runtime environment required for running the blog application.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "8.9.1" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "NoSQL database used for storing blog data.", + "name": "MongoDB", + "optional": false, + "type": "service", + "version": "3.4.10" + }, + { + "applies_to": [ + "development" + ], + "description": "Node Package Manager, used for installing project dependencies.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions on installing and using Node.js, which is a core prerequisite.", + "title": "Node.js 的安装与使用", + "type": "documentation", + "url_or_path": "https://github.com/nswbmw/N-blog/blob/master/book/1.1%20Node.js%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md" + }, + { + "reason": "Contains instructions for installing and setting up MongoDB, a required database for the blog.", + "title": "MongoDB 的安装与使用", + "type": "documentation", + "url_or_path": "https://github.com/nswbmw/N-blog/blob/master/book/1.2%20MongoDB%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md" + }, + { + "reason": "Specifically mentions installing dependency modules, which is a key part of the setup process.", + "title": "安装依赖模块", + "type": "documentation", + "url_or_path": "https://github.com/nswbmw/N-blog/blob/master/book/4.2%20%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C.md#422-%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%97%E6%A8%A1%E5%9D%97" + }, + { + "reason": "Covers deployment strategies, which might include steps relevant to setting up the application in a production environment.", + "title": "部署", + "type": "documentation", + "url_or_path": "https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md" + } + ], + "stars": 15430 + }, + { + "altDescription": "parallel comput with task schedul", + "altName": "dask / dask", + "category": "installerpedia", + "description": "Parallel computing with task scheduling", + "has_installation": false, + "id": "installerpedia-24", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install dask", + "meaning": "Installs the Dask library and its core dependencies using pip, Python's package installer. This command fetches the latest stable version of Dask from the Python Package Index (PyPI) and installs it into your current Python environment." + } + ], + "title": "Install using pip (Recommended)" + } + ], + "name": "dask/dask", + "note": "", + "path": "/freedevtools/installerpedia/library/dask-dask", + "post_installation": [ + "You can now import Dask in your Python scripts or notebooks.", + "For example: `import dask.array as da` or `import dask.dataframe as dd`." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Dask is a Python library, so Python is required to install and run it.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "pip is the standard package installer for Python, used to install Dask from PyPI.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "The official documentation provides comprehensive information on installation, usage, and advanced topics.", + "title": "Dask Documentation", + "type": "documentation", + "url_or_path": "https://dask.org" + }, + { + "reason": "Provides licensing information, which might be relevant for deployment or redistribution.", + "title": "LICENSE.txt", + "type": "file", + "url_or_path": "https://github.com/dask/dask/blob/main/LICENSE.txt" + } + ], + "stars": 13595 + }, + { + "altDescription": "main repositori for the linera protocol", + "altName": "linera - io / linera - protocol", + "category": "installerpedia", + "description": "Main repository for the Linera protocol", + "has_installation": false, + "id": "installerpedia-25", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/linera-io/linera-protocol.git", + "meaning": "Clones the Linera protocol repository from GitHub to your local machine." + }, + { + "command": "cd linera-protocol", + "meaning": "Navigates into the cloned repository directory." + }, + { + "command": "cargo build -p linera-storage-service -p linera-service --bins", + "meaning": "Compiles the `linera-storage-service` and `linera-service` binaries. This step is crucial for building the command-line interface and other essential services." + }, + { + "command": "export PATH=\"$PWD/target/debug:$PATH\"", + "meaning": "Adds the directory containing the compiled Linera binaries to your system's PATH environment variable. This allows you to run Linera commands from any location in your terminal." + } + ], + "title": "Build from Source and Add to PATH" + } + ], + "name": "linera-io/linera-protocol", + "note": "", + "path": "/freedevtools/installerpedia/cli/linera-io-linera-protocol", + "post_installation": [ + "Ensure the `LINERA_TMP_DIR`, `LINERA_WALLET`, `LINERA_KEYSTORE`, and `LINERA_STORAGE` environment variables are set as per the quickstart guide for proper operation of the Linera CLI.", + "The quickstart guide demonstrates setting up a local test network, requesting chains, and performing transfers. Follow these steps to verify the installation and begin using the Linera CLI." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Rust programming language toolchain is required for building the Linera protocol.", + "name": "Rust", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Git is needed to clone the repository and manage code.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Make is often used for build automation, though not explicitly called in the quickstart, it's a common build tool.", + "name": "make", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "Curl is used to download files or scripts, as seen in the `source /dev/stdin <<<\"$(linera net helper 2>/dev/null)\"` command.", + "name": "curl", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "Bash shell is required for executing the provided shell commands and scripts.", + "name": "bash", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "Environment variable to specify a temporary directory for Linera's runtime data.", + "name": "LINERA_TMP_DIR", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "Environment variable to specify the path to the Linera wallet file.", + "name": "LINERA_WALLET", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "Environment variable to specify the path to the Linera keystore file.", + "name": "LINERA_KEYSTORE", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "Environment variable to specify the storage backend for the Linera client.", + "name": "LINERA_STORAGE", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "cli_usage" + ], + "description": "RocksDB is a key-value store used as a storage backend for the Linera client.", + "name": "rocksdb", + "optional": false, + "type": "system_package", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "Contains software requirements for developing in the repository, which are essential for installation.", + "title": "INSTALL.md", + "type": "file", + "url_or_path": "./INSTALL.md" + }, + { + "reason": "Provides more in-depth documentation, including setup and usage guides.", + "title": "Linera Developer Page", + "type": "documentation", + "url_or_path": "https://linera.dev" + }, + { + "reason": "This repository is mentioned as using the `linera-client` library, suggesting it might have related setup or integration details.", + "title": "linera-web", + "type": "repo", + "url_or_path": "https://github.com/linera-io/linera-web/" + }, + { + "reason": "Contains examples of Linera applications, which may include specific setup or build instructions relevant to the protocol.", + "title": "Example Applications", + "type": "guide", + "url_or_path": "./examples" + } + ], + "stars": 31854 + }, + { + "altDescription": "a virtual dom and dif algorithm", + "altName": "matt - esch / virtual - dom", + "category": "installerpedia", + "description": "A Virtual DOM and diffing algorithm", + "has_installation": false, + "id": "installerpedia-26", + "installation_methods": [ + { + "instructions": [ + { + "command": "npm install virtual-dom", + "meaning": "Installs the virtual-dom package and its dependencies from the npm registry into the 'node_modules' directory of your project. This is the standard way to add libraries to a Node.js project." + } + ], + "title": "Install via npm" + } + ], + "name": "Matt-Esch/virtual-dom", + "note": "", + "path": "/freedevtools/installerpedia/library/Matt-Esch-virtual-dom", + "post_installation": [ + "After installation, you can require the library in your JavaScript code:", + "javascript", + "var h = require('virtual-dom/h');", + "var diff = require('virtual-dom/diff');", + "var patch = require('virtual-dom/patch');", + "var createElement = require('virtual-dom/create-element');", + "" + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "JavaScript runtime environment required for installing and running Node.js packages.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Node Package Manager, used to install JavaScript dependencies.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Contains documentation for create-element.js and patch.js, which are core components of virtual-dom.", + "title": "vdom README", + "type": "documentation", + "url_or_path": "vdom/README.md" + }, + { + "reason": "Contains documentation for diff.js, which is a core component of virtual-dom.", + "title": "vtree README", + "type": "documentation", + "url_or_path": "vtree/README.md" + }, + { + "reason": "Contains documentation for h.js, which is used for creating virtual DOM trees.", + "title": "virtual-hyperscript README", + "type": "documentation", + "url_or_path": "virtual-hyperscript/README.md" + }, + { + "reason": "Provides type signatures for the modules, which can be helpful for understanding how to use them and for development.", + "title": "javascript signature definition", + "type": "file", + "url_or_path": "docs.jsig" + }, + { + "reason": "Provides background context and inspiration for the virtual-dom project.", + "title": "Original motivation gist", + "type": "documentation", + "url_or_path": "https://gist.github.com/Raynos/8414846" + } + ], + "stars": 12003 + }, + { + "altDescription": "keycastr , an open - sourc keystrok visual", + "altName": "keycastr / keycastr", + "category": "installerpedia", + "description": "KeyCastr, an open-source keystroke visualizer", + "has_installation": false, + "id": "installerpedia-27", + "installation_methods": [ + { + "instructions": [ + { + "command": "open https://github.com/keycastr/keycastr/releases", + "meaning": "Opens the GitHub releases page in a web browser, where you can download the latest version of KeyCastr." + } + ], + "title": "Download Latest Release" + }, + { + "instructions": [ + { + "command": "brew install --cask keycastr", + "meaning": "Installs KeyCastr as a macOS application using the Homebrew package manager. This command downloads and installs the application to your system." + } + ], + "title": "Install using Homebrew Cask" + } + ], + "name": "keycastr/keycastr", + "note": "", + "path": "/freedevtools/installerpedia/cli/keycastr-keycastr", + "post_installation": [ + "After installation, KeyCastr requires permissions to monitor keystrokes and mouse clicks. You will be prompted to grant these permissions via macOS's Security & Privacy settings (Input Monitoring and Accessibility).", + "Follow the on-screen prompts or manually navigate to System Preferences > Security & Privacy > Input Monitoring and/or Accessibility to enable KeyCastr.", + "If the window is offscreen, you can reposition it by clicking and dragging the displayed keystrokes." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "macos", + "binary_install", + "cli_usage" + ], + "description": "KeyCastr is designed for macOS.", + "name": "macOS", + "optional": false, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "macos", + "cli_usage" + ], + "description": "Homebrew is used for installing the KeyCastr application via cask.", + "name": "homebrew", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "macos", + "cli_usage" + ], + "description": "Required to grant Input Monitoring and Accessibility permissions for KeyCastr to function.", + "name": "System Preferences", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "Primary source for downloading the latest release binaries.", + "title": "GitHub Releases", + "type": "documentation", + "url_or_path": "https://github.com/keycastr/keycastr/releases" + }, + { + "reason": "External documentation for Homebrew, the package manager used for installation.", + "title": "Homebrew", + "type": "documentation", + "url_or_path": "http://brew.sh/" + }, + { + "reason": "Mentioned in security concerns, relevant for understanding application update mechanisms.", + "title": "Sparkle framework", + "type": "documentation", + "url_or_path": "https://sparkle-project.org/" + } + ], + "stars": 14307 + }, + { + "altDescription": "kalman filter book use jupyt notebook . focus on build intuit and experi , not formal proof . includ kalman filter , extend kalman filter , unscent kalman filter , particl filter , and more . all exercis includ solut .", + "altName": "rlabb / kalman - and - bayesian - filter - in - python", + "category": "installerpedia", + "description": "Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, unscented Kalman filters, particle filters, and more. All exercises include solutions.", + "has_installation": false, + "id": "installerpedia-28", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone --depth=1 https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python.git", + "meaning": "Clones the repository containing the book's notebooks and supporting code. The --depth=1 option fetches only the latest commit, reducing download size." + }, + { + "command": "pip install filterpy", + "meaning": "Installs the 'filterpy' Python library, which contains the code and algorithms used throughout the book. This command uses pip, the Python package installer." + } + ], + "title": "Clone Repository and Install FilterPy" + }, + { + "instructions": [ + { + "command": "conda env update -f environment.yml", + "meaning": "Creates a dedicated Conda environment for the book's dependencies using the provided 'environment.yml' file. This isolates the book's environment from other Python projects." + }, + { + "command": "conda activate kf_bf", + "meaning": "Activates the newly created Conda environment named 'kf_bf', making its Python interpreter and installed packages available for use." + } + ], + "title": "Install using Conda (Alternative)" + } + ], + "name": "rlabbe/Kalman-and-Bayesian-Filters-in-Python", + "note": "", + "path": "/freedevtools/installerpedia/study-material/rlabbe-Kalman-and-Bayesian-Filters-in-Python", + "post_installation": [ + "Navigate to the cloned directory.", + "Run `jupyter notebook` to launch the interactive book environment in your browser.", + "To deactivate the conda environment, run `conda deactivate kf_bf`." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "learning" + ], + "description": "The primary programming language used for the book's code examples and supporting libraries.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "learning" + ], + "description": "Python's package installer, used to install the 'filterpy' library and other dependencies.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "learning" + ], + "description": "Version control system used to clone the repository containing the book's notebooks and code.", + "name": "git", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "learning" + ], + "description": "An interactive, browser-based system for combining text, code, and output, used to present the book's content.", + "name": "Jupyter Notebook", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "development", + "learning" + ], + "description": "The companion Python library for Bayesian filtering, containing implementations of various filters used in the book.", + "name": "filterpy", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "development", + "learning" + ], + "description": "Optional environment management system that can be used to set up a dedicated environment for the book's dependencies.", + "name": "conda", + "optional": true, + "type": "environment", + "version": "" + } + ], + "repo_type": "study-material", + "resources_of_interest": [ + { + "reason": "Contains detailed instructions for installing the IPython ecosystem, which is required to run the book interactively.", + "title": "Appendix-A-Installation.ipynb", + "type": "documentation", + "url_or_path": "Appendix-A-Installation.ipynb" + }, + { + "reason": "Provides the source code for the companion Python library, which may contain additional installation details or usage examples.", + "title": "filterpy GitHub repository", + "type": "repo", + "url_or_path": "https://github.com/rlabbe/filterpy" + }, + { + "reason": "External documentation for installing pip, which is a prerequisite for installing the 'filterpy' library if it's not already present.", + "title": "pip installation guide", + "type": "documentation", + "url_or_path": "https://pip.pypa.io/en/latest/installing.html" + } + ], + "stars": 18426 + }, + { + "altDescription": "the fastest way to build beauti electron app use simpl html and css", + "altName": "connor / photon", + "category": "installerpedia", + "description": "The fastest way to build beautiful Electron apps using simple HTML and CSS", + "has_installation": false, + "id": "installerpedia-29", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/connors/photon.git", + "meaning": "Clones the Photon repository from GitHub to your local machine. This is the first step to get the source code." + } + ], + "title": "Clone Repository" + }, + { + "instructions": [ + { + "command": "npm install", + "meaning": "Installs all the Node.js dependencies required for development and building the UI toolkit. This command reads the `package.json` file and downloads the necessary packages." + } + ], + "title": "Development Setup" + }, + { + "instructions": [ + { + "command": "npm run build", + "meaning": "Compiles the source Sass files into the `photon.css` file. This is typically run when you are modifying the UI toolkit's styles." + } + ], + "title": "Build Photon CSS (for development)" + }, + { + "instructions": [ + { + "command": "npm start", + "meaning": "Starts the example Electron application. This is useful for testing and seeing Photon in action." + } + ], + "title": "Run Example App" + }, + { + "instructions": [ + { + "command": "gem install rouge", + "meaning": "Installs the Rouge gem, a syntax highlighter required by Jekyll for rendering documentation." + }, + { + "command": "jekyll serve", + "meaning": "Builds and serves the documentation locally. This command requires Jekyll to be installed and configured." + } + ], + "title": "Run Documentation Locally" + } + ], + "name": "connors/photon", + "note": "", + "path": "/freedevtools/installerpedia/library/connors-photon", + "post_installation": [ + "Open in your browser to view the locally running documentation.", + "The `template-app` directory contains a basic structure to start building your Electron application with Photon." + ], + "prerequisites": [ + { + "applies_to": [ + "global" + ], + "description": "Used to clone the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "development", + "source_build" + ], + "description": "Node Package Manager, used for installing Node.js dependencies and running build scripts.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "docs_build" + ], + "description": "Static site generator used for building the documentation locally.", + "name": "Jekyll", + "optional": true, + "type": "build_tool", + "version": "v2.5.x" + }, + { + "applies_to": [ + "docs_build" + ], + "description": "Required by Jekyll and its associated gems.", + "name": "Ruby", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "docs_build" + ], + "description": "Ruby package manager, used to install Jekyll plugins like Rouge.", + "name": "gem", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "docs_build" + ], + "description": "Ruby-based syntax highlighter used by Jekyll.", + "name": "Rouge", + "optional": true, + "type": "library", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides detailed information about Photon components and how to start a new application.", + "title": "Photon Documentation", + "type": "documentation", + "url_or_path": "http://photonkit.com" + }, + { + "reason": "Instructions on how to install Jekyll, a prerequisite for running the documentation locally.", + "title": "Jekyll Installation Guide", + "type": "documentation", + "url_or_path": "http://jekyllrb.com/docs/installation" + }, + { + "reason": "Specific guidance for Windows users to install Jekyll.", + "title": "Unofficial Jekyll Windows Guide", + "type": "documentation", + "url_or_path": "http://jekyll-windows.juthilo.com/" + }, + { + "reason": "The source repository for Rouge, a Ruby-based syntax highlighter used by Jekyll.", + "title": "Rouge GitHub Repository", + "type": "repo", + "url_or_path": "https://github.com/jneen/rouge" + }, + { + "reason": "General documentation for Jekyll, useful for understanding its features and configuration.", + "title": "Jekyll Documentation", + "type": "documentation", + "url_or_path": "http://jekyllrb.com/docs/home/" + } + ], + "stars": 10059 + }, + { + "altDescription": "本 项 目 是 一 个 面 向 小 白 开 发 者 的 大 模 型 应 用 开 发 教 程 , 在 线 阅 读 地 址 : https : / / datawhalechina.github.io / llm - univers /", + "altName": "datawhalechina / llm - univers", + "category": "installerpedia", + "description": "本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/", + "has_installation": false, + "id": "installerpedia-30", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/datawhalechina/llm-universe.git", + "meaning": "Clones the LLM Universe repository from GitHub to your local machine." + }, + { + "command": "cd llm-universe", + "meaning": "Navigates into the cloned repository directory." + } + ], + "title": "Clone the Repository" + }, + { + "instructions": [ + { + "command": "pip install -r requirements.txt", + "meaning": "Installs all the necessary Python packages listed in the requirements.txt file using pip. This sets up the project's environment." + } + ], + "title": "Install Dependencies" + }, + { + "instructions": [ + { + "command": "Follow the guide in C1.5: 阿里云服务器的基本使用", + "meaning": "Instructions for setting up and using an Alibaba Cloud server, which is recommended for this course. This may involve server creation, SSH access, and basic configuration." + } + ], + "title": "Environment Setup (Recommended: Alibaba Cloud Server)" + }, + { + "instructions": [ + { + "command": "Follow the guide in C1.6: GitHub Codespaces 的基本使用(选修)", + "meaning": "Instructions for setting up the development environment using GitHub Codespaces, a cloud-based development environment. This is an optional but convenient way to get started." + } + ], + "title": "Environment Setup (Optional: GitHub Codespaces)" + } + ], + "name": "datawhalechina/llm-universe", + "note": "", + "path": "/freedevtools/installerpedia/tutorial/datawhalechina-llm-universe", + "post_installation": [ + "After installation, you can start learning by navigating to the respective notebook files in the `notebook` directory.", + "Refer to the '在线阅读地址' for interactive online documentation.", + "Refer to the 'PDF 地址' for downloading the course material." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "environment" + ], + "description": "The primary programming language for the project.", + "name": "Python", + "optional": false, + "type": "language", + "version": "3.8+" + }, + { + "applies_to": [ + "development", + "environment" + ], + "description": "Python package installer, used to install project dependencies.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "environment" + ], + "description": "Version control system, needed to clone the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "learning" + ], + "description": "Basic Python programming skills are required.", + "name": "", + "optional": false, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "environment", + "learning" + ], + "description": "Recommended for environment setup, with free student options available.", + "name": "Cloud Server (e.g., Alibaba Cloud)", + "optional": true, + "type": "service", + "version": "" + }, + { + "applies_to": [ + "development", + "learning" + ], + "description": "Used for running and developing notebook-based tutorials.", + "name": "Jupyter Notebook", + "optional": false, + "type": "system_tool", + "version": "1.0" + } + ], + "repo_type": "tutorial", + "resources_of_interest": [ + { + "reason": "Provides an interactive and browsable version of the course material, which may contain setup or usage instructions.", + "title": "LLM Universe Online Reading", + "type": "documentation", + "url_or_path": "https://datawhalechina.github.io/llm-universe/" + }, + { + "reason": "Offers a downloadable PDF version of the course, which could include installation or environment setup details.", + "title": "LLM Universe PDF Download", + "type": "documentation", + "url_or_path": "https://github.com/datawhalechina/llm-universe/releases/tag/v1" + }, + { + "reason": "Specific guide on setting up and using Alibaba Cloud servers, crucial for the recommended environment setup.", + "title": "C1.5 阿里云服务器的基本使用", + "type": "documentation", + "url_or_path": "https://github.com/datawhalechina/llm-universe/blob/main/notebook/C1%20%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%20LLM%20%E4%BB%8B%E7%BB%8D/C1.md#15-%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8" + }, + { + "reason": "Guide for setting up the development environment using GitHub Codespaces, an alternative to local setup.", + "title": "C1.6 GitHub Codespaces 的基本使用(选修)", + "type": "documentation", + "url_or_path": "https://github.com/datawhalechina/llm-universe/blob/main/notebook/C1%20%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%20LLM%20%E4%BB%8B%E7%BB%8D/C1.md#16-github-codespaces-%E6%A6%82%E8%BF%B0%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E9%80%89%E4%BF%AE" + }, + { + "reason": "Lists all Python dependencies required for the project, essential for setting up the correct environment.", + "title": "requirements.txt", + "type": "file", + "url_or_path": "requirements.txt" + } + ], + "stars": 10739 + }, + { + "altDescription": "the react framework", + "altName": "vercel / next.j", + "category": "installerpedia", + "description": "The React Framework", + "has_installation": false, + "id": "installerpedia-31", + "installation_methods": [ + { + "instructions": [ + { + "command": "npx create-next-app@latest my-next-app", + "meaning": "This command uses `npx` to download and run the `create-next-app` package, which scaffolds a new Next.js project named 'my-next-app'. This is the recommended way to start a new Next.js application." + }, + { + "command": "cd my-next-app", + "meaning": "Navigates into the newly created project directory." + }, + { + "command": "npm run dev", + "meaning": "Starts the development server for your Next.js application. This command is typically used during development to see your changes live." + } + ], + "title": "Create a new Next.js app" + }, + { + "instructions": [ + { + "command": "npm install next react react-dom", + "meaning": "Installs the core Next.js package along with React and ReactDOM, which are essential for building React applications with Next.js. This command uses npm to fetch and install these packages into your project's `node_modules` directory." + } + ], + "title": "Install Next.js into an existing project" + } + ], + "name": "vercel/next.js", + "note": "", + "path": "/freedevtools/installerpedia/framework/vercel-next.js", + "post_installation": [ + "After installation, you can start developing your application. The `npm run dev` command will start a local development server.", + "Refer to the [Learn Next.js](https://nextjs.org/learn) course for guided tutorials on building full-stack web applications.", + "For detailed information on configuring and using Next.js features, consult the [Next.js Documentation](https://nextjs.org/docs)." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Next.js is a React framework that requires Node.js to run.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "npm is the default package manager for Node.js, used to install Next.js and its dependencies.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Yarn is an alternative package manager for Node.js, which can also be used to install Next.js and its dependencies.", + "name": "yarn", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "pnpm is another alternative package manager for Node.js, which can also be used to install Next.js and its dependencies.", + "name": "pnpm", + "optional": true, + "type": "package_manager", + "version": "" + } + ], + "repo_type": "framework", + "resources_of_interest": [ + { + "reason": "Provides a guided course to get started with Next.js, covering fundamental concepts and practical examples.", + "title": "Learn Next.js", + "type": "tutorial", + "url_or_path": "https://nextjs.org/learn" + }, + { + "reason": "Contains comprehensive information on all aspects of Next.js, including installation, configuration, API routes, and deployment.", + "title": "Next.js Documentation", + "type": "documentation", + "url_or_path": "https://nextjs.org/docs" + }, + { + "reason": "The source code repository, which may contain build scripts, configuration files, or further installation hints.", + "title": "Next.js GitHub Repository", + "type": "repo", + "url_or_path": "https://github.com/vercel/next.js" + } + ], + "stars": 135680 + }, + { + "altDescription": "a librari for build fast , reliabl and evolv network servic .", + "altName": "cloudflar / pingora", + "category": "installerpedia", + "description": "A library for building fast, reliable and evolvable network services.", + "has_installation": false, + "id": "installerpedia-32", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/cloudflare/pingora.git", + "meaning": "Clones the Pingora repository from GitHub to your local machine." + }, + { + "command": "cd pingora", + "meaning": "Navigates into the cloned Pingora directory." + }, + { + "command": "cargo build --release", + "meaning": "Compiles the Pingora framework in release mode, optimizing for performance. This command builds all the necessary binaries and libraries from the source code." + } + ], + "title": "Build from Source" + } + ], + "name": "cloudflare/pingora", + "note": "", + "path": "/freedevtools/installerpedia/framework/cloudflare-pingora", + "post_installation": [ + "Refer to the [quick starting guide](./docs/quick_start.md) for instructions on building a load balancer.", + "Consult the [user guide](./docs/user_guide/index.md) for detailed information on configuring and running Pingora servers, as well as building custom HTTP servers and proxy logic.", + "API documentation is available for all crates." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Pingora is written in Rust and requires a specific minimum supported Rust version (MSRV) for compilation. The current MSRV is effectively 1.83, meaning Rust versions at least 6 months old are supported.", + "name": "Rust", + "optional": false, + "type": "language", + "version": "1.83" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Cargo is the Rust package manager and build system, used to compile and manage Rust projects.", + "name": "Cargo", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Clang is a C/C++/Objective-C compiler. It is required for building the boringssl dependencies of Pingora.", + "name": "Clang", + "optional": false, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Perl 5 is a scripting language interpreter. It is required for building the openssl dependencies of Pingora.", + "name": "Perl 5", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "production", + "development" + ], + "description": "Linux is the primary and tier-1 supported operating system for Pingora.", + "name": "Linux", + "optional": false, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "development" + ], + "description": "Pingora aims to compile on Unix-like environments such as macOS, though some features might be missing.", + "name": "Unix-like environments", + "optional": true, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "development" + ], + "description": "Windows support is preliminary and based on community effort.", + "name": "Windows", + "optional": true, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "production", + "development" + ], + "description": "x86_64 architecture is supported.", + "name": "x86_64", + "optional": false, + "type": "architecture", + "version": "" + }, + { + "applies_to": [ + "production", + "development" + ], + "description": "aarch64 architecture is supported.", + "name": "aarch64", + "optional": false, + "type": "architecture", + "version": "" + } + ], + "repo_type": "framework", + "resources_of_interest": [ + { + "reason": "Provides instructions on how to quickly build a load balancer using Pingora.", + "title": "Quick starting guide", + "type": "guide", + "url_or_path": "./docs/quick_start.md" + }, + { + "reason": "Covers more advanced topics such as server configuration, running Pingora servers, and building custom logic.", + "title": "User guide", + "type": "documentation", + "url_or_path": "./docs/user_guide/index.md" + }, + { + "reason": "API documentation is available for all crates, which is essential for understanding and using the framework.", + "title": "API docs", + "type": "documentation", + "url_or_path": "" + }, + { + "reason": "External link to Clang installation instructions, which is a build requirement for Pingora.", + "title": "Clang", + "type": "repo", + "url_or_path": "https://clang.llvm.org/" + }, + { + "reason": "External link to Perl 5 installation instructions, which is a build requirement for Pingora.", + "title": "Perl 5", + "type": "repo", + "url_or_path": "https://www.perl.org/" + } + ], + "stars": 25451 + }, + { + "altDescription": "the lead data integr platform for etl / elt data pipelin from api , databas & file to data warehous , data lake & data lakehous . both self - host and cloud - host .", + "altName": "airbytehq / airbyt", + "category": "installerpedia", + "description": "The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.", + "has_installation": false, + "id": "installerpedia-33", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/airbytehq/airbyte.git", + "meaning": "Clones the Airbyte repository to your local machine, which contains the necessary Docker Compose files." + }, + { + "command": "cd airbyte", + "meaning": "Navigates into the cloned Airbyte directory." + }, + { + "command": "docker compose pull", + "meaning": "Pulls the latest Docker images for all Airbyte services defined in the docker-compose.yml file." + }, + { + "command": "docker compose up", + "meaning": "Starts all the Airbyte services defined in the docker-compose.yml file. This will launch the Airbyte UI and backend." + } + ], + "title": "Deploy Airbyte Open Source using Docker Compose" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/airbytehq/airbyte.git", + "meaning": "Clones the Airbyte repository to your local machine, which contains Kubernetes deployment manifests." + }, + { + "command": "cd airbyte", + "meaning": "Navigates into the cloned Airbyte directory." + }, + { + "command": "kubectl apply -f install/kubernetes/generated/deployment.yaml", + "meaning": "Applies the Kubernetes deployment manifest to create Airbyte resources in your cluster." + }, + { + "command": "kubectl apply -f install/kubernetes/generated/service.yaml", + "meaning": "Applies the Kubernetes service manifest to expose Airbyte services." + } + ], + "title": "Deploy Airbyte Open Source on Kubernetes" + } + ], + "name": "airbytehq/airbyte", + "note": "", + "path": "/freedevtools/installerpedia/server/airbytehq-airbyte", + "post_installation": [ + "Access the Airbyte UI by navigating to `http://localhost:8000` (if using Docker Compose) or the exposed Kubernetes service endpoint.", + "Configure your data sources and destinations through the Airbyte UI.", + "Start syncing your data by creating connections and running sync jobs." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "docker_deploy" + ], + "description": "Docker is required to run Airbyte. It is used for containerizing the Airbyte application and its components.", + "name": "Docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "docker_deploy" + ], + "description": "Docker Compose is used to define and run multi-container Docker applications. It simplifies the deployment of Airbyte.", + "name": "Docker Compose", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "kubernetes_deploy" + ], + "description": "kubectl is the command-line tool for controlling Kubernetes clusters. It is required for Kubernetes deployments.", + "name": "kubectl", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "kubernetes_deploy" + ], + "description": "Helm is a package manager for Kubernetes. It is used for deploying Airbyte on Kubernetes.", + "name": "Helm", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Basic understanding of Docker and containerization is beneficial.", + "name": "", + "optional": false, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "kubernetes_deploy" + ], + "description": "Familiarity with Kubernetes concepts and kubectl is recommended for Kubernetes deployments.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions for deploying Airbyte, including Docker Compose and Kubernetes.", + "title": "Deploy Airbyte Open Source", + "type": "documentation", + "url_or_path": "https://docs.airbyte.com/quickstart/deploy-airbyte" + }, + { + "reason": "Information on setting up and using Airbyte Cloud, an alternative to self-hosting.", + "title": "Airbyte Cloud", + "type": "documentation", + "url_or_path": "https://docs.airbyte.com/cloud/getting-started-with-airbyte-cloud" + }, + { + "reason": "Details on how to create custom connectors, which is a key part of using Airbyte.", + "title": "Connector Builder", + "type": "documentation", + "url_or_path": "https://docs.airbyte.com/connector-development/connector-builder-ui/overview" + }, + { + "reason": "Information on the low-code CDK for developing connectors.", + "title": "CDK (Connector Development Kit)", + "type": "documentation", + "url_or_path": "https://docs.airbyte.com/connector-development/config-based/low-code-cdk-overview" + }, + { + "reason": "Guides and examples for common Airbyte use cases.", + "title": "Tutorials", + "type": "documentation", + "url_or_path": "https://airbyte.com/tutorials" + } + ], + "stars": 20044 + }, + { + "altDescription": "webgl2 power visual framework", + "altName": "visgl / deck.gl", + "category": "installerpedia", + "description": "WebGL2 powered visualization framework", + "has_installation": false, + "id": "installerpedia-34", + "installation_methods": [ + { + "instructions": [ + { + "command": "", + "meaning": "Includes the deck.gl library directly into an HTML page via a CDN link. This is the simplest way to get started for standalone web applications." + } + ], + "title": "Script Tag (Standalone)" + }, + { + "instructions": [ + { + "command": "npm install deck.gl", + "meaning": "Installs the deck.gl library as a dependency for a Node.js project, allowing it to be imported and used in JavaScript code." + } + ], + "title": "NPM Module (Pure JS)" + }, + { + "instructions": [ + { + "command": "npm install deck.gl", + "meaning": "Installs the deck.gl library as a dependency for a React project, enabling its use within React components." + } + ], + "title": "NPM Module (React)" + }, + { + "instructions": [ + { + "command": "pip install pydeck", + "meaning": "Installs the pydeck library, which provides Python bindings for deck.gl, allowing data visualization in Python environments." + } + ], + "title": "Python Package (pydeck)" + } + ], + "name": "visgl/deck.gl", + "note": "", + "path": "/freedevtools/installerpedia/library/visgl-deck.gl", + "post_installation": [ + "Refer to the 'Get started' links within each installation method for specific next steps and examples.", + "For NPM modules, you will typically import deck.gl into your JavaScript or React code.", + "For pydeck, you will use Python to create and render deck.gl visualizations." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "production", + "source_build" + ], + "description": "Node Package Manager, used for installing JavaScript packages.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "python_usage" + ], + "description": "Pip is the package installer for Python. It is used to install and manage Python packages.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "source_build" + ], + "description": "JavaScript runtime environment required for npm.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "production", + "python_usage" + ], + "description": "Python programming language, required for pydeck.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions on how to use deck.gl when included via a script tag.", + "title": "Using Standalone (Scripting API)", + "type": "documentation", + "url_or_path": "/docs/get-started/using-standalone.md#using-the-scripting-api" + }, + { + "reason": "Explains how to integrate deck.gl into pure JavaScript projects when installed via npm.", + "title": "Using Standalone (Pure JS)", + "type": "documentation", + "url_or_path": "/docs/get-started/using-standalone.md" + }, + { + "reason": "Guides users on how to incorporate deck.gl into React applications.", + "title": "Using with React", + "type": "documentation", + "url_or_path": "/docs/get-started/using-with-react.md" + }, + { + "reason": "Official installation documentation for the pydeck Python library.", + "title": "pydeck Installation Guide", + "type": "documentation", + "url_or_path": "https://deckgl.readthedocs.io/en/latest/installation.html" + }, + { + "reason": "Contains numerous examples demonstrating various use cases and setup configurations.", + "title": "deck.gl Examples", + "type": "repo", + "url_or_path": "https://github.com/visgl/deck.gl/tree/master/examples" + } + ], + "stars": 13598 + }, + { + "altDescription": "primari git repositori for the zephyr project . zephyr is a new generat , scalabl , optim , secur rtos for multipl hardwar architectur .", + "altName": "zephyrproject - rtos / zephyr", + "category": "installerpedia", + "description": "Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.", + "has_installation": false, + "id": "installerpedia-35", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install --user west", + "meaning": "Installs the 'west' tool globally for the current user using pip. West is essential for managing Zephyr's source code and its dependencies." + } + ], + "title": "Install West (Zephyr's Meta-Tool)" + }, + { + "instructions": [ + { + "command": "west init -l zephyrproject", + "meaning": "Initializes a Zephyr workspace in a directory named 'zephyrproject'. This command downloads the Zephyr repository and sets up the basic workspace structure." + }, + { + "command": "cd zephyrproject", + "meaning": "Navigates into the newly created Zephyr workspace directory." + }, + { + "command": "west update", + "meaning": "Fetches the latest code for Zephyr and its submodules. This step ensures you have the most up-to-date version of the Zephyr OS and related projects." + } + ], + "title": "Clone Zephyr Repository" + }, + { + "instructions": [ + { + "command": "pip install --user -r zephyr/scripts/requirements.txt", + "meaning": "Installs all Python packages required by Zephyr's build system and tools. This command reads the list of dependencies from the specified file and installs them into the user's Python environment." + } + ], + "title": "Install Zephyr Dependencies" + }, + { + "instructions": [ + { + "command": "west build -t toolchain", + "meaning": "This command is a placeholder. The actual command to install toolchains depends on the target architecture. For example, for ARM, you might need to download and install the ARM GCC toolchain separately or use a package manager. Consult the Zephyr documentation for specific toolchain installation instructions for your target hardware." + } + ], + "title": "Install Toolchains (Example for ARM)" + } + ], + "name": "zephyrproject-rtos/zephyr", + "note": "", + "path": "/freedevtools/installerpedia/sdk/zephyrproject-rtos-zephyr", + "post_installation": [ + "After installation, you can start developing by following the `Getting Started Guide`_.", + "Refer to the `Zephyr Documentation`_ for detailed information on building, flashing, and debugging applications for specific boards.", + "Ensure your system's PATH environment variable includes the directories for Python, West, and your installed toolchains." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "learning" + ], + "description": "Familiarity with embedded systems development is beneficial.", + "name": "", + "optional": false, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "Used for cloning the Zephyr repository and managing source code.", + "name": "Git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "Required for Zephyr's build system (CMake, West) and various tools.", + "name": "Python", + "optional": false, + "type": "system_package", + "version": "3.6+" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "Python package installer, used to install Zephyr's Python dependencies.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "The build system generator used by Zephyr.", + "name": "CMake", + "optional": false, + "type": "build_tool", + "version": "3.16+" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "Zephyr's meta-tool, used to manage Zephyr OS and its related repositories.", + "name": "West", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "Used by some toolchains and build processes.", + "name": "GNU Make", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "A common compiler toolchain for embedded development.", + "name": "GCC", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "source_build", + "development" + ], + "description": "An alternative compiler toolchain.", + "name": "Clang", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Depending on the target hardware, specific toolchains (e.g., ARM GCC, Xtensa toolchain) might be required.", + "name": "Device-specific toolchains", + "optional": false, + "type": "system_package", + "version": "" + } + ], + "repo_type": "sdk", + "resources_of_interest": [ + { + "reason": "Primary source for all installation, setup, and development guides.", + "title": "Zephyr Documentation", + "type": "documentation", + "url_or_path": "https://docs.zephyrproject.org" + }, + { + "reason": "Provides step-by-step instructions to begin developing with Zephyr, including detailed setup.", + "title": "Getting Started Guide", + "type": "guide", + "url_or_path": "https://docs.zephyrproject.org/latest/develop/getting_started/index.html" + }, + { + "reason": "Lists all Python dependencies required for the Zephyr build system.", + "title": "requirements.txt", + "type": "file", + "url_or_path": "zephyr/scripts/requirements.txt" + }, + { + "reason": "Essential for understanding hardware requirements and specific setup for different development boards.", + "title": "Supported Boards", + "type": "documentation", + "url_or_path": "https://docs.zephyrproject.org/latest/boards/index.html" + }, + { + "reason": "Provides information on security best practices and setup related to security.", + "title": "Security documentation", + "type": "documentation", + "url_or_path": "https://docs.zephyrproject.org/latest/security/index.html" + } + ], + "stars": 13701 + }, + { + "altDescription": "a smart ethernet switch for earth", + "altName": "zeroti / zerotieron", + "category": "installerpedia", + "description": "A Smart Ethernet Switch for Earth", + "has_installation": false, + "id": "installerpedia-36", + "installation_methods": [ + { + "instructions": [ + { + "command": "curl -s https://install.zerotier.com | sudo bash", + "meaning": "Downloads and executes the official ZeroTier installation script. This is the recommended and simplest way to install ZeroTier on most Linux systems. It handles downloading the correct binary and setting it up." + } + ], + "title": "Binary Installation (Recommended)" + }, + { + "instructions": [ + { + "command": "brew install zerotier", + "meaning": "Installs ZeroTier using the Homebrew package manager on macOS. This is a convenient way to manage ZeroTier installations on macOS." + } + ], + "title": "macOS Installation (Homebrew)" + }, + { + "instructions": [ + { + "command": "https://www.zerotier.com/download/", + "meaning": "Navigate to the ZeroTier downloads page to obtain the Windows installer. This provides a graphical installer for Windows users." + } + ], + "title": "Windows Installation" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/zerotier/ZeroTierOne.git", + "meaning": "Clones the ZeroTier One repository from GitHub to your local machine. This is the first step to building ZeroTier from its source code." + }, + { + "command": "cd ZeroTierOne", + "meaning": "Navigates into the cloned ZeroTier One directory. This is necessary to access the build scripts and source files." + }, + { + "command": "make", + "meaning": "Initiates the build process for ZeroTier One. The 'make' command will compile the source code according to the Makefile, producing executable binaries. Specific build commands and requirements are detailed in build.md." + } + ], + "title": "Build from Source" + } + ], + "name": "zerotier/ZeroTierOne", + "note": "", + "path": "/freedevtools/installerpedia/cli/zerotier-ZeroTierOne", + "post_installation": [ + "After installation, you will need to join a ZeroTier network. This is typically done using the `zerotier-cli join ` command.", + "Refer to the ZeroTier Documentation for detailed instructions on joining networks, configuring rules, and managing your network.", + "For platform-specific post-installation steps, consult the [ZeroTier Documentation](https://docs.zerotier.com)." + ], + "prerequisites": [ + { + "applies_to": [ + "global" + ], + "description": "Familiarity with command-line interfaces is generally helpful for installation and usage.", + "name": "", + "optional": true, + "type": "knowledge", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Platform-specific build requirements are detailed in build.md.", + "name": "", + "optional": false, + "type": "other", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "This is the primary resource for downloads, installation, and usage instructions.", + "title": "ZeroTier Documentation", + "type": "documentation", + "url_or_path": "https://docs.zerotier.com" + }, + { + "reason": "Contains detailed build instructions and platform requirements for compiling ZeroTier from source.", + "title": "build.md", + "type": "file", + "url_or_path": "build.md" + }, + { + "reason": "The source code repository itself, which is necessary for building from source.", + "title": "ZeroTier One GitHub Repository", + "type": "repo", + "url_or_path": "https://github.com/zerotier/ZeroTierOne" + }, + { + "reason": "Provides direct download links for pre-compiled binaries, including the Windows installer.", + "title": "ZeroTier Downloads Page", + "type": "documentation", + "url_or_path": "https://www.zerotier.com/download/" + } + ], + "stars": 16130 + }, + { + "altDescription": "mail - in - a - box help individu take back control of their email by defin a one - click , easi - to - deploy smtp + everyth els server : a mail server in a box .", + "altName": "mail - in - a - box / mailinabox", + "category": "installerpedia", + "description": "Mail-in-a-Box helps individuals take back control of their email by defining a one-click, easy-to-deploy SMTP+everything else server: a mail server in a box.", + "has_installation": false, + "id": "installerpedia-37", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/mail-in-a-box/mailinabox", + "meaning": "Clones the Mail-in-a-Box repository from GitHub to your local machine. This downloads all the necessary files and scripts for installation." + }, + { + "command": "cd mailinabox", + "meaning": "Navigates into the cloned mailinabox directory, where the installation scripts are located." + }, + { + "command": "git checkout TAGNAME", + "meaning": "Checks out the specific tag for the most recent release. Replace TAGNAME with the actual release tag (e.g., 'v2023.09.1'). This ensures you are installing a stable, tested version." + }, + { + "command": "sudo setup/start.sh", + "meaning": "Executes the main installation script with superuser privileges. This script will install, uninstall, and configure all the necessary packages and services to turn the machine into a functional mail server." + } + ], + "title": "Clone Repository and Run Installer" + } + ], + "name": "mail-in-a-box/mailinabox", + "note": "", + "path": "/freedevtools/installerpedia/server/mail-in-a-box-mailinabox", + "post_installation": [ + "The installation process will configure various services including Postfix, Dovecot, Nextcloud, nginx, and more. It also sets up DNS, TLS certificates via Let's Encrypt, spam filtering, backups, and firewall rules.", + "After the installation script completes, you will have a fully functional mail server. Access the control panel to manage mail users, aliases, custom DNS records, and backups.", + "Note that while Mail-in-a-Box aims for a seamless experience, deliverability of emails can be affected by external factors. Refer to the discussion forum for tips on this." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "linux" + ], + "description": "A fresh, 64-bit installation of Ubuntu 22.04 LTS is required.", + "name": "Ubuntu", + "optional": false, + "type": "os", + "version": "22.04 LTS" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows" + ], + "description": "Git is needed to clone the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos" + ], + "description": "Superuser privileges are required to run the installation script and manage system packages.", + "name": "sudo", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides detailed, user-friendly instructions for setting up Mail-in-a-Box.", + "title": "Setup Guide", + "type": "guide", + "url_or_path": "https://mailinabox.email/guide.html" + }, + { + "reason": "Official project website with general information and links to setup guides.", + "title": "Project Website", + "type": "documentation", + "url_or_path": "https://mailinabox.email" + }, + { + "reason": "A place to get help and ask questions regarding installation and usage.", + "title": "Discussion Forum", + "type": "wiki", + "url_or_path": "https://discourse.mailinabox.email/" + }, + { + "reason": "Contains information for contributing to the project, which may include development setup details.", + "title": "CONTRIBUTING.md", + "type": "file", + "url_or_path": "CONTRIBUTING.md" + }, + { + "reason": "Provides information on how Mail-in-a-Box handles privacy and security, relevant for server setup.", + "title": "Security Details Page", + "type": "documentation", + "url_or_path": "security.md" + } + ], + "stars": 15044 + }, + { + "altDescription": "tini rdm ( tini redi desktop manag ) - a modern , color , super lightweight redi gui client for mac , window , and linux .", + "altName": "tini - craft / tini - rdm", + "category": "installerpedia", + "description": "Tiny RDM (Tiny Redis Desktop Manager) - A modern, colorful, super lightweight Redis GUI client for Mac, Windows, and Linux.", + "has_installation": false, + "id": "installerpedia-38", + "installation_methods": [ + { + "instructions": [ + { + "command": "echo 'Download the latest release from https://github.com/tiny-craft/tiny-rdm/releases'", + "meaning": "Navigate to the releases page and download the appropriate binary for your operating system (Mac, Windows, or Linux)." + } + ], + "title": "Download Pre-built Binaries" + }, + { + "instructions": [ + { + "command": "go install github.com/wailsapp/wails/v2/cmd/wails@latest", + "meaning": "Installs the Wails CLI tool, which is necessary for building the application from source." + }, + { + "command": "git clone https://github.com/tiny-craft/tiny-rdm --depth=1", + "meaning": "Clones the Tiny RDM repository from GitHub. The --depth=1 flag fetches only the latest commit, reducing download size and time." + }, + { + "command": "npm install --prefix ./frontend", + "meaning": "Installs the frontend dependencies for the application using npm. This command is run from the root of the cloned repository and targets the 'frontend' directory." + }, + { + "command": "wails dev", + "meaning": "Compiles and runs the Tiny RDM application in development mode. This command will build both the frontend and backend and start the application." + } + ], + "title": "Build from Source" + } + ], + "name": "tiny-craft/tiny-rdm", + "note": "", + "path": "/freedevtools/installerpedia/tool/tiny-craft-tiny-rdm", + "post_installation": [ + "If you installed on macOS and cannot open the application, run the following command in your terminal:", + "shell\nsudo xattr -d com.apple.quarantine /Applications/Tiny\\ RDM.app\n", + "This command removes the quarantine attribute, which can sometimes prevent macOS from opening downloaded applications." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build" + ], + "description": "Go programming language, required for building the application.", + "name": "Go", + "optional": false, + "type": "language", + "version": "latest" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Node.js runtime, required for building the frontend.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": ">= 20" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Node Package Manager, used for installing frontend dependencies.", + "name": "NPM", + "optional": false, + "type": "package_manager", + "version": ">= 9" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Wails framework CLI, used for building and running the application.", + "name": "Wails", + "optional": false, + "type": "build_tool", + "version": "latest" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides instructions on how to create custom data encoders and decoders for value display, which is a feature of the application.", + "title": "Custom Decoder Instructions", + "type": "documentation", + "url_or_path": "https://redis.tinycraft.cc/guide/custom-decoder/" + }, + { + "reason": "Contains information on how to contribute to the project, which might include details relevant to setting up a development environment.", + "title": "CONTRIBUTING.md", + "type": "documentation", + "url_or_path": ".github/CONTRIBUTING.md" + } + ], + "stars": 12132 + }, + { + "altDescription": "the easiest , and most secur way to access and protect all of your infrastructur .", + "altName": "gravit / teleport", + "category": "installerpedia", + "description": "The easiest, and most secure way to access and protect all of your infrastructure.", + "has_installation": false, + "id": "installerpedia-39", + "installation_methods": [ + { + "instructions": [ + { + "command": "make -C build.assets build-binaries", + "meaning": "Executes the build process for Teleport binaries within a Docker container, ensuring all necessary tooling is available and consistent." + } + ], + "title": "Dockerized Build" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/gravitational/teleport.git", + "meaning": "Clones the Teleport repository to your local machine." + }, + { + "command": "cd teleport", + "meaning": "Navigates into the cloned Teleport directory." + }, + { + "command": "make full", + "meaning": "Compiles the Teleport daemon and associated binaries from the source code." + } + ], + "title": "Local Build from Source" + }, + { + "instructions": [ + { + "command": "brew install libfido2 pkg-config", + "meaning": "Installs libfido2 and pkg-config using Homebrew (or your system's package manager) to enable dynamic linking for the tsh binary." + }, + { + "command": "make build/tsh", + "meaning": "Builds the tsh binary, dynamically linking against libfido2 if found." + } + ], + "title": "Local Build with Dynamic libfido2 Linking" + }, + { + "instructions": [ + { + "command": "make build/tsh FIDO2=static", + "meaning": "Builds the tsh binary, statically linking against libfido2 for easier setup." + } + ], + "title": "Local Build with Static libfido2 Linking" + }, + { + "instructions": [ + { + "command": "go install github.com/githubnemo/CompileDaemon@latest", + "meaning": "Installs CompileDaemon, a tool that automatically rebuilds and restarts the Teleport binary when Go source files change, speeding up development." + }, + { + "command": "make teleport-hot-reload", + "meaning": "Builds and runs Teleport in a development mode with hot-reloading enabled. This command starts Teleport with default arguments." + }, + { + "command": "make teleport-hot-reload TELEPORT_ARGS='start --config=/path/to/config.yaml'", + "meaning": "Builds and runs Teleport in development mode with hot-reloading, allowing you to specify custom arguments like a configuration file path." + } + ], + "title": "Running Teleport in Hot Reload Mode (Development)" + }, + { + "instructions": [ + { + "command": "make docker-ui", + "meaning": "Rebuilds the Teleport Web UI assets using Docker, preparing them for development or deployment." + } + ], + "title": "Rebuilding Web UI for Development" + }, + { + "instructions": [ + { + "command": "DEBUG=1 ./build/teleport start -d", + "meaning": "Starts Teleport in development mode, enabling debugging and allowing the Web UI assets to be loaded directly from the source directory for faster iteration." + } + ], + "title": "Running Teleport with Debugging and Hot Reloading for Web UI" + }, + { + "instructions": [ + { + "command": "Refer to the installation guide for Docker deployment instructions.", + "meaning": "This indicates that specific commands for Docker deployment are detailed in an external guide, rather than being directly listed here." + } + ], + "title": "Deploying Teleport on Docker" + }, + { + "instructions": [ + { + "command": "Refer to the getting started guide for Linux demo deployment instructions.", + "meaning": "This indicates that specific commands for setting up a single-instance cluster on Linux are detailed in an external guide." + } + ], + "title": "Setting up a Single-Instance Teleport Cluster (Linux Demo)" + } + ], + "name": "gravitational/teleport", + "note": "", + "path": "/freedevtools/installerpedia/server/gravitational-teleport", + "post_installation": [], + "prerequisites": [ + { + "applies_to": [ + "source_build" + ], + "description": "Required for building Teleport from source.", + "name": "Go", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Required for building Teleport from source.", + "name": "Rust", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Required for building Teleport from source (for the web UI).", + "name": "Node.js", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Required for FIDO2 support in tsh. Can be linked dynamically or statically.", + "name": "libfido2", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "A helper tool used during the build process to find libraries.", + "name": "pkg-config", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Required for Dockerized builds.", + "name": "docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Build automation tool used for various build tasks.", + "name": "make", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Required for FIDO2 support in tsh. Can be linked dynamically or statically.", + "name": "libfido2", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "A helper tool used during the build process to find libraries.", + "name": "pkg-config", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "At least 1GB of virtual memory is required to compile Teleport from source.", + "name": "virtual_memory", + "optional": false, + "type": "environment", + "version": "1GB" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides initial setup and configuration steps for Teleport.", + "title": "Getting Started Guide", + "type": "documentation", + "url_or_path": "https://goteleport.com/docs/get-started/" + }, + { + "reason": "Details how to set up a single-instance Teleport cluster on Linux.", + "title": "Linux Demo Deployment Guide", + "type": "documentation", + "url_or_path": "https://goteleport.com/docs/admin-guides/deploy-a-cluster/linux-demo/" + }, + { + "reason": "Contains specific instructions for deploying Teleport using Docker containers.", + "title": "Docker Installation Guide", + "type": "documentation", + "url_or_path": "https://goteleport.com/docs/installation/#running-teleport-on-docker" + }, + { + "reason": "Lists the specific versions of dependencies required for building Teleport from source, ensuring compatibility.", + "title": "build.assets/versions.mk", + "type": "file", + "url_or_path": "/build.assets/versions.mk" + }, + { + "reason": "Provides instructions on how to update and manage the Teleport Web UI.", + "title": "web README", + "type": "documentation", + "url_or_path": "web#readme" + } + ], + "stars": 19407 + }, + { + "altDescription": "access larg languag model from the command - line", + "altName": "simonw / llm", + "category": "installerpedia", + "description": "Access large language models from the command-line", + "has_installation": false, + "id": "installerpedia-40", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install llm", + "meaning": "Installs the 'llm' Python package and its dependencies using pip, the standard Python package installer. This makes the 'llm' command-line tool available in your environment." + } + ], + "title": "Install with pip" + }, + { + "instructions": [ + { + "command": "brew install llm", + "meaning": "Installs the 'llm' command-line tool using Homebrew, a package manager for macOS and Linux. Note: A warning about Homebrew and PyTorch is mentioned in the documentation." + } + ], + "title": "Install with Homebrew" + }, + { + "instructions": [ + { + "command": "pipx install llm", + "meaning": "Installs the 'llm' Python package into an isolated environment using pipx, ensuring it doesn't conflict with other Python packages. This makes the 'llm' command-line tool available." + } + ], + "title": "Install with pipx" + }, + { + "instructions": [ + { + "command": "uv tool install llm", + "meaning": "Installs the 'llm' command-line tool using uv, a fast Python package installer. This command makes the 'llm' tool available in your environment." + } + ], + "title": "Install with uv" + }, + { + "instructions": [ + { + "command": "llm install llm-gemini", + "meaning": "Installs the 'llm-gemini' plugin, which enables interaction with Google's Gemini models. This command uses the 'llm' tool's plugin management system." + }, + { + "command": "llm install llm-anthropic", + "meaning": "Installs the 'llm-anthropic' plugin, which enables interaction with Anthropic's Claude models. This command uses the 'llm' tool's plugin management system." + }, + { + "command": "llm install llm-ollama", + "meaning": "Installs the 'llm-ollama' plugin, which enables interaction with local models served by Ollama. This command uses the 'llm' tool's plugin management system." + } + ], + "title": "Install plugins for specific models" + } + ], + "name": "simonw/llm", + "note": "", + "path": "/freedevtools/installerpedia/cli/simonw-llm", + "post_installation": [], + "prerequisites": [ + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "Python package installer. Used for installing the 'llm' package and its dependencies.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "The programming language 'llm' is built with and requires.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos" + ], + "description": "A package manager for macOS and Linux. Can be used to install 'llm'.", + "name": "Homebrew", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "A tool for installing and running Python applications in isolated environments. Can be used to install 'llm'.", + "name": "pipx", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "A fast Python package installer and resolver. Can be used to install 'llm'.", + "name": "uv", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "cli_usage", + "api_usage" + ], + "description": "Required to use OpenAI models. Can be set using 'llm keys set openai'.", + "name": "OpenAI API key", + "optional": true, + "type": "other", + "version": "" + }, + { + "applies_to": [ + "cli_usage", + "api_usage" + ], + "description": "Required to use Anthropic Claude models. Can be set using 'llm keys set anthropic'.", + "name": "Anthropic API key", + "optional": true, + "type": "other", + "version": "" + }, + { + "applies_to": [ + "cli_usage", + "api_usage" + ], + "description": "Required to use Google Gemini models. Can be set using 'llm keys set gemini'.", + "name": "Google Gemini API key", + "optional": true, + "type": "other", + "version": "" + }, + { + "applies_to": [ + "cli_usage", + "development" + ], + "description": "A tool for running large language models locally. Required if using local models via the 'llm-ollama' plugin.", + "name": "Ollama", + "optional": true, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "Contains detailed information on installation, upgrading, API key management, and configuration.", + "title": "Setup documentation", + "type": "documentation", + "url_or_path": "https://llm.datasette.io/en/stable/setup.html" + }, + { + "reason": "Explains how to install and manage plugins, which are crucial for accessing many LLM models.", + "title": "Installing plugins documentation", + "type": "documentation", + "url_or_path": "https://llm.datasette.io/en/stable/plugins/installing-plugins.html" + }, + { + "reason": "Provides a comprehensive reference for all 'llm' CLI commands, useful for understanding installation and usage options.", + "title": "CLI reference", + "type": "documentation", + "url_or_path": "https://llm.datasette.io/en/stable/help.html" + }, + { + "reason": "This plugin is required to use Gemini models, and its repository might contain specific installation or setup instructions.", + "title": "llm-gemini plugin repo", + "type": "repo", + "url_or_path": "https://github.com/simonw/llm-gemini" + }, + { + "reason": "This plugin is required to use Anthropic Claude models, and its repository might contain specific installation or setup instructions.", + "title": "llm-anthropic plugin repo", + "type": "repo", + "url_or_path": "https://github.com/simonw/llm-anthropic" + } + ], + "stars": 10231 + }, + { + "altDescription": "goreplay is an open - sourc tool for captur and replay live http traffic into a test environ in order to continu test your system with real data . it can be use to increas confid in code deploy , configur chang and infrastructur chang .", + "altName": "buger / goreplay", + "category": "installerpedia", + "description": "GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.", + "has_installation": false, + "id": "installerpedia-41", + "installation_methods": [ + { + "instructions": [ + { + "command": "curl -s https://api.github.com/repos/buger/goreplay/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '\"' -f 4 | wget -O goreplay-linux-amd64.tar.gz", + "meaning": "Downloads the latest release binary for Linux (amd64 architecture) from the GitHub releases API and saves it as a compressed tarball." + }, + { + "command": "tar -xzf goreplay-linux-amd64.tar.gz", + "meaning": "Extracts the downloaded tarball, which should contain the GoReplay executable." + }, + { + "command": "sudo mv goreplay-linux-amd64 /usr/local/bin/gor", + "meaning": "Moves the extracted GoReplay executable to a directory in the system's PATH, making it accessible globally as the 'gor' command. Requires superuser privileges." + } + ], + "title": "Download Latest Binary" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/buger/goreplay.git", + "meaning": "Clones the GoReplay repository from GitHub to your local machine, providing the source code." + }, + { + "command": "cd goreplay", + "meaning": "Navigates into the cloned GoReplay directory." + }, + { + "command": "go build -o gor .", + "meaning": "Builds the GoReplay executable from the source code in the current directory. The '-o gor' flag names the output executable 'gor'." + }, + { + "command": "sudo mv gor /usr/local/bin/gor", + "meaning": "Moves the compiled GoReplay executable to a directory in the system's PATH, making it accessible globally as the 'gor' command. Requires superuser privileges." + } + ], + "title": "Compile from Source" + } + ], + "name": "buger/goreplay", + "note": "", + "path": "/freedevtools/installerpedia/tool/buger-goreplay", + "post_installation": [ + "After installation, you can run GoReplay using the `gor` command.", + "Example: `sudo ./gor --input-raw :8000 --output-stdout`", + "Example: `sudo ./gor --input-raw :8000 --output-http http://staging.env`" + ], + "prerequisites": [ + { + "applies_to": [ + "linux", + "macos" + ], + "description": "Superuser do, used to execute commands with root privileges, often required for network operations like listening on privileged ports.", + "name": "sudo", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "Go programming language, required for compiling the project from source.", + "name": "Go", + "optional": true, + "type": "language", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides detailed information on how to use and potentially install GoReplay.", + "title": "latest documentation", + "type": "documentation", + "url_or_path": "http://github.com/buger/goreplay/wiki" + }, + { + "reason": "Contains specific instructions for building GoReplay from source.", + "title": "Compilation", + "type": "documentation", + "url_or_path": "https://github.com/buger/goreplay/wiki/Compilation" + }, + { + "reason": "Offers initial steps and examples for using GoReplay, which may include setup details.", + "title": "Getting Started", + "type": "documentation", + "url_or_path": "https://github.com/buger/goreplay/wiki/Getting-Started" + }, + { + "reason": "May contain answers to common installation or setup problems.", + "title": "FAQ", + "type": "documentation", + "url_or_path": "https://github.com/buger/goreplay/wiki/FAQ" + }, + { + "reason": "Likely contains solutions to installation or runtime issues.", + "title": "Troubleshooting", + "type": "documentation", + "url_or_path": "https://github.com/buger/goreplay/wiki/Troubleshooting" + } + ], + "stars": 19170 + }, + { + "altDescription": "a high - perform algorithm trade platform and event - driven backtest", + "altName": "nautechsystem / nautilus_trad", + "category": "installerpedia", + "description": "A high-performance algorithmic trading platform and event-driven backtester", + "has_installation": false, + "id": "installerpedia-42", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install -U nautilus_trader", + "meaning": "Installs the latest stable version of NautilusTrader from the Python Package Index (PyPI) using pip. The -U flag ensures that the package is upgraded if it's already installed." + } + ], + "title": "Install from PyPI (Recommended)" + }, + { + "instructions": [ + { + "command": "pip install -U nautilus_trader --index-url=https://packages.nautechsystems.io/simple", + "meaning": "Installs the latest stable version of NautilusTrader from the Nautech Systems package index. This index hosts official releases and may offer faster access or specific builds." + } + ], + "title": "Install from Nautech Systems Package Index (Stable Wheels)" + }, + { + "instructions": [ + { + "command": "pip install -U nautilus_trader --pre --index-url=https://packages.nautechsystems.io/simple", + "meaning": "Installs the latest pre-release version (including development wheels) of NautilusTrader from the Nautech Systems package index. The --pre flag tells pip to consider pre-release versions. Use with caution in production." + } + ], + "title": "Install from Nautech Systems Package Index (Development Wheels)" + }, + { + "instructions": [ + { + "command": "pip install nautilus_trader==1.221.0a20251026 --index-url=https://packages.nautechsystems.io/simple", + "meaning": "Installs a specific development wheel version (e.g., '1.221.0a20251026') from the Nautech Systems package index. Replace the version string with the desired development version." + } + ], + "title": "Install a Specific Development Wheel" + }, + { + "instructions": [ + { + "command": "curl https://sh.rustup.rs -sSf | sh", + "meaning": "Installs rustup, the Rust toolchain installer, which manages Rust versions and related tools like cargo. This is a prerequisite for building from source." + }, + { + "command": "source $HOME/.cargo/env", + "meaning": "Configures the current shell environment to recognize the cargo command installed by rustup. This needs to be run in each new terminal session or added to your shell profile." + }, + { + "command": "curl -LsSf https://astral.sh/uv/install.sh | sh", + "meaning": "Installs uv, a fast Python package manager, which is recommended for managing dependencies during the build process." + }, + { + "command": "sudo apt-get install clang", + "meaning": "Installs clang, a C language frontend for LLVM, which is a build dependency for compiling Rust code with Python bindings." + }, + { + "command": "git clone --branch develop --depth 1 https://github.com/nautechsystems/nautilus_trader", + "meaning": "Clones the NautilusTrader repository from GitHub. --branch develop targets the development branch, and --depth 1 creates a shallow clone for faster download." + }, + { + "command": "cd nautilus_trader", + "meaning": "Navigates into the cloned repository directory." + }, + { + "command": "uv sync --all-extras", + "meaning": "Installs all project dependencies, including development and testing extras, using uv. This prepares the environment for building." + }, + { + "command": "export LD_LIBRARY_PATH=\"$HOME/.local/share/uv/python/cpython-3.13.4-linux-x86_64-gnu/lib:$LD_LIBRARY_PATH\"", + "meaning": "Sets the library path to include the Python interpreter's shared libraries, which is necessary for PyO3 (Python bindings for Rust) to link correctly. Adjust the Python version and architecture as needed." + }, + { + "command": "export PYO3_PYTHON=$(pwd)/.venv/bin/python", + "meaning": "Sets the PYO3_PYTHON environment variable to point to the Python interpreter within the project's virtual environment. This tells PyO3 which Python interpreter to use for building extensions." + }, + { + "command": "make install", + "meaning": "Builds and installs NautilusTrader from source in release mode with all dependencies. This command leverages the Makefile to automate the build and installation process." + } + ], + "title": "Build from Source (Linux/macOS)" + }, + { + "instructions": [ + { + "command": "Download and install rustup-init.exe from https://win.rustup.rs/x86_64", + "meaning": "Installs rustup, the Rust toolchain installer, which manages Rust versions and related tools like cargo. This is a prerequisite for building from source." + }, + { + "command": "Install \"Desktop development with C++\" using Build Tools for Visual Studio 2022 from https://visualstudio.microsoft.com/visual-cpp-build-tools/", + "meaning": "Installs the necessary C++ build tools, including MSVC, which are required for compiling Rust code with Python bindings on Windows." + }, + { + "command": "Start a new PowerShell session", + "meaning": "Opens a new PowerShell terminal to ensure environment variables are correctly loaded." + }, + { + "command": "irm https://astral.sh/uv/install.ps1 | iex", + "meaning": "Installs uv, a fast Python package manager, which is recommended for managing dependencies during the build process." + }, + { + "command": "Install \"C++ Clang tools for Windows (latest)\" via Visual Studio Installer | Modify | C++ Clang tools for Windows = checked | Modify", + "meaning": "Installs the Clang compiler for Windows, which is a build dependency for compiling Rust code with Python bindings." + }, + { + "command": "[System.Environment]::SetEnvironmentVariable('path', \"C:\\Program Files\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\Llvm\\x64\\bin\\;\" + $env:Path,\"User\")", + "meaning": "Adds the Clang executable directory to the system's PATH environment variable, making the 'clang' command available in the PowerShell session. Adjust the path if your Visual Studio installation is different." + }, + { + "command": "git clone --branch develop --depth 1 https://github.com/nautechsystems/nautilus_trader", + "meaning": "Clones the NautilusTrader repository from GitHub. --branch develop targets the development branch, and --depth 1 creates a shallow clone for faster download." + }, + { + "command": "cd nautilus_trader", + "meaning": "Navigates into the cloned repository directory." + }, + { + "command": "uv sync --all-extras", + "meaning": "Installs all project dependencies, including development and testing extras, using uv. This prepares the environment for building." + }, + { + "command": "make install", + "meaning": "Builds and installs NautilusTrader from source in release mode with all dependencies. This command leverages the Makefile to automate the build and installation process." + } + ], + "title": "Build from Source (Windows)" + }, + { + "instructions": [ + { + "command": "docker pull ghcr.io/nautechsystems/jupyterlab:nightly --platform linux/amd64", + "meaning": "Pulls the nightly Docker image which includes NautilusTrader and JupyterLab. The --platform flag ensures compatibility with the specified architecture." + }, + { + "command": "docker run -p 8888:8888 ghcr.io/nautechsystems/jupyterlab:nightly", + "meaning": "Runs the pulled Docker container, mapping port 8888 on the host to port 8888 in the container. This starts JupyterLab, which provides an environment to use NautilusTrader." + } + ], + "title": "Docker Installation" + } + ], + "name": "nautechsystems/nautilus_trader", + "note": "", + "path": "/freedevtools/installerpedia/library/nautechsystems-nautilus_trader", + "post_installation": [ + "To use Redis with NautilusTrader (optional, for cache or message bus), refer to the Redis section in the Installation Guide: https://nautilustrader.io/docs/latest/getting_started/installation#redis", + "For detailed information on development workflows, see the Developer Guide: https://nautilustrader.io/docs/latest/developer_guide/", + "To run Rust tests, ensure cargo-nextest is installed (`cargo install cargo-nextest`) and then use `make cargo-test`.", + "To build documentation, use `make docs`.", + "To run linters and formatters, use `make pre-commit` or `make ruff`.", + "To run Python tests, use `make pytest`.", + "To run performance tests, use `make test-performance`.", + "To clean build artifacts, use `make clean`.", + "To perform a full clean removing all non-git artifacts (use with caution), use `make distclean`." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "NautilusTrader is a Python-native platform. It is recommended to use the latest supported versions of Python.", + "name": "Python", + "optional": false, + "type": "language", + "version": ">=3.12" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "Python's package installer, used to install NautilusTrader and its dependencies.", + "name": "pip", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "linux", + "macos", + "windows", + "development", + "production" + ], + "description": "A fast Python package installer and resolver, recommended for installing NautilusTrader.", + "name": "uv", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows", + "source_build" + ], + "description": "The Rust toolchain installer, required for building NautilusTrader from source.", + "name": "rustup", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows", + "source_build" + ], + "description": "The Rust package manager and build tool, installed via rustup. Required for building NautilusTrader from source.", + "name": "cargo", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "windows", + "source_build" + ], + "description": "A C language frontend for LLVM, required for building NautilusTrader from source on Linux and Windows.", + "name": "clang", + "optional": true, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "binary_install" + ], + "description": "GNU C Library, required for installing binary wheels on Linux. Ensure your glibc version is 2.35 or newer.", + "name": "glibc", + "optional": false, + "type": "system_package", + "version": ">=2.35" + }, + { + "applies_to": [ + "windows", + "source_build" + ], + "description": "Required for C++ development on Windows, specifically for installing Clang tools needed for building from source.", + "name": "Build Tools for Visual Studio 2022", + "optional": true, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "production", + "development" + ], + "description": "Optional, but required if configured as the backend for a cache database or message bus.", + "name": "Redis", + "optional": true, + "type": "service", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions and further context for installing NautilusTrader, including information on precision modes and Redis integration.", + "title": "Installation Guide", + "type": "documentation", + "url_or_path": "https://nautilustrader.io/docs/latest/getting_started/installation" + }, + { + "reason": "Contains helpful information for developers working with the codebase, including efficient development workflows.", + "title": "Developer Guide", + "type": "documentation", + "url_or_path": "https://nautilustrader.io/docs/latest/developer_guide/" + }, + { + "reason": "Details how to integrate NautilusTrader with various trading venues and data providers, which may involve specific setup steps.", + "title": "Integrations Documentation", + "type": "documentation", + "url_or_path": "https://nautilustrader.io/docs/latest/integrations/" + }, + { + "reason": "Contains build system configuration and dependencies required for building from source.", + "title": "pyproject.toml", + "type": "file", + "url_or_path": "pyproject.toml" + }, + { + "reason": "Automates common installation, build, and testing tasks for development.", + "title": "Makefile", + "type": "file", + "url_or_path": "Makefile" + } + ], + "stars": 16293 + }, + { + "altDescription": "offici react bind for redux", + "altName": "reduxj / react - redux", + "category": "installerpedia", + "description": "Official React bindings for Redux", + "has_installation": false, + "id": "installerpedia-43", + "installation_methods": [ + { + "instructions": [ + { + "command": "npx degit reduxjs/redux-templates/packages/vite-template-redux my-app", + "meaning": "Uses `degit` to clone and extract the official Redux+TS template for Vite into a new directory named 'my-app'. This sets up a new project with React, Redux Toolkit, and React-Redux pre-configured." + } + ], + "title": "Create a New Project with Redux+TS Template (Vite)" + }, + { + "instructions": [ + { + "command": "npx create-next-app --example with-redux my-app", + "meaning": "Uses `create-next-app` to scaffold a new Next.js project, specifically using the 'with-redux' example which includes React-Redux setup." + } + ], + "title": "Create a New Project with Redux Template (Next.js)" + }, + { + "instructions": [ + { + "command": "npm install react-redux", + "meaning": "Installs the `react-redux` package as a dependency in your project using npm. This makes the library available for use in your React application." + } + ], + "title": "Add to an Existing React App (npm)" + }, + { + "instructions": [ + { + "command": "yarn add react-redux", + "meaning": "Installs the `react-redux` package as a dependency in your project using Yarn. This is an alternative to npm for managing project dependencies." + } + ], + "title": "Add to an Existing React App (Yarn)" + }, + { + "instructions": [ + { + "command": "\n", + "meaning": "Includes the UMD build of React Redux directly from a CDN. This makes `ReactRedux` available as a global variable. This method is generally not recommended for production applications as it bypasses package managers and module bundlers." + } + ], + "title": "UMD Build (Not Recommended for Serious Applications)" + } + ], + "name": "reduxjs/react-redux", + "note": "", + "path": "/freedevtools/installerpedia/library/reduxjs-react-redux", + "post_installation": [ + "Install Redux: [https://redux.js.org/introduction/installation](https://redux.js.org/introduction/installation)", + "Set up a Redux store in your app: [https://redux.js.org/recipes/configuring-your-store/](https://redux.js.org/recipes/configuring-your-store/)" + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "React Redux requires React 18 or later.", + "name": "React", + "optional": false, + "type": "library", + "version": ">=18.0.0" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "npm is used for installing the react-redux package and other dependencies.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Yarn is an alternative package manager for installing the react-redux package.", + "name": "Yarn", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "React Redux is a binding for Redux, so Redux itself must be installed and a store set up.", + "name": "Redux", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Webpack is a module bundler commonly used with npm for consuming CommonJS modules.", + "name": "Webpack", + "optional": true, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Browserify is an alternative module bundler for consuming CommonJS modules.", + "name": "Browserify", + "optional": true, + "type": "build_tool", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Official documentation for React Redux, likely containing detailed setup and usage instructions.", + "title": "React Redux Documentation", + "type": "documentation", + "url_or_path": "https://react-redux.js.org" + }, + { + "reason": "Provides a pre-configured Vite project template with Redux and React-Redux, useful for understanding setup.", + "title": "Redux Templates (Vite)", + "type": "repo", + "url_or_path": "https://github.com/reduxjs/redux-templates/packages/vite-template-redux" + }, + { + "reason": "A Next.js example demonstrating how to integrate Redux and React-Redux into a Next.js application.", + "title": "Next.js `with-redux` Example", + "type": "repo", + "url_or_path": "https://github.com/vercel/next.js/tree/canary/examples/with-redux" + }, + { + "reason": "External documentation for installing Redux, which is a prerequisite for React Redux.", + "title": "Redux Installation Guide", + "type": "documentation", + "url_or_path": "https://redux.js.org/introduction/installation" + }, + { + "reason": "External documentation for setting up a Redux store, a necessary step after installing React Redux.", + "title": "Redux Store Configuration Guide", + "type": "documentation", + "url_or_path": "https://redux.js.org/recipes/configuring-your-store/" + } + ], + "stars": 23509 + }, + { + "altDescription": "an ai agent develop platform with all - in - one visual tool , simplifi agent creation , debug , and deploy like never befor . coze your way to ai agent creation .", + "altName": "coze - dev / coze - studio", + "category": "installerpedia", + "description": "An AI agent development platform with all-in-one visual tools, simplifying agent creation, debugging, and deployment like never before. Coze your way to AI Agent creation.", + "has_installation": false, + "id": "installerpedia-44", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/coze-dev/coze-studio.git", + "meaning": "Clones the Coze Studio repository from GitHub to your local machine." + }, + { + "command": "cd coze-studio", + "meaning": "Navigates into the cloned Coze Studio directory." + }, + { + "command": "cp .env.example .env", + "meaning": "Copies the example environment file to a new file named .env. This file is used to configure environment-specific settings for the application. This step is specifically mentioned for Windows, but it's good practice to ensure this file exists for other OS as well." + }, + { + "command": "docker compose -f ./docker/docker-compose.yml up", + "meaning": "Starts the Coze Studio services using Docker Compose. This command will download necessary Docker images, build local images if needed, and launch all the required containers for Coze Studio to run. This may take some time on the first run." + } + ], + "title": "Docker Compose Deployment" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/coze-dev/coze-studio.git", + "meaning": "Clones the Coze Studio repository from GitHub to your local machine." + }, + { + "command": "cd coze-studio", + "meaning": "Navigates into the cloned Coze Studio directory." + }, + { + "command": "make web", + "meaning": "Executes the 'web' target defined in the Makefile. This command is used on macOS or Linux to build and start the Coze Studio web service. It likely handles dependency installation, compilation, and service startup." + } + ], + "title": "macOS/Linux Build and Start" + } + ], + "name": "coze-dev/coze-studio", + "note": "", + "path": "/freedevtools/installerpedia/server/coze-dev-coze-studio", + "post_installation": [ + "Ensure Docker and Docker Compose services are running before attempting deployment.", + "After the service starts successfully (indicated by 'Container coze-server Started'), register an account by visiting `http://localhost:8888/sign`.", + "Configure models by visiting `http://localhost:8888/admin/#model-management` and adding a new model (image version must be >= 0.5.0).", + "Access Coze Studio at `http://localhost:8888/`." + ], + "prerequisites": [ + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Containerization platform for deploying and running applications.", + "name": "Docker", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Tool for defining and running multi-container Docker applications.", + "name": "Docker Compose", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "linux", + "macos", + "windows" + ], + "description": "Minimum system requirements: 2 Cores, 4 GB RAM.", + "name": "Core", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "source_build", + "development" + ], + "description": "Programming language used for the backend of Coze Studio.", + "name": "Go", + "optional": false, + "type": "language", + "version": ">= 1.23.4" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides solutions for common startup failure issues during deployment.", + "title": "FAQ", + "type": "wiki", + "url_or_path": "https://github.com/coze-dev/coze-studio/wiki/9.-FAQ" + }, + { + "reason": "Details security risks and protective measures when deploying Coze Studio in a public network environment.", + "title": "Quickstart", + "type": "wiki", + "url_or_path": "https://github.com/coze-dev/coze-studio/wiki/2.-Quickstart#security-risks-in-public-networks" + }, + { + "reason": "Essential step for configuring model services before deploying the open-source version, required for building agents, workflows, and apps.", + "title": "Model Configuration", + "type": "wiki", + "url_or_path": "https://github.com/coze-dev/coze-studio/wiki/3.-Model-configuration" + }, + { + "reason": "Instructions for configuring plugins to use official plugins from the plugin store and add authentication keys for third-party services.", + "title": "Plugin Configuration", + "type": "wiki", + "url_or_path": "https://github.com/coze-dev/coze-studio/wiki/4.-Plugin-Configuration" + }, + { + "reason": "Provides comprehensive information on using Coze Studio, including differences between open-source and commercial versions.", + "title": "Coze Development Platform Official Documentation Center", + "type": "documentation", + "url_or_path": "https://www.coze.cn/open/docs" + } + ], + "stars": 18529 + }, + { + "altDescription": "markdown compon for react", + "altName": "remarkj / react - markdown", + "category": "installerpedia", + "description": "Markdown component for React", + "has_installation": false, + "id": "installerpedia-45", + "installation_methods": [ + { + "instructions": [ + { + "command": "npm install react-markdown", + "meaning": "Installs the react-markdown package and its dependencies using npm, the Node.js package manager." + } + ], + "title": "Install with npm" + }, + { + "instructions": [ + { + "command": "import Markdown from 'https://esm.sh/react-markdown@10'", + "meaning": "Imports the react-markdown component from esm.sh, a CDN for npm packages, for use in Deno projects." + } + ], + "title": "Install with Deno" + }, + { + "instructions": [ + { + "command": "", + "meaning": "Includes the react-markdown component in a browser environment using a script tag and esm.sh, bundling it for efficient loading." + } + ], + "title": "Install in browsers with esm.sh" + } + ], + "name": "remarkjs/react-markdown", + "note": "", + "path": "/freedevtools/installerpedia/library/remarkjs-react-markdown", + "post_installation": [ + "Ensure your project is set up to use React and Node.js.", + "Import the `Markdown` component into your React application.", + "Pass your markdown content as a child to the `Markdown` component.", + "Optionally, configure `remarkPlugins`, `rehypePlugins`, and `components` for advanced customization." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Required for installing and running the package.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "16+" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Node Package Manager, used to install the library.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "The primary language for React development.", + "name": "JavaScript", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "The JavaScript library for building user interfaces.", + "name": "React", + "optional": false, + "type": "library", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Explains the core processing pipeline used by react-markdown, which is essential for understanding how markdown is transformed.", + "title": "unified", + "type": "documentation", + "url_or_path": "https://github.com/unifiedjs/unified" + }, + { + "reason": "Details the markdown processing ecosystem and plugins, which are integral to react-markdown's functionality.", + "title": "remark", + "type": "documentation", + "url_or_path": "https://github.com/remarkjs/remark" + }, + { + "reason": "Describes the HTML processing ecosystem and plugins, used by react-markdown for transforming markdown to HTML syntax trees.", + "title": "rehype", + "type": "documentation", + "url_or_path": "https://github.com/rehypejs/rehype" + }, + { + "reason": "Provides a list of available remark plugins that can be used to extend react-markdown's capabilities.", + "title": "remark plugins list", + "type": "documentation", + "url_or_path": "https://github.com/remarkjs/remark/blob/main/doc/plugins.md#list-of-plugins" + }, + { + "reason": "Provides a list of available rehype plugins that can be used to extend react-markdown's capabilities.", + "title": "rehype plugins list", + "type": "documentation", + "url_or_path": "https://github.com/rehypejs/rehype/blob/main/doc/plugins.md#list-of-plugins" + } + ], + "stars": 15180 + }, + { + "altDescription": "interact with your document use the power of gpt , 100 % privat , no data leak", + "altName": "zylon - ai / privat - gpt", + "category": "installerpedia", + "description": "Interact with your documents using the power of GPT, 100% privately, no data leaks", + "has_installation": false, + "id": "installerpedia-46", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/zylon-ai/private-gpt.git", + "meaning": "Clones the PrivateGPT repository from GitHub to your local machine." + }, + { + "command": "cd private-gpt", + "meaning": "Navigates into the cloned repository directory." + } + ], + "title": "Clone the Repository" + }, + { + "instructions": [ + { + "command": "pip install -r requirements.txt", + "meaning": "Installs all the Python packages required by PrivateGPT using pip." + } + ], + "title": "Install Dependencies" + } + ], + "name": "zylon-ai/private-gpt", + "note": "", + "path": "/freedevtools/installerpedia/server/zylon-ai-private-gpt", + "post_installation": [ + "The documentation at https://docs.privategpt.dev/ provides comprehensive guides on configuration, running the server, deployment options, ingesting local documents, API details, and UI features.", + "It is strongly recommended to consult the official documentation for detailed setup and usage instructions, as the README may not be updated as frequently." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Python is required to run the PrivateGPT application.", + "name": "Python", + "optional": false, + "type": "language", + "version": ">=3.10" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Pip is the package installer for Python, used to install project dependencies.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Git is used to clone the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "server", + "resources_of_interest": [ + { + "reason": "Provides full documentation on installation, dependencies, configuration, running the server, deployment options, ingesting local documents, API details and UI features.", + "title": "PrivateGPT Documentation", + "type": "documentation", + "url_or_path": "https://docs.privategpt.dev/" + }, + { + "reason": "Contains the previous version of PrivateGPT, which might be useful for comparison or experimentation.", + "title": "PrivateGPT Primordial Branch", + "type": "repo", + "url_or_path": "https://github.com/zylon-ai/private-gpt/tree/primordial" + }, + { + "reason": "Lists all Python dependencies required for the project.", + "title": "requirements.txt", + "type": "file", + "url_or_path": "requirements.txt" + }, + { + "reason": "Provides citation information for the project, which might be relevant for academic or research use.", + "title": "CITATION.cff", + "type": "file", + "url_or_path": "CITATION.cff" + } + ], + "stars": 56835 + }, + { + "altDescription": "📊 an infograph generat with 30 + plugin and 300 + option to display stat about your github account and render them as svg , markdown , pdf or json !", + "altName": "lowlight / metric", + "category": "installerpedia", + "description": "📊 An infographics generator with 30+ plugins and 300+ options to display stats about your GitHub account and render them as SVG, Markdown, PDF or JSON!", + "has_installation": false, + "id": "installerpedia-47", + "installation_methods": [ + { + "instructions": [ + { + "command": "git clone https://github.com/lowlighter/metrics.git", + "meaning": "Clones the Metrics repository to your local machine. This is the first step if you intend to use the GitHub Action for generating metrics directly within your profile repository." + }, + { + "command": "cd metrics", + "meaning": "Navigates into the cloned Metrics repository directory." + }, + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js dependencies for the Metrics project. This is required for building and running the project locally or for using it within a GitHub Action." + } + ], + "title": "Using GitHub Action on a profile repository" + }, + { + "instructions": [ + { + "command": "echo \"No installation required, use the shared instance at https://metrics.lecoq.io\"", + "meaning": "This indicates that no local installation is needed. Users can directly utilize the provided web service for generating metrics." + } + ], + "title": "Using the shared instance" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/lowlighter/metrics.git", + "meaning": "Clones the Metrics repository to your local machine. This is the starting point for deploying your own web instance." + }, + { + "command": "cd metrics", + "meaning": "Navigates into the cloned Metrics repository directory." + }, + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js dependencies for the Metrics project, which is required for running the web instance." + }, + { + "command": "docker build -t metrics-web .", + "meaning": "Builds a Docker image named 'metrics-web' from the current directory. This image will contain the Metrics application, ready to be run as a containerized web service." + }, + { + "command": "docker run -d -p 80:80 metrics-web", + "meaning": "Runs the 'metrics-web' Docker image in detached mode (-d) and maps port 80 on the host to port 80 in the container. This starts the Metrics web application, making it accessible via your browser." + } + ], + "title": "Deploying a web instance" + }, + { + "instructions": [ + { + "command": "docker run --rm -it -v \"$(pwd)\":/app lowlighter/metrics:latest", + "meaning": "Runs the Metrics Docker image in interactive mode (--rm cleans up the container after exit, -it enables interactive TTY). It mounts the current directory into the container at /app, allowing for potential file operations or output saving. This command is for one-time rendering via the CLI." + } + ], + "title": "Using command line with docker" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/lowlighter/metrics.git", + "meaning": "Clones the Metrics repository to your local machine. This is the first step for setting up the project for development." + }, + { + "command": "cd metrics", + "meaning": "Navigates into the cloned Metrics repository directory." + }, + { + "command": "npm install", + "meaning": "Installs all the necessary Node.js dependencies for the Metrics project. This is crucial for development as it provides the tools and libraries needed to build, test, and run the application." + } + ], + "title": "Local setup for development" + } + ], + "name": "lowlighter/metrics", + "note": "", + "path": "/freedevtools/installerpedia/tool/lowlighter-metrics", + "post_installation": [ + "Refer to the specific setup documentation for your chosen method (GitHub Action, Shared Instance, Web Instance, Docker, or Local Development) for detailed post-installation steps and configuration.", + "For example, if using the GitHub Action, you will need to configure your profile repository to use the action.", + "If deploying a web instance, you may need to configure environment variables or reverse proxies.", + "For local development, you will likely run the application using `npm start` or similar commands after installation." + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "source_build" + ], + "description": "Git is a distributed version control system used for source code management.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "development", + "source_build" + ], + "description": "Node.js is a JavaScript runtime environment that allows you to run JavaScript code outside of a web browser.", + "name": "node", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "development", + "source_build" + ], + "description": "npm (Node Package Manager) is the default package manager for Node.js, used to install and manage JavaScript libraries and dependencies.", + "name": "npm", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Docker is a platform for developing, shipping, and running applications in containers. It's used here for containerized deployment.", + "name": "docker", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides detailed instructions for setting up Metrics using GitHub Actions.", + "title": "Setup Documentation", + "type": "documentation", + "url_or_path": "/.github/readme/partials/documentation/setup/action.md" + }, + { + "reason": "Explains how to use the pre-existing shared instance of Metrics.", + "title": "Shared Instance Setup", + "type": "documentation", + "url_or_path": "/.github/readme/partials/documentation/setup/shared.md" + }, + { + "reason": "Details the process of deploying a self-hosted web instance of Metrics.", + "title": "Web Instance Deployment", + "type": "documentation", + "url_or_path": "/.github/readme/partials/documentation/setup/web.md" + }, + { + "reason": "Provides instructions for using Metrics via Docker command line.", + "title": "Docker CLI Usage", + "type": "documentation", + "url_or_path": "/.github/readme/partials/documentation/setup/docker.md" + }, + { + "reason": "Guides users through setting up Metrics for local development.", + "title": "Local Development Setup", + "type": "documentation", + "url_or_path": "/.github/readme/partials/documentation/setup/local.md" + } + ], + "stars": 15645 + }, + { + "altDescription": "🍺 the miss packag manag for maco ( or linux )", + "altName": "homebrew / brew", + "category": "installerpedia", + "description": "🍺 The missing package manager for macOS (or Linux)", + "has_installation": false, + "id": "installerpedia-48", + "installation_methods": [ + { + "instructions": [ + { + "command": "/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"", + "meaning": "Downloads and executes the official Homebrew installation script from GitHub. This script will install Homebrew and its dependencies, and configure your system to use it. It's the recommended and most straightforward way to install Homebrew on macOS." + } + ], + "title": "Install Homebrew on macOS" + } + ], + "name": "Homebrew/brew", + "note": "", + "path": "/freedevtools/installerpedia/cli/Homebrew-brew", + "post_installation": [ + "After installation, you may need to add Homebrew to your PATH. The installer will usually prompt you to do this.", + "Run `brew update` to fetch the latest package information.", + "Run `brew doctor` to check for any potential issues with your Homebrew installation." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "macos" + ], + "description": "Homebrew is primarily designed for macOS.", + "name": "macOS", + "optional": false, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "macos", + "source_build" + ], + "description": "Required for compiling software on macOS.", + "name": "Xcode Command Line Tools", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "global", + "macos", + "source_build" + ], + "description": "Homebrew is written in Ruby and requires it to run.", + "name": "Ruby", + "optional": false, + "type": "language", + "version": "" + } + ], + "repo_type": "cli", + "resources_of_interest": [ + { + "reason": "Provides a summary of features, usage, and installation instructions.", + "title": "Homebrew Homepage", + "type": "documentation", + "url_or_path": "https://brew.sh" + }, + { + "reason": "Explains key Homebrew concepts which might be relevant during setup or troubleshooting.", + "title": "Homebrew Terminology", + "type": "documentation", + "url_or_path": "https://docs.brew.sh/Formula-Cookbook#homebrew-terminology" + }, + { + "reason": "Comprehensive documentation including help, man pages, and advanced topics.", + "title": "Homebrew Documentation", + "type": "documentation", + "url_or_path": "https://docs.brew.sh/" + }, + { + "reason": "Essential resource for diagnosing and resolving installation or operational issues.", + "title": "Homebrew Troubleshooting Checklist", + "type": "documentation", + "url_or_path": "https://docs.brew.sh/Troubleshooting" + }, + { + "reason": "The actual installation script that is downloaded and executed. Examining this script can provide detailed insights into the installation process.", + "title": "install.sh", + "type": "file", + "url_or_path": "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh" + } + ], + "stars": 45470 + }, + { + "altDescription": "high perform < canva > render for react compon", + "altName": "flipboard / react - canva", + "category": "installerpedia", + "description": "High performance rendering for React components", + "has_installation": false, + "id": "installerpedia-49", + "installation_methods": [ + { + "instructions": [ + { + "command": "npm install react-canvas", + "meaning": "Installs the react-canvas package and its dependencies from the npm registry into your project's node_modules directory." + } + ], + "title": "Install via npm" + }, + { + "instructions": [ + { + "command": "npm install -g brfs", + "meaning": "Installs the brfs command-line tool globally, which is a prerequisite for the webpack transform." + }, + { + "command": "npm install --save-dev transform-loader brfs", + "meaning": "Installs the transform-loader and brfs as development dependencies for your project, enabling the brfs transform in webpack." + } + ], + "title": "Install for webpack usage" + }, + { + "instructions": [ + { + "command": "npm install", + "meaning": "Installs all the necessary development dependencies for the examples, including react-canvas itself and any other required packages." + }, + { + "command": "npm start", + "meaning": "Starts a live reloading development server on port 8080, allowing you to view and test the examples." + } + ], + "title": "Running the examples" + } + ], + "name": "Flipboard/react-canvas", + "note": "", + "path": "/freedevtools/installerpedia/library/Flipboard-react-canvas", + "post_installation": [ + "To improve scrolling performance in production environments, run your application with `NODE_ENV=production`.", + "When using webpack, ensure the `brfs` transform is configured in your webpack configuration:", + "javascript", + "module: {", + " postLoaders: [", + " { loader: \"transform?brfs\" }", + " ]", + "}", + "" + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Node Package Manager, used for installing JavaScript dependencies.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "JavaScript runtime environment required for npm.", + "name": "Node.js", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development" + ], + "description": "A module bundler for JavaScript applications. Required for using react-canvas with webpack.", + "name": "webpack", + "optional": true, + "type": "build_tool", + "version": "" + }, + { + "applies_to": [ + "development" + ], + "description": "A transform for brfs that is required to use react-canvas with webpack.", + "name": "brfs", + "optional": true, + "type": "build_tool", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides context and motivation for the project, which might indirectly inform installation or usage decisions.", + "title": "Introductory blog post", + "type": "documentation", + "url_or_path": "http://engineering.flipboard.com/2015/02/mobile-web" + }, + { + "reason": "Details supported events, which is crucial for understanding how to integrate and use the library effectively after installation.", + "title": "EventTypes", + "type": "documentation", + "url_or_path": "lib/EventTypes.js" + }, + { + "reason": "A more complete example demonstrating the usage of ListView, which is a key component and might require specific setup or understanding.", + "title": "timeline example", + "type": "example", + "url_or_path": "examples/timeline/app.js" + }, + { + "reason": "Demonstrates experimental support for css-layout, which could influence how components are styled and managed after installation.", + "title": "css-layout example", + "type": "example", + "url_or_path": "examples/css-layout" + }, + { + "reason": "Required for contributors, indicating a formal process for contributing to the project which might involve specific build or setup steps.", + "title": "Individual Contributor License Agreement (CLA)", + "type": "documentation", + "url_or_path": "https://docs.google.com/forms/d/1gh9y6_i8xFn6pA15PqFeye19VqasuI9-bGp_e0owy74/viewform" + } + ], + "stars": 13212 + }, + { + "altDescription": "利 用 ai 大 模 型 , 一 键 生 成 高 清 短 视 频 generat short video with one click use ai llm .", + "altName": "harry0703 / moneyprinterturbo", + "category": "installerpedia", + "description": "利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.", + "has_installation": false, + "id": "installerpedia-50", + "installation_methods": [ + { + "instructions": [ + { + "command": "Download the one-click installer package.", + "meaning": "Download the provided executable package for Windows." + }, + { + "command": "Extract the downloaded package to a directory without Chinese characters, special characters, or spaces.", + "meaning": "Unpack the installer files to a clean directory path to avoid potential issues." + }, + { + "command": "Run `update.bat` to update to the latest code.", + "meaning": "Execute the batch script to ensure you have the most recent version of the application." + }, + { + "command": "Run `start.bat` to launch the application.", + "meaning": "Execute the batch script to start the MoneyPrinterTurbo application." + }, + { + "command": "The application will automatically open in your browser. If it's blank, try opening it with Chrome or Edge.", + "meaning": "The installer will launch the web interface. If the default browser doesn't display it correctly, use Chrome or Edge." + } + ], + "title": "Windows One-Click Installer" + }, + { + "instructions": [ + { + "command": "Install Docker Desktop if you haven't already. For Windows, refer to Microsoft's WSL installation guides.", + "meaning": "Ensure Docker is installed and configured on your system. WSL is recommended for Windows users." + }, + { + "command": "Clone the repository: `git clone https://github.com/harry0703/MoneyPrinterTurbo.git`", + "meaning": "Download the source code of the application using Git." + }, + { + "command": "Navigate to the cloned directory: `cd MoneyPrinterTurbo`", + "meaning": "Change the current directory to the project's root folder." + }, + { + "command": "Start Docker containers: `docker compose up`", + "meaning": "Build and start the Docker containers defined in the `docker-compose.yml` file. Note: Newer Docker versions use `docker compose up`." + }, + { + "command": "Access the Web UI at http://0.0.0.0:8501", + "meaning": "Open your web browser and navigate to this address to use the application's web interface." + }, + { + "command": "Access the API documentation at http://0.0.0.0:8080/docs or http://0.0.0.0:8080/redoc", + "meaning": "View the API documentation to understand and interact with the application's API endpoints." + } + ], + "title": "Docker Deployment" + }, + { + "instructions": [ + { + "command": "Clone the repository: `git clone https://github.com/harry0703/MoneyPrinterTurbo.git`", + "meaning": "Download the source code of the application using Git." + }, + { + "command": "Navigate to the cloned directory: `cd MoneyPrinterTurbo`", + "meaning": "Change the current directory to the project's root folder." + }, + { + "command": "Create a Python virtual environment using conda: `conda create -n MoneyPrinterTurbo python=3.11`", + "meaning": "Create an isolated Python environment to manage project dependencies." + }, + { + "command": "Activate the virtual environment: `conda activate MoneyPrinterTurbo`", + "meaning": "Enter the created Python environment." + }, + { + "command": "Install Python dependencies: `pip install -r requirements.txt`", + "meaning": "Install all necessary Python packages listed in the `requirements.txt` file." + }, + { + "command": "Install ImageMagick (e.g., `brew install imagemagick` on macOS, `sudo apt-get install imagemagick` on Ubuntu, `sudo yum install ImageMagick` on CentOS).", + "meaning": "Install the ImageMagick system package, which is crucial for image and video processing." + }, + { + "command": "Start the Web UI: `sh webui.sh`", + "meaning": "Execute the script to launch the web interface of the application." + }, + { + "command": "The Web UI will automatically open in your browser. If it's blank, try opening it with Chrome or Edge.", + "meaning": "The script will launch the web interface. If the default browser doesn't display it correctly, use Chrome or Edge." + }, + { + "command": "Start the API service: `python main.py`", + "meaning": "Run the main Python script to start the application's API server." + }, + { + "command": "Access the API documentation at http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc", + "meaning": "View the API documentation to understand and interact with the application's API endpoints." + } + ], + "title": "Manual Deployment (Linux/macOS)" + }, + { + "instructions": [ + { + "command": "Clone the repository: `git clone https://github.com/harry0703/MoneyPrinterTurbo.git`", + "meaning": "Download the source code of the application using Git." + }, + { + "command": "Navigate to the cloned directory: `cd MoneyPrinterTurbo`", + "meaning": "Change the current directory to the project's root folder." + }, + { + "command": "Create a Python virtual environment using conda: `conda create -n MoneyPrinterTurbo python=3.11`", + "meaning": "Create an isolated Python environment to manage project dependencies." + }, + { + "command": "Activate the virtual environment: `conda activate MoneyPrinterTurbo`", + "meaning": "Enter the created Python environment." + }, + { + "command": "Install Python dependencies: `pip install -r requirements.txt`", + "meaning": "Install all necessary Python packages listed in the `requirements.txt` file." + }, + { + "command": "Download and install ImageMagick (static version recommended). Ensure the installation path is correct and does not contain Chinese characters, special characters, or spaces. Update `config.toml` with the `imagemagick_path`.", + "meaning": "Install the ImageMagick system package, which is crucial for image and video processing. The path needs to be configured in the application's settings." + }, + { + "command": "Start the Web UI: `webui.bat`", + "meaning": "Execute the batch script to launch the web interface of the application." + }, + { + "command": "The Web UI will automatically open in your browser. If it's blank, try opening it with Chrome or Edge.", + "meaning": "The script will launch the web interface. If the default browser doesn't display it correctly, use Chrome or Edge." + }, + { + "command": "Start the API service: `python main.py`", + "meaning": "Run the main Python script to start the application's API server." + }, + { + "command": "Access the API documentation at http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc", + "meaning": "View the API documentation to understand and interact with the application's API endpoints." + } + ], + "title": "Manual Deployment (Windows)" + }, + { + "instructions": [ + { + "command": "Open the provided Google Colab notebook: [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/harry0703/MoneyPrinterTurbo/blob/main/docs/MoneyPrinterTurbo.ipynb)", + "meaning": "Click the badge to open the notebook in Google Colab, which provides a pre-configured environment to run the application without local installation." + } + ], + "title": "Google Colab" + } + ], + "name": "harry0703/MoneyPrinterTurbo", + "note": "", + "path": "/freedevtools/installerpedia/tool/harry0703-MoneyPrinterTurbo", + "post_installation": [ + "Optional: Modify `config.example.toml` and rename it to `config.toml`. Configure `pexels_api_keys` and `llm_provider` with your API keys.", + "If using Whisper for subtitles and facing HuggingFace access issues, manually download the `whisper-large-v3` model from the provided Baidu or Quark links and place the extracted directory in `.\\MoneyPrinterTurbo\\models`.", + "Ensure `ffmpeg` is accessible. If not automatically found, set the `ffmpeg_path` in `config.toml` to the actual path of `ffmpeg.exe`.", + "If encountering 'Too many open files' errors, adjust system file descriptor limits (e.g., `ulimit -n 10240`).", + "If encountering ImageMagick security policy errors, modify `policy.xml` to allow read/write operations for temporary files." + ], + "prerequisites": [ + { + "applies_to": [ + "source_build", + "manual_install", + "docker_deploy" + ], + "description": "Used for cloning the repository.", + "name": "git", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build", + "manual_install" + ], + "description": "The project is developed in Python and requires a specific version for optimal compatibility.", + "name": "Python", + "optional": false, + "type": "language", + "version": "3.11" + }, + { + "applies_to": [ + "source_build", + "manual_install" + ], + "description": "Recommended for creating and managing Python virtual environments.", + "name": "conda", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "source_build", + "manual_install" + ], + "description": "A powerful image manipulation library required for video processing. Specific installation instructions vary by OS.", + "name": "ImageMagick", + "optional": false, + "type": "system_package", + "version": "" + }, + { + "applies_to": [ + "source_build", + "manual_install" + ], + "description": "Required for video processing and manipulation. It may be automatically downloaded or require manual installation.", + "name": "ffmpeg", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Required for deploying the application using Docker.", + "name": "Docker", + "optional": false, + "type": "container_runtime", + "version": "" + }, + { + "applies_to": [ + "docker_deploy" + ], + "description": "Recommended for running Docker on Windows.", + "name": "WSL (Windows Subsystem for Linux)", + "optional": false, + "type": "system_tool", + "version": "" + }, + { + "applies_to": [ + "source_build", + "manual_install", + "docker_deploy" + ], + "description": "A stable internet connection is required for downloading dependencies, models, and potentially for API calls.", + "name": "network connection", + "optional": false, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "source_build", + "manual_install", + "docker_deploy" + ], + "description": "API keys for LLM providers (e.g., OpenAI, Moonshot, Azure) and Pexels are required for full functionality. These can be configured in `config.toml` or via the WebUI.", + "name": "API Keys", + "optional": true, + "type": "environment", + "version": "" + }, + { + "applies_to": [ + "binary_install", + "manual_install" + ], + "description": "Recommended operating system for the one-click installer and manual deployment.", + "name": "Windows", + "optional": false, + "type": "os", + "version": "10" + }, + { + "applies_to": [ + "manual_install" + ], + "description": "Recommended operating system for manual deployment.", + "name": "MacOS", + "optional": false, + "type": "os", + "version": "11.0" + } + ], + "repo_type": "tool", + "resources_of_interest": [ + { + "reason": "Provides instructions and a runnable environment for quick testing via Google Colab.", + "title": "MoneyPrinterTurbo.ipynb", + "type": "documentation", + "url_or_path": "docs/MoneyPrinterTurbo.ipynb" + }, + { + "reason": "Lists available voice synthesis options, which might be relevant for setup or configuration.", + "title": "voice-list.txt", + "type": "documentation", + "url_or_path": "docs/voice-list.txt" + }, + { + "reason": "Example configuration file that needs to be copied and modified for setting up API keys and other parameters.", + "title": "config.example.toml", + "type": "file", + "url_or_path": "config.example.toml" + }, + { + "reason": "Lists all Python dependencies required for manual installation.", + "title": "requirements.txt", + "type": "file", + "url_or_path": "requirements.txt" + }, + { + "reason": "English version of the README, which might contain alternative or supplementary installation instructions.", + "title": "README-en.md", + "type": "documentation", + "url_or_path": "README-en.md" + } + ], + "stars": 47772 + }, + { + "altDescription": "structur output for llms", + "altName": "567 - lab / instructor", + "category": "installerpedia", + "description": "structured outputs for llms ", + "has_installation": false, + "id": "installerpedia-51", + "installation_methods": [ + { + "instructions": [ + { + "command": "pip install instructor", + "meaning": "Installs the Instructor Python library and its dependencies using pip, the standard Python package installer." + } + ], + "title": "Install using pip" + }, + { + "instructions": [ + { + "command": "uv add instructor", + "meaning": "Adds the Instructor Python library to your project's dependencies using uv, a fast Python package installer." + } + ], + "title": "Install using uv" + }, + { + "instructions": [ + { + "command": "poetry add instructor", + "meaning": "Adds the Instructor Python library to your project's dependencies using Poetry, a Python dependency management tool." + } + ], + "title": "Install using Poetry" + } + ], + "name": "567-labs/instructor", + "note": "", + "path": "/freedevtools/installerpedia/library/567-labs-instructor", + "post_installation": [ + "Ensure you have an LLM provider set up (e.g., OpenAI, Anthropic, Google, or a local Ollama instance).", + "You may need to set API keys as environment variables or pass them directly when initializing the client.", + "Refer to the documentation for specific provider setup instructions." + ], + "prerequisites": [ + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Instructor is a Python library.", + "name": "Python", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "The standard package installer for Python.", + "name": "pip", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "A fast Python package installer and resolver.", + "name": "uv", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "A tool for dependency management and packaging in Python.", + "name": "poetry", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "global", + "development", + "production" + ], + "description": "Instructor uses Pydantic for data validation and type safety.", + "name": "pydantic", + "optional": false, + "type": "library", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides comprehensive guides on installation, usage, and advanced features.", + "title": "Instructor Documentation", + "type": "documentation", + "url_or_path": "https://python.useinstructor.com" + }, + { + "reason": "Offers copy-pasteable recipes for various use cases, including setup.", + "title": "Instructor Examples", + "type": "documentation", + "url_or_path": "https://python.useinstructor.com/examples/" + }, + { + "reason": "Contains tutorials and best practices that may include setup details.", + "title": "Instructor Blog", + "type": "documentation", + "url_or_path": "https://python.useinstructor.com/blog/" + }, + { + "reason": "Contains the source code, LICENSE file, and potentially other setup-related files.", + "title": "Instructor GitHub Repository", + "type": "repo", + "url_or_path": "https://github.com/instructor-ai/instructor" + } + ], + "stars": 11831 + }, + { + "altDescription": "javascript librari of crypto standard .", + "altName": "brix / crypto - js", + "category": "installerpedia", + "description": "JavaScript library of crypto standards.", + "has_installation": false, + "id": "installerpedia-52", + "installation_methods": [ + { + "instructions": [ + { + "command": "npm install crypto-js", + "meaning": "Installs the crypto-js package and its dependencies using npm, making it available for use in Node.js projects." + } + ], + "title": "Node.js Installation" + }, + { + "instructions": [ + { + "command": "bower install crypto-js", + "meaning": "Installs the crypto-js package using Bower, a package manager for frontend web development, making it available for use in browser projects." + } + ], + "title": "Client (Browser) Installation via Bower" + } + ], + "name": "brix/crypto-js", + "note": "", + "path": "/freedevtools/installerpedia/library/brix-crypto-js", + "post_installation": [ + "For Node.js projects, you can use ES6 imports or CommonJS `require` statements to include specific modules or the entire library.", + "For browser projects using RequireJS, configure the package location and main file.", + "For browser projects without RequireJS, include the `crypto-js.js` file via a `\n" + ], + "prerequisites": [ + { + "applies_to": [ + "development", + "production" + ], + "description": "Node Package Manager, used for installing JavaScript packages.", + "name": "npm", + "optional": false, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "The programming language Papa Parse is written in and used with.", + "name": "JavaScript", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "development", + "production" + ], + "description": "Runtime environment for executing JavaScript code outside of a web browser, required for npm.", + "name": "Node.js", + "optional": false, + "type": "system_tool", + "version": "" + } + ], + "repo_type": "library", + "resources_of_interest": [ + { + "reason": "Provides detailed usage instructions and API reference for Papa Parse.", + "title": "Papa Parse Documentation", + "type": "documentation", + "url_or_path": "https://www.papaparse.com/docs" + }, + { + "reason": "Contains the source code, including the docs folder which has content for the website, and is the primary source for the project.", + "title": "Papa Parse GitHub Repository", + "type": "repo", + "url_or_path": "https://github.com/mholt/PapaParse" + }, + { + "reason": "The standard Papa Parse adheres to for CSV parsing.", + "title": "RFC 4180", + "type": "documentation", + "url_or_path": "https://tools.ietf.org/html/rfc4180" + }, + { + "reason": "Relevant for understanding how Papa Parse handles streams in Node.js environments.", + "title": "Node.js Readable Stream API", + "type": "documentation", + "url_or_path": "https://nodejs.org/api/stream.html#stream_readable_streams" + } + ], + "stars": 13274 + }, + { + "altDescription": "focus on what matter instead of fight with git .", + "altName": "desktop / desktop", + "category": "installerpedia", + "description": "Focus on what matters instead of fighting with Git.", + "has_installation": false, + "id": "installerpedia-69", + "installation_methods": [ + { + "instructions": [ + { + "command": "echo 'Download the appropriate installer from the GitHub Releases page for your OS.'", + "meaning": "This is a placeholder command. Users should navigate to the provided download links for their specific operating system to get the official installer." + }, + { + "command": "echo 'macOS: https://central.github.com/deployments/desktop/desktop/latest/darwin'", + "meaning": "Download link for the standard macOS installer." + }, + { + "command": "echo 'macOS (Apple silicon): https://central.github.com/deployments/desktop/desktop/latest/darwin-arm64'", + "meaning": "Download link for the macOS installer optimized for Apple silicon." + }, + { + "command": "echo 'Windows: https://central.github.com/deployments/desktop/desktop/latest/win32'", + "meaning": "Download link for the standard Windows installer." + }, + { + "command": "echo 'Windows machine-wide install (MSI): https://central.github.com/deployments/desktop/desktop/latest/win32?format=msi'", + "meaning": "Download link for the Windows Installer package (MSI) for machine-wide deployment." + } + ], + "title": "Official Installers (Recommended)" + }, + { + "instructions": [ + { + "command": "echo 'Download the appropriate beta installer from the GitHub Releases page for your OS.'", + "meaning": "This is a placeholder command. Users should navigate to the provided beta download links for their specific operating system to get early access builds." + }, + { + "command": "echo 'macOS: https://central.github.com/deployments/desktop/desktop/latest/darwin?env=beta'", + "meaning": "Download link for the beta macOS installer." + }, + { + "command": "echo 'macOS (Apple silicon): https://central.github.com/deployments/desktop/desktop/latest/darwin-arm64?env=beta'", + "meaning": "Download link for the beta macOS installer optimized for Apple silicon." + }, + { + "command": "echo 'Windows: https://central.github.com/deployments/desktop/desktop/latest/win32?env=beta'", + "meaning": "Download link for the beta Windows installer." + }, + { + "command": "echo 'Windows (ARM64): https://central.github.com/deployments/desktop/desktop/latest/win32-arm64?env=beta'", + "meaning": "Download link for the beta Windows installer for ARM64 architecture." + } + ], + "title": "Beta Channel Installers" + }, + { + "instructions": [ + { + "command": "echo 'For Windows users:'", + "meaning": "Instructions for installing GitHub Desktop using Windows package managers." + }, + { + "command": "winget install github-desktop", + "meaning": "Installs GitHub Desktop using the Windows Package Manager (winget)." + }, + { + "command": "choco install github-desktop", + "meaning": "Installs GitHub Desktop using the Chocolatey package manager." + }, + { + "command": "echo 'For macOS users:'", + "meaning": "Instructions for installing GitHub Desktop using Homebrew on macOS." + }, + { + "command": "brew install --cask github", + "meaning": "Installs GitHub Desktop using the Homebrew package manager on macOS." + } + ], + "title": "Community Package Managers" + }, + { + "instructions": [ + { + "command": "echo 'Refer to the shiftkey/desktop fork for Linux installers.'", + "meaning": "Linux is not officially supported. Users should consult the linked community fork for available installers." + } + ], + "title": "Linux (Community Supported)" + }, + { + "instructions": [ + { + "command": "git clone https://github.com/desktop/desktop.git", + "meaning": "Clones the GitHub Desktop repository to your local machine." + }, + { + "command": "cd desktop", + "meaning": "Navigates into the cloned repository directory." + }, + { + "command": "echo 'Follow the instructions in ./docs/contributing/setup.md to set up your development environment and build Desktop.'", + "meaning": "This command indicates that detailed setup and build instructions are located in a separate markdown file within the repository." + } + ], + "title": "Building from Source (Development)" + } + ], + "name": "desktop/desktop", + "note": "", + "path": "/freedevtools/installerpedia/desktop/desktop-desktop", + "post_installation": [ + "After installation, you can launch GitHub Desktop from your applications menu or by searching for it.", + "For development builds, refer to `docs/contributing/setup.md` for further steps on running the application.", + "To get started with using GitHub Desktop, consult the [getting started documentation](https://docs.github.com/en/desktop/overview/getting-started-with-github-desktop)." + ], + "prerequisites": [ + { + "applies_to": [ + "global" + ], + "description": "macOS, Windows, or Linux (community-supported)", + "name": "", + "optional": false, + "type": "os", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "Windows Package Manager for installing GitHub Desktop on Windows.", + "name": "winget", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "windows" + ], + "description": "Package manager for Windows, can be used to install GitHub Desktop.", + "name": "Chocolatey", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "macos" + ], + "description": "Package manager for macOS, used to install GitHub Desktop.", + "name": "Homebrew", + "optional": true, + "type": "package_manager", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "The framework used to build GitHub Desktop.", + "name": "Electron", + "optional": false, + "type": "library", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "The primary programming language used for GitHub Desktop.", + "name": "TypeScript", + "optional": false, + "type": "language", + "version": "" + }, + { + "applies_to": [ + "source_build" + ], + "description": "The UI library used in GitHub Desktop.", + "name": "React", + "optional": false, + "type": "library", + "version": "" + } + ], + "repo_type": "desktop", + "resources_of_interest": [ + { + "reason": "Provides comprehensive information on setting up, authenticating, and configuring GitHub Desktop.", + "title": "Getting Started with GitHub Desktop", + "type": "documentation", + "url_or_path": "https://docs.github.com/en/desktop/overview/getting-started-with-github-desktop" + }, + { + "reason": "Contains detailed instructions for setting up the development environment and building GitHub Desktop from source.", + "title": "setup.md", + "type": "file", + "url_or_path": "./docs/contributing/setup.md" + }, + { + "reason": "This community fork provides installers for Linux distributions, as Linux is not officially supported by the main repository.", + "title": "shiftkey/desktop fork", + "type": "repo", + "url_or_path": "https://github.com/shiftkey/desktop" + }, + { + "reason": "Provides release notes for beta versions, which might be relevant for users testing early builds.", + "title": "GitHub Desktop Release Notes (Beta)", + "type": "documentation", + "url_or_path": "https://desktop.github.com/release-notes/?env=beta" + } + ], + "stars": 20954 + } +] \ No newline at end of file diff --git a/search-index/search-index b/search-index/search-index index 0a718be025..c86fc3c132 100755 Binary files a/search-index/search-index and b/search-index/search-index differ diff --git a/search-index/transfer-index-files.sh b/search-index/transfer-index-files.sh index d536ab92a8..2ec3604286 100755 --- a/search-index/transfer-index-files.sh +++ b/search-index/transfer-index-files.sh @@ -8,7 +8,7 @@ REMOTE_USER="ubuntu" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" LOCAL_DIR="$SCRIPT_DIR/output" REMOTE_DIR="/tmp/freedevtools-index" -FILES=("tools.json" "tldr_pages.json" "emojis.json" "svg_icons.json" "cheatsheets.json" "mcp.json" "png_icons.json" "man_pages.json") +FILES=("tools.json" "tldr_pages.json" "emojis.json" "svg_icons.json" "cheatsheets.json" "mcp.json" "png_icons.json" "man_pages.json" "installerpedia.json") echo "🚀 Starting transfer to $REMOTE_HOST..." echo "📁 Working directory: $SCRIPT_DIR" diff --git a/search-index/types.go b/search-index/types.go index 5d44c65f2f..891dbb444b 100644 --- a/search-index/types.go +++ b/search-index/types.go @@ -110,3 +110,49 @@ type EmojiJSONData struct { FluentUIMetadata map[string]interface{} `json:"fluentui_metadata"` // Add other fields as needed based on the actual structure } + + + +// InstallerpediaData represents one indexed installation guide entry +type InstallerpediaData struct { + ID string `json:"id"` + Name string `json:"name"` // repo name (ex: "localsend") + Description string `json:"description"` + Path string `json:"path"` // filesystem or frontend route + Category string `json:"category"` // ex: "installerpedia" + + RepoType string `json:"repo_type"` + Stars int `json:"stars"` + Note string `json:"note"` + + HasInstallation bool `json:"has_installation"` + Prerequisites []Prerequisite `json:"prerequisites"` + InstallationMethods []InstallMethod `json:"installation_methods"` + PostInstallation []string `json:"post_installation"` + ResourcesOfInterest []Resource `json:"resources_of_interest"` +} +type Prerequisite struct { + Type string `json:"type"` + Name string `json:"name"` + Version string `json:"version"` + Description string `json:"description"` + Optional bool `json:"optional"` + AppliesTo []string `json:"applies_to"` +} + +type InstallMethod struct { + Title string `json:"title"` + Instructions []InstallInstruction `json:"instructions"` +} + +type InstallInstruction struct { + Command string `json:"command"` + Meaning string `json:"meaning"` +} + +type Resource struct { + Type string `json:"type"` + Title string `json:"title"` + URLOrPath string `json:"url_or_path"` + Reason string `json:"reason"` +}