import type { AppInfo, LibInfo } from "akanjs"; interface Dict { appName: string; } export default function getContent(scanInfo: AppInfo | LibInfo | null, dict: Dict) { return { filename: "_index.tsx", content: ` import { getEnv } from "akanjs/base"; import { usePage } from "akanjs/client"; import { Link, System } from "akanjs/ui"; import { FaBookOpen, FaBoxOpen, FaCheckCircle, FaCodeBranch, FaExternalLinkAlt, FaLayerGroup, FaRocket, FaShieldAlt, FaTerminal, } from "react-icons/fa"; export default function Page() { const appName = getEnv().appName; const { l } = usePage(); return (
{l.trans({ en: "Your app is running", ko: "앱이 실행 중입니다" })}

{l.trans({ en: "Akan turns business intent into the whole product.", ko: "Akan은 비즈니스 의도를 제품 전체로 바꿉니다.", })}

{l.trans({ en: "Agents Write. Keep It Minimal. Always Readable. Nice To Review. Build with less code, fewer repeated decisions, and a clearer path from idea to production.", ko: "Agents Write. Keep It Minimal. Always Readable. Nice To Review. 더 적은 코드, 더 적은 반복 결정, 더 선명한 출시 경로로 만드세요.", })}

Agent-ready Minimal code Readable by default Review-friendly

{l.trans({ en: "Akan Acrostic", ko: "Akan 사행시" })}

{l.trans({ en: "A framework for focused builders", ko: "집중하는 빌더를 위한 프레임워크" })}

{appName}
A

Agents Write

{l.trans({ en: "Business definitions become the source code, so teams and agents can focus on what to build.", ko: "비즈니스 정의가 소스 코드가 되므로, 팀과 에이전트는 무엇을 만들지에 집중할 수 있습니다.", })}

K

Keep It Minimal

{l.trans({ en: "One definition flows into web, app, server, database, and infrastructure without repeated logic.", ko: "하나의 정의가 반복 로직 없이 웹, 앱, 서버, 데이터베이스, 인프라로 이어집니다.", })}

A

Always Readable

{l.trans({ en: "Strict conventions keep the app easy to understand long after the first version ships.", ko: "엄격한 컨벤션은 첫 버전 출시 후에도 앱을 쉽게 이해할 수 있게 지켜줍니다.", })}

N

Nice To Review

{l.trans({ en: "Focused changes make business intent clear, so reviews stay fast and releases stay calm.", ko: "집중된 변경은 비즈니스 의도를 선명하게 만들어 리뷰를 빠르게 하고 배포를 안정적으로 유지합니다.", })}

                  bun run akan start {appName}
                
                  
                    {l.trans({ en: "web, app, server, db, and infra ready", ko: "웹, 앱, 서버, DB, 인프라 준비 완료" })}
                  
                
                  
                    {l.trans({
                      en: "edit page/_index.tsx around your business",
                      ko: "비즈니스에 맞게 page/_index.tsx를 수정하세요",
                    })}
                  
                

{l.trans({ en: "Agentic By Design", ko: "에이전틱 설계" })}

{l.trans({ en: "Describe the business once and let Akan shape the application surfaces around it.", ko: "비즈니스를 한 번 설명하면 Akan이 그 주변의 애플리케이션 표면을 구성합니다.", })}

{l.trans({ en: "One Definition", ko: "하나의 정의" })}

{l.trans({ en: "Pages, services, database models, and deployment artifacts stay connected in one workspace.", ko: "페이지, 서비스, 데이터베이스 모델, 배포 산출물이 하나의 워크스페이스에서 연결됩니다.", })}

{l.trans({ en: "Less To Review", ko: "리뷰할 것이 적습니다" })}

{l.trans({ en: "Smaller code surfaces make intent easier to inspect, approve, and ship.", ko: "더 작은 코드 표면은 의도를 확인하고 승인하고 배포하기 쉽게 만듭니다.", })}

{l.trans({ en: "Type-Safe Growth", ko: "타입 안전한 성장" })}

{l.trans({ en: "Conventions and contracts keep the stack readable as the product expands.", ko: "컨벤션과 계약은 제품이 확장되어도 스택을 읽기 쉽게 유지합니다.", })}

{l.trans({ en: "Next: define the business once, then let Akan carry it across every surface.", ko: "다음 단계: 비즈니스를 한 번 정의하고, Akan이 모든 표면으로 이어가게 하세요.", })}
{l.trans({ en: "Akan.js template", ko: "Akan.js 템플릿" })}
); }`, }; }