No description
Find a file
Paulo Castellano b2bf5c2059 feat: complete AI assistant with custom services and brand config
Baseline snapshot of custom AI implementation before Laravel AI SDK migration.

Includes:
- Custom services: GeminiTextGenerationService, TextGenerationService (OpenAI), ImageGenerationService, AudioGenerationService, VideoGenerationService
- IntentDetector for content moderation via keyword matching
- AI enums: Intent, Orientation, UsageType
- Blade prompt templates: system.blade.php, image.blade.php, video.blade.php
- AiMessage with content_html accessor (markdown rendering)
- AiUsageLog for monthly quota tracking per account
- PostAssistantController with regex-based [GENERATE_*] parsing
- WritingAssistantTab with markdown rendering, add-to-post, attachments
- Workspace brand fields (name, description, tone, voice_notes) in system prompt
- Session state block injected into prompts (thread counts, quota remaining)
- AttachmentCollector pattern will replace the regex approach in Phase 2
- Post comments with replies, emoji reactions, real-time via Echo
- Assets page with Unsplash + Giphy integrations
2026-04-16 09:25:08 -03:00
.claude/skills feat: add CommentsTab component with replies, reactions, and real-time 2026-04-15 20:15:29 -03:00
.github fix: reorder CI steps — env before composer, key after 2026-03-31 12:08:04 -03:00
app feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
bootstrap refactor: auth split layout, subscribe redesign, onboarding, i18n, cookie locale 2026-03-30 11:53:42 -03:00
config feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
database feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
docs/superpowers feat: introduce Account entity as billing owner and refactor architecture 2026-04-14 22:22:04 -03:00
lang feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
maizzle chore: reverting domains 2026-03-31 11:35:49 -03:00
public chore: posthog, ui, features and more 2026-03-30 21:18:07 -03:00
resources feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
routes feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
storage chore: first commit 2026-01-14 22:13:44 -03:00
stubs feat: implement MCP server with tools, Post API tests, auth middleware 2026-03-29 20:30:36 -03:00
tests feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
.editorconfig chore: first commit 2026-01-14 22:13:44 -03:00
.env.ci feat: adding tests.. 2026-01-18 22:01:55 -03:00
.env.example feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
.env.testing feat: improvements on ui 2026-01-21 20:50:57 -03:00
.gitattributes chore: first commit 2026-01-14 22:13:44 -03:00
.gitignore chore: working 2026-04-02 17:57:06 -03:00
.mcp.json chore: update boost skills and config 2026-03-31 09:36:09 -03:00
.prettierignore chore: first commit 2026-01-14 22:13:44 -03:00
.prettierrc chore: first commit 2026-01-14 22:13:44 -03:00
artisan chore: first commit 2026-01-14 22:13:44 -03:00
boost.json feat: add CommentsTab component with replies, reactions, and real-time 2026-04-15 20:15:29 -03:00
CLAUDE.md feat: add CommentsTab component with replies, reactions, and real-time 2026-04-15 20:15:29 -03:00
components.json chore: first commit 2026-01-14 22:13:44 -03:00
compose.yaml feat: add documentation for connecting social media platforms and getting started guide 2026-01-18 18:57:15 -03:00
composer.json feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
composer.lock feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
eslint.config.js chore: first commit 2026-01-14 22:13:44 -03:00
GEMINI.md chore: update config files and remove unused translation files 2026-01-26 12:02:24 -03:00
LICENSE.md feat: Introduce a self-hosted mode, refactor email notifications to use Mailable classes with new templates, and update the project README. 2026-01-18 17:48:12 -03:00
package-lock.json fix: resolve all TypeScript errors 2026-03-31 09:34:39 -03:00
package.json fix: resolve all TypeScript errors 2026-03-31 09:34:39 -03:00
phpunit.xml feat: adding tests 2026-01-18 22:04:34 -03:00
pint.json chore: first commit 2026-01-14 22:13:44 -03:00
README.md fix: Stripe webhook setup completion, notifications routing, billing UI 2026-03-31 13:52:36 -03:00
tsconfig.json chore: first commit 2026-01-14 22:13:44 -03:00
vite.config.ts feat: Implement soft deletes for workspace hashtags and labels, and integrate content_type into the initial post platforms table creation. 2026-01-17 14:44:37 -03:00

TryPost

The open-source social media scheduling platform

Schedule, manage, and publish content to all your social media accounts from one place.
Self-hosted. Privacy-focused. No limits.

Stars License Release

DocumentationRoadmapCommunity


Why TryPost?

Tired of paying expensive monthly fees for social media scheduling tools? Want full control over your data? TryPost is the solution.

100% Open Source Inspect the code, contribute, make it yours
Self-Hosted Your data stays on your servers
No Limits Schedule unlimited posts, connect unlimited accounts
Privacy First No tracking, no analytics, no data selling

Features

Visual Calendar Drag and drop posts across your content calendar
Post Composer Create and preview posts for multiple platforms at once
Media Library Upload images and videos with automatic optimization
Team Collaboration Invite team members with role-based permissions (Owner, Admin, Member)
Workspaces Manage multiple brands or clients separately
REST API Full API with Bearer token authentication
MCP Server AI-ready with Model Context Protocol support
Google Login Sign up and log in with Google OAuth
Notifications In-app and email notifications for post status
i18n Available in English, Spanish, and Portuguese

Supported Platforms


X (Twitter)

LinkedIn

Facebook

Instagram

TikTok

YouTube

Pinterest

Threads

Bluesky

Mastodon

Tech Stack

Layer Technology
Backend Laravel 13, PHP 8.4
Frontend Vue 3, Inertia.js v3, Tailwind CSS v4
Database PostgreSQL
Queue Redis + Laravel Horizon
WebSockets Laravel Reverb
API REST with Bearer token auth
MCP Laravel MCP for AI integrations
Payments Laravel Cashier (Stripe)

Getting Started

Get TryPost running in minutes:

Installation Guide Step-by-step setup
Docker Setup Run with Laravel Sail
Configuration Environment setup
Platform Setup Connect your social accounts

Quick Start

git clone https://github.com/trypost-it/trypost.git
cd trypost
cp .env.example .env
composer install
npm install
php artisan key:generate
php artisan migrate
npm run build

API

TryPost includes a REST API for programmatic access. All endpoints are under /api and require a Bearer token.

curl -H "Authorization: Bearer tp_your_token" \
  https://your-domain.com/api/posts

See the API documentation for all available endpoints.

MCP Server

TryPost ships with a Model Context Protocol (MCP) server at /mcp/trypost, enabling AI assistants to manage your social media directly.

Contributing

We love contributions! Check the issues for open tasks.

License

TryPost is licensed under the Functional Source License (FSL).

You can: Use for personal or business use, self-host, modify and contribute.

You cannot: Offer as a competing SaaS, white-label and resell.


If TryPost helps you, please give us a star