diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index f1c7c42..a2a3b4c 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -5,6 +5,7 @@ export default function Page() {
+
) } diff --git a/apps/web/components/features.tsx b/apps/web/components/features.tsx new file mode 100644 index 0000000..9fdfd09 --- /dev/null +++ b/apps/web/components/features.tsx @@ -0,0 +1,87 @@ +import { + FolderTree, + FileSearch, + Globe, + Link2, + Languages, + FileText, +} from "lucide-react" + +const features = [ + { + icon: Globe, + title: "Fetch Any Public Repo", + description: + "Automatically fetches public GitHub repositories using the GitHub API. Just provide the owner/repo.", + }, + { + icon: FolderTree, + title: "Structure Analysis", + description: + "Builds a complete file tree summary to understand the project architecture at a glance.", + }, + { + icon: FileSearch, + title: "High-Signal File Detection", + description: + "Extracts repo signals from key files like package.json, pyproject.toml, configs, and entrypoints.", + }, + { + icon: Languages, + title: "Language Detection", + description: + "Detects programming languages via the GitHub API to provide accurate context for explanations.", + }, + { + icon: Link2, + title: "Flexible Input Formats", + description: + "Accepts owner/repo, GitHub URLs, issue/PR links, SSH clone links. All normalized automatically.", + }, + { + icon: FileText, + title: "EXPLAIN.md Output", + description: + "Generates a clear, readable EXPLAIN.md file in your current directory with the full explanation.", + }, +] + +export function Features() { + return ( +
+
+
+

+ Features +

+

+ Everything you need to understand code +

+

+ ExplainThisRepo uses real repository data, not just the README, to + ground every explanation in actual structure and signals. +

+
+ +
+ {features.map((feature) => ( +
+
+ +
+

+ {feature.title} +

+

+ {feature.description} +

+
+ ))} +
+
+
+ ) +}