{"id":44442376,"url":"https://github.com/ngo275/app-agent","last_synced_at":"2026-02-12T14:52:56.002Z","repository":{"id":269893409,"uuid":"904540442","full_name":"ngo275/app-agent","owner":"ngo275","description":"AppAgent is an AI-first tool that handles your app release and App Store Optimization (ASO). An OSS alternative to App Radar, Sensor Tower, AppTweak, AppFollow, other ASO tools, built for developers who should focus on what really matters; build products.","archived":false,"fork":false,"pushed_at":"2025-05-14T15:00:22.000Z","size":32240,"stargazers_count":97,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-14T16:21:41.204Z","etag":null,"topics":["agent","app-agent","app-store","app-store-connect","appagent","appstore","appstoreconnect","aso","google-play-console"],"latest_commit_sha":null,"homepage":"https://app-agent.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ngo275.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-17T05:05:27.000Z","updated_at":"2025-05-14T15:00:26.000Z","dependencies_parsed_at":"2025-01-15T15:03:46.166Z","dependency_job_id":"291f68b7-089a-4dca-b003-3208742e9a64","html_url":"https://github.com/ngo275/app-agent","commit_stats":null,"previous_names":["ngo275/app-agent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ngo275/app-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngo275%2Fapp-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngo275%2Fapp-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngo275%2Fapp-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngo275%2Fapp-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngo275","download_url":"https://codeload.github.com/ngo275/app-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngo275%2Fapp-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29369074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","app-agent","app-store","app-store-connect","appagent","appstore","appstoreconnect","aso","google-play-console"],"created_at":"2026-02-12T14:52:52.961Z","updated_at":"2026-02-12T14:52:55.995Z","avatar_url":"https://github.com/ngo275.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AppAgent\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"200\" src=\"https://github.com/user-attachments/assets/7f86c185-0fc1-46c3-888a-c915602f27ee\" alt=\"AppAgent\" /\u003e\n  \u003ch2\u003eFrom ASO to Release, All Streamlined.\u003c/h2\u003e\n\u003c/div\u003e\n\n[AppAgent](https://app-agent.ai) is an AI-first tool that manages your app's ASO and release process. AppAgent is an open-source alternative to ASO tools, such as App Radar, AppTweak, AppFollow, and Sensor Tower. AppAgent is AI-first and works autonomously.\n\nhttps://github.com/user-attachments/assets/e34baeef-ceab-4fdb-9a7c-e6a5ab80dbba\n\n---\n\n## Why AppAgent?\n\nThanks to rapid AI advancements, creating an app has never been easier. Yet popular ASO tools (App Radar, AppTweak, Sensor Tower, etc.) remain prohibitively expensive and unnecessarily complex for indie developers and small teams. What’s truly needed is a platform that autonomously handles everything—from multilingual keyword selection to ASO content generation—streamlining not just keywords, but the entire release process.\n\nApp Store Connect also introduced friction into the release workflow. That’s why I took an AI-first approach and built AppAgent from the ground up, reimagining how ASO and app releases should work together in one seamless, efficient platform.\n\n---\n\n## Features\n\n### Autonomous ASO (Beta)\n\nhttps://github.com/user-attachments/assets/09172b8c-c690-42b2-a394-8b65e80c25ad\n\n- **Autonomous keyword research**\n  - No more manual keyword hunting.\n  - Run autonomously, regardless of locales and markets.\n  - Go find competitors and have you manage the auto-curated competitor list.\n  - Research keywords and finalize the list with AI based on the competitors.\n- **AI-powered store optimization**\n  - Instant suggestions based on your app's metadata.\n  - ASO friendly contents generation for all languages.\n  - No expert-level marketing needed, just click and go.\n\n### Release Management\n\nhttps://github.com/user-attachments/assets/9148a814-ae24-4005-adb6-d113933b67d3\n\n- **Localize your release notes**\n  - Generate release notes in all languages.\n  - No more ChatGPT copy-pasting for all languages you support.\n- **Store synchronization**\n  - Sync data with App Store Connect. Google Play is coming soon.\n  - No more manual data entry on App Store Connect.\n  - Push all changes to App Store Connect with a single click.\n  - Submit to app review with a single click.\n\n---\n\n## Tech Stack\n\n- [Next.js](https://nextjs.org/) – Framework\n- [TypeScript](https://www.typescriptlang.org/) – Language\n- [Tailwind](https://tailwindcss.com/) – CSS\n- [shadcn/ui](https://ui.shadcn.com) - UI Components\n- [Prisma](https://prisma.io) - ORM [![Made with Prisma](https://made-with.prisma.io/dark.svg)](https://prisma.io)\n- [PostgreSQL](https://www.postgresql.org/) - Database\n- [NextAuth.js](https://next-auth.js.org/) – Authentication\n- [PostHog](https://posthog.com/) – Analytics\n- [Resend](https://resend.com) – Email\n- [Stripe](https://stripe.com) – Payments\n- [Vercel](https://vercel.com/) – Hosting\n\n---\n\n## Getting Started\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/ngo275/app-agent.git\n```\n\n### 2. Copy .env.sample to .env and change the values\n\n```bash\ncp .env.sample .env\n```\n\nHere's the list of environment variables you need to set:\n\n- `NEXTAUTH_SECRET`\n  - A secret key for NextAuth.js. You can generate a random string using `openssl rand -base64 32`.\n- `NEXTAUTH_URL`\n  - The URL of your app. For example, `http://localhost:3000`.\n- `NEXT_PUBLIC_BASE_URL`\n  - The URL of your app. For example, `http://localhost:3000`.\n- `NEXT_PUBLIC_MARKETING_URL`\n  - The URL of your marketing page. For example, `http://localhost:3000`.\n- `GOOGLE_CLIENT_ID`\n  - The client ID of your Google OAuth application. Used for Google Login. Not necessary if you don't use Google Login.\n- `GOOGLE_CLIENT_SECRET`\n  - The client secret of your Google OAuth application. Used for Google Login. Not necessary if you don't use Google Login.\n- `RESEND_API_KEY`\n  - The API key of your Resend account. Used for sending emails.\n- `NEXT_PUBLIC_POSTHOG_KEY`\n  - The key of your PostHog account. Used for analytics. Not necessary if you don't use PostHog.\n- `OPENAI_API_KEY`\n  - The API key of your OpenAI account. Used for LLM usage.\n- `UPSTASH_REDIS_REST_URL`\n  - The URL of your Upstash account. Used for caching.\n- `UPSTASH_REDIS_REST_TOKEN`\n  - The token of your Upstash account. Used for caching.\n- `NEXT_PUBLIC_FREE_PLAN_ENABLED`\n  - Whether the free plan is enabled. Set to `true` to enable the free plan.\n- `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY`\n  - The publishable key of your Stripe account. Used for payments. If you set `NEXT_PUBLIC_FREE_PLAN_ENABLED` to `true`, this is not necessary.\n- `STRIPE_SECRET_KEY`\n  - The secret key of your Stripe account. Used for payments. If you set `NEXT_PUBLIC_FREE_PLAN_ENABLED` to `true`, this is not necessary.\n- `STRIPE_WEBHOOK_SECRET`\n  - The webhook secret of your Stripe account. Used for webhooks. If you set `NEXT_PUBLIC_FREE_PLAN_ENABLED` to `true`, this is not necessary.\n- `STRIPE_PRO_PRICE_ID`\n  - The price ID of your Stripe Pro plan. Used for payments. If you set `NEXT_PUBLIC_FREE_PLAN_ENABLED` to `true`, this is not necessary.\n- `DATABASE_URL`\n  - The URL of your PostgreSQL database. Beside a local machine, you can use [Supabase](https://supabase.com/) or [Neon](https://neon.tech/) for free services.\n\n### 3. Install dependencies\n\n```bash\nyarn\n\n# Or with NPM\nnpm install\n```\n\n### 4. Set up DB\n\n```bash\nyarn prisma generate\nyarn prisma migrate deploy\n\n# Or with NPM\nnpm run prisma generate\nnpm run prisma migrate deploy\n```\n\n### 5. Run the development server\n\n```bash\nyarn dev\n\n# Or with NPM\nnpm run dev\n```\n\nVisit [http://localhost:3000](http://localhost:3000) to see the app.\n\n---\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a PR.\n\nIf you'd like to contribute, please fork the repository and submit a PR.\n\n---\n\n## License\n\nAppAgent is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it [here](https://github.com/ngo275/app-agent/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngo275%2Fapp-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngo275%2Fapp-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngo275%2Fapp-agent/lists"}