Dateien nach "gtm-architect/v2" hochladen

This commit is contained in:
2026-01-02 18:20:45 +00:00
parent 25ca7a36d9
commit 4f1491c9da
5 changed files with 198 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<div align="center">
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
</div>
# Run and deploy your AI Studio app
This contains everything you need to run your app locally.
View your app in AI Studio: https://ai.studio/apps/drive/1bvzSOz-NYMzDph6718RuAy1mnCSjjylz
## Run Locally
**Prerequisites:** Node.js
1. Install dependencies:
`npm install`
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
3. Run the app:
`npm run dev`

View File

@@ -0,0 +1,5 @@
{
"name": "Roboplanet GTM Architect",
"description": "A strategic AI engine for developing Go-to-Market strategies for robotic products, ensuring product-market fit and operational feasibility.",
"requestFramePermissions": []
}

View File

@@ -0,0 +1,25 @@
{
"name": "roboplanet-gtm-architect",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"@google/genai": "^1.34.0",
"react": "^19.2.3",
"react-markdown": "^10.1.0",
"remark-gfm": "^4.0.0",
"react-dom": "^19.2.3",
"lucide-react": "^0.562.0"
},
"devDependencies": {
"@types/node": "^22.14.0",
"@vitejs/plugin-react": "^5.0.0",
"typescript": "~5.8.2",
"vite": "^6.2.0"
}
}

View File

@@ -0,0 +1,29 @@
{
"compilerOptions": {
"target": "ES2022",
"experimentalDecorators": true,
"useDefineForClassFields": false,
"module": "ESNext",
"lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
"skipLibCheck": true,
"types": [
"node"
],
"moduleResolution": "bundler",
"isolatedModules": true,
"moduleDetection": "force",
"allowJs": true,
"jsx": "react-jsx",
"paths": {
"@/*": [
"./*"
]
},
"allowImportingTsExtensions": true,
"noEmit": true
}
}

119
gtm-architect/v2/types.ts Normal file
View File

@@ -0,0 +1,119 @@
export enum Phase {
Input = 0,
ProductAnalysis = 1,
ICPDiscovery = 2,
WhaleHunting = 3,
Strategy = 4,
AssetGeneration = 5,
SalesEnablement = 6,
LandingPage = 7,
BusinessCase = 8,
TechTranslator = 9,
}
export type Language = 'en' | 'de';
export type Theme = 'light' | 'dark';
export interface Message {
role: 'user' | 'model';
content: string;
}
export interface Phase1Data {
features: string[];
constraints: string[];
conflictCheck: {
hasConflict: boolean;
details: string;
relatedProduct?: string;
};
rawAnalysis: string;
}
export interface Phase2Data {
icps: {
name: string;
rationale: string;
}[];
dataProxies: {
target: string;
method: string;
}[];
}
export interface Phase3Data {
whales: {
industry: string;
accounts: string[];
}[];
roles: string[];
}
export interface Phase4Data {
strategyMatrix: {
segment: string;
painPoint: string;
angle: string;
differentiation: string;
}[];
}
export interface Phase6Data {
battlecards: {
persona: string;
objection: string;
responseScript: string;
}[];
visualPrompts: {
title: string;
context: string;
prompt: string;
}[];
}
export interface Phase7Data {
landingPages: {
industry: string;
headline: string;
subline: string;
bullets: string[];
cta: string;
}[];
}
export interface Phase8Data {
businessCases: {
industry: string;
costDriver: string;
efficiencyGain: string;
riskArgument: string;
}[];
}
export interface Phase9Data {
techTranslations: {
feature: string;
story: string;
headline: string;
}[];
}
export interface AppState {
currentPhase: Phase;
isLoading: boolean;
history: Message[];
productInput: string;
productImages: string[]; // Array of Base64 strings
phase1Result?: Phase1Data;
phase2Result?: Phase2Data;
phase3Result?: Phase3Data;
phase4Result?: Phase4Data;
phase5Result?: string; // Markdown content
phase6Result?: Phase6Data;
phase7Result?: Phase7Data;
phase8Result?: Phase8Data;
phase9Result?: Phase9Data;
translatedReport?: string; // New field for the English translation
language: Language;
theme: Theme;
}