Plain-language guides for AI workflow automation, MCP server automation, CTEM, and practical Flyto2 engineering.
Read online · Website · Docs · Open source
Long-form writing that answers the questions people actually search for before they read the docs. Flyto2 Blog is the public editorial surface for AI workflow automation tools, open-source AI agent frameworks, MCP server automation, continuous threat exposure management, attack surface management, browser automation, no-code API integration, email parsing automation, SEO/GEO/AEO, and engineering release notes.
The voice should be practical and conversational: explain the problem, show the tradeoff, give a concrete Flyto2 path, then link to the docs only when the reader is ready to implement.
- Release stories — "v2.x shipped; here's what changed and why"
- Engineering deep dives — design decisions, migration stories
- Showcase posts — real automations customers have built
- SEO/AEO/GEO guides — AI search visibility, crawler logs, and answer-shaped technical content
- Long-tail explainers — "what is AI workflow automation", "open source AI agent framework", "MCP server automation", "n8n alternative", "Zapier alternative", "Make alternative", "Playwright alternative", "LangGraph alternative", and comparison-style posts
- Product-line education — automation, security, Data, Zero-person Company Agent, and Big Data / Intelligence workflows
- Post-mortems — incident reports with blameless root-cause
- Community spotlights — plugin and template authors
posts/
└── stable-kebab-slug.md # frontmatter + markdown body
Frontmatter schema lives in POSTING.md (or
CONTRIBUTING.md if you're writing a post).
VitePress renders posts/ into the public article surface. Repository scripts
validate frontmatter and links, generate discovery feeds, score built SEO
output, prepare reviewed social plans, and render video assets. The generated
source and content reference is the method-level
index; the technical whitepaper explains the editorial,
search, social, and video boundaries.
Each post is a Markdown file with frontmatter metadata for title, summary, date, category, tags, canonical URL, and publication status. Treat posts as a public content API: landing pages, docs, social previews, AI answer engines, and search crawlers all depend on stable titles, summaries, canonical links, and long-tail keyword phrasing.
Keep public links canonical:
- Product pages use
https://flyto2.com. - Technical docs use
https://docs.flyto2.com. - Blog articles use
https://blog.flyto2.com. - Security contact uses
security@flyto2.com.
npm installnpm run dev # http://localhost:3000
npm run buildRun the production build before publishing public content:
npm run verifynpm run verify includes a Rank Math-style SEO score gate after the static
build. It scores every built page from 0-100 across technical metadata, focus
keyword placement, content structure, links/images, and AI visibility signals.
Reports are written to .seo/reports/seo-score.json and
.seo/reports/seo-score.md. CI fails when the homepage, any post, or the site
average falls below the configured thresholds.
The verification loop begins with npm run docs:check, which requires every
maintained executable source, article, workflow, configuration input,
distribution plan, and public asset to have a documentation owner and rejects
stale generated references. Regenerate with npm run docs:reference.
npm run verify also runs npm run seo:manage. That management pass creates
.seo/reports/seo-management.json and .seo/reports/seo-management.md with
rank targets, keyword gaps, internal-link suggestions, Search Console
opportunities when CSV exports are present, and editor recommendations for the
next content pass. Raw Search Console CSV files stay local under
.seo/search-console/ and are ignored by Git.
npm run build runs npm run seo:discovery before VitePress. That generator
keeps public discovery surfaces in sync with Markdown posts: rss.xml,
atom.xml, feed.json, image-sitemap.xml, discovery-manifest.json, and a
real og-image.png fallback for social previews. npm run audit:seo fails if
these files are missing, stale, or not advertised from page metadata and
robots.txt.
For social drafts, run:
npm run social:dry-runThe Social Publish GitHub Action can publish approved plans to LinkedIn and a
Facebook Page once the maintainer-owned secrets are configured. Without those
secrets, the action records a dry-run artifact instead of failing or posting.
For YouTube/video drafts, run:
npm run video:from-post -- posts/community-growth-open-source-ai-workflow-automation.md --out video/plans/community-growth-open-source-ai-workflow-automation.json --force
npm run video:check
npm run video:qa
npm run video:storyboardThe manual Video Render GitHub Action installs render tools, turns a reviewed
plan under video/plans/ into YouTube 16:9, Shorts 9:16, and LinkedIn 1:1 MP4
artifacts, and never reads YouTube tokens. Use its variant input to render
one output instead of all outputs.
- Fork + branch.
- Add
posts/your-stable-kebab-slug.md; keep the publication date in frontmatter so the public URL does not change when editorial dates change. - If the post should be promoted, add or update a plan under
social/posts/and verify it withnpm run social:check. - If the post should become a video, generate or update a plan under
video/plans/and verify it withnpm run video:qa. - Open PR; tag
@flytohub/editorsfor review.
Not a team member but want to contribute a guest post? Open a Discussion with an outline first.
- flyto2.com
- flyto-docs — product documentation (not essays)
- flyto-landing-page
- flyto-indexer — code intelligence MCP for AI-assisted engineering
- Flyto2 community hub
- Technical and editorial whitepaper
- Generated source and content reference
- Posting contract
- Social distribution
- Video production
This repository does not currently declare one blanket license for editorial
copy, Flyto2 trademarks, screenshots, generated media, and third-party assets.
Each stock or image asset keeps the provenance recorded in its credits or
catalog entry. Contact team@flyto2.com before reusing material whose license
is not explicit.