π¦ Start Your OpenClaw Monorepo β Your AI Assistant Needs One
A personal take on applying monorepo principles to an AI-powered life workspace
With the emergence of AI assistant tooling β OpenClaw, Claude Code, and other agentic coding tools β weβre starting to use them for everything. Not just professional work, but personal life projects too: managing a todo list, writing a blog, planning a garden, tracking training. Itβs incredibly powerful β but after some time, things get complicated to manage.
It turns out that monorepo principles β the same ones used in enterprise software β can help here too. Conventions, project boundaries, shared infrastructure: these ideas arenβt just for large teams. Theyβre genuinely useful for structuring a personal AI workspace, even for side projects.
Hereβs how I organized mine.
π€ AI Assistants Make Everything Fasterβ¦ Even the Mess
AI-powered tools make spinning up new projects trivially easy. But they also accelerate the mess.

Without structure, everything is mixed together. Projects, memories, skills β all tangled in a single workspace with no boundaries.
Hereβs what I ran into:
- Everything is mixed together β The AI loads context for all your projects in one session. Asking about your blog? Itβs also thinking about your garden planting calendar. Asking about your todo? Itβs loading your running training plan. Unrelated memories compete for attention.
- Token waste β Every session, your assistant loads context. When projects are scattered, it loads everything or nothing. Thereβs no way to say βjust focus on this one project.β Youβre burning tokens on irrelevant context.
- No reusability β You build a skill for one project (say, generating images for your blog). Another project needs images too. But the skill lives in a different repo, with different config. You end up rebuilding it.
- Lost context between sessions β AI assistants wake up fresh. Without a structured place to store memory, decisions, and project history, youβre explaining the same things over and over.
AI can absolutely help with maintenance β but only if thereβs a structure in place first. Without it, everything gets mixed up very quickly. Projects pile on top of each other, context bleeds across unrelated tasks, and your assistant spends more time confused than productive.
π§ A Monorepo Can Help
Monorepo principles can really help organize this. Structure, conventions, shared tooling and components, unified task execution, caching, project boundaries β these concepts translate directly to an AI workspace.

A monorepo gives your AI assistant a map β not just files. It knows where things are, what belongs to what, and how to navigate without loading the entire world into memory.
I found that the same philosophy applies really well to an AI workspace:
- Shared memory β One place for your assistant to read and write context across sessions
- Selective context β Each project has its own
.openclaw/config, so the assistant only loads whatβs relevant to the current task - Reusable skills β Build a skill once (image generation, project scaffolding), use it across all projects
- Consistent conventions β Same structure everywhere means less confusion, faster onboarding for your AI
- Scheduled automation β Cron jobs that run across projects: reminders, periodic checks, daily briefings
π Real Life Use Cases
Here are some examples of projects I am running today in my monorepo.
π Todo System
I am not using any external app anymore. Just the file system and let my OpenClaw do the job for me. I can just send a message on WhatsApp and tasks are created or completed. A morning cron reminds me whatβs due.
πΌ smartsdlc.dev β Portfolio & Blog
My personal website, living in the monorepo. The AI helps me implement the app and its design, write blog content with a consistent style guide, and generate a CV as PDF from structured data.
π Trail Running β Training & Goals
I now use the monorepo to support my trail training and goals. Every morning, it reminds me what todayβs workout is. Every evening, it loads my Strava data, analyzes the session, and adapts the training plan accordingly. It also helps with nutrition advice tailored to training load.
π± Potager β Garden Management
Planting calendar based on zone and season, daily reminders for garden tasks (watering, harvesting), seed inventory tracking. The AI cross-references weather forecasts and suggests companion planting.
The pattern is always the same: a project folder, an .openclaw/ config, project-specific skills, cron automations, and shared global skills. The details of each β skills, crons, data β live in the monorepo structure below.
π The Monorepo Structure
Hereβs what the workspace looks like:
~/dev/life/
βββ .openclaw/ # π§ Global AI config
β βββ AGENTS.md # How the assistant behaves
β βββ SOUL.md # Personality & boundaries
β βββ USER.md # About me
β βββ MEMORY.md # Long-term memory
β βββ HEARTBEAT.md # Periodic check config
β βββ memory/ # Daily notes & topic memories
β β βββ 2026-01-30.md
β β βββ ...
β βββ crons/ # β° Global cron definitions
β β βββ morning-briefing.md # Daily briefing (calendar + weather + tasks)
β βββ skills/ # Global skills (shared across projects)
β βββ add-project/ # π Scaffold a new project in the monorepo
β
βββ projects/
β βββ todo/ # π Todo system
β β βββ .openclaw/
β β β βββ AGENT.md
β β β βββ crons/
β β β β βββ rappel-matin.md # Daily 7:30 AM β WhatsApp todo reminders
β β β βββ skills/
β β β βββ todo/ # Parse, update, manage tasks in TODO.md
β β βββ data/
β β βββ TODO.md # Task list (pending + completed)
β β
β βββ pro/ # πΌ Professional projects
β β βββ .openclaw/
β β β βββ AGENT.md
β β β βββ skills/
β β β βββ write-blog-article/ # Draft & edit articles with style guide
β β β βββ blog-images/ # Generate images via Gemini API
β β β βββ cv-pdf/ # Generate CV as PDF from structured data
β β βββ data/
β β β βββ content-backlog.md # Article ideas & backlog
β β βββ apps/
β β βββ smartsdlc/ # Website source code
β β βββ src/
β β
β βββ running/ # π Trail running tracker
β β βββ .openclaw/
β β β βββ AGENT.md
β β β βββ crons/
β β β β βββ morning-workout.md # Daily AM β today's workout reminder
β β β β βββ evening-strava.md # Daily PM β load & analyze Strava data
β β β βββ skills/
β β β βββ training-plan/ # Generate & adapt weekly training plans
β β β βββ nutrition/ # Nutrition advice for training load
β β β βββ strava-analysis/ # Analyze Strava activities & trends
β β βββ data/
β β βββ training-plan.md # Current training plan & history
β β
β βββ potager/ # π± Garden management
β βββ .openclaw/
β β βββ AGENT.md
β β βββ crons/
β β β βββ garden-tasks.md # Daily β watering & harvest reminders
β β βββ skills/
β β βββ planting-calendar/ # Seasonal planting by zone & weather
β βββ data/
β βββ tasks.md # Garden tasks & planting calendar
β
βββ nx.json # β‘ Nx workspace config
βββ package.json # Root dependencies
βββ .github/workflows/ci.yml # π Build & deploy all projects
Every project follows the same convention:
projects/[name]/.openclaw/AGENT.mdβ Project-specific context for the AIprojects/[name]/.openclaw/skills/β Skills that only make sense for that projectprojects/[name]/.openclaw/crons/β Cron definitions for that project, loaded dynamically by OpenClawprojects/[name]/data/β Each project owns its dataprojects/[name]/apps/β Applications for that project (website, dashboard, etc.)
The root .openclaw/ holds everything global: memory, identity, shared skills, global crons, and heartbeat config. OpenClaw discovers and loads project skills, crons, and memory by scanning the projects/ directory structure.
π Why This Structure Matters
Selective Context

Selective context β the AI loads only the relevant project, keeping noise out and tokens low.
When I ask my AI about garden tasks, it loads the potager project context β not my blog writing style guide. When I work on a blog article, it loads the writing skills and design system β not my planting calendar.
In a scattered setup, the AI loads everything or guesses whatβs relevant. In a monorepo with .openclaw/ boundaries, it navigates straight to the right context. Less noise, better answers, fewer tokens.
Composable Skills

Global skills are shared across projects. Local skills stay where they belong.
Global skills work everywhere. The add-project skill, for example, helps scaffold a brand new project in the monorepo β it asks about the project name, whether an app is needed, what skills and crons to set up, and generates the full structure following the conventions. That way, every new project starts right.
Project skills stay local. write-blog-article only makes sense for smartsdlc. training-plan only makes sense for running. No contamination between projects.
Cron: Your AI on Autopilot

Cron turns your AI from a passive tool into an active assistant that works in the background.
Each project declares its own crons in .openclaw/crons/, and OpenClaw loads them dynamically. This turns a passive workspace into an active assistant:
- Todo reminders β Daily 7:30 AM WhatsApp notification of overdue and due-today items
- Morning workout β Todayβs training plan pushed to your phone
- Evening Strava sync β Load and analyze the dayβs activity, adapt the plan
- Garden alerts β Watering reminders based on weather forecast
Without cron, your AI only works when you talk to it. With cron, it works for you in the background.
Nx Ties It All Together
With Nx managing the workspace, you get affected analysis (only build what changed), caching (unchanged projects use cached results), a project graph (Nx understands dependencies), and one CI pipeline for all projects.
π Last Thoughts
I found that AI assistants can genuinely help manage parts of our lives β but only if we give them the right structure. A scattered collection of repos and notes is like giving a new team member access to a shared drive with no folder structure and saying βfigure it out.β
For me, a well-structured monorepo became the operating system for my AI assistant. Itβs where memory lives, skills are stored, projects are organized, cron keeps things moving, and Nx ensures builds stay fast.
What Iβve taken away from this:
- AI makes starting easy, but the mess grows fast too β Having a structure in place early made all the difference for me.
- Selective context saves tokens and improves quality β
.openclaw/boundaries mean the AI loads only whatβs relevant. - Skills are composable β Build once at the global level, specialize at the project level.
- Cron turns passive context into an active assistant β Reminders, briefings, and automations run without you asking.
- Nx handles the build complexity β Affected analysis, caching, and one CI pipeline for all projects.
If youβre already using Nx for your teamβs monorepo, you already know the philosophy: conventions matter, boundaries matter, automation matters. I found that applying the same thinking to a personal AI workspace works surprisingly well.
Want to go further?
If you're looking to improve your Developer Experience, build AI Frameworks, or optimize your CI/CD pipelines with Nx, feel free to reach out β I'm always happy to share real-world setups and practical tips.
Build on Foundations,
Scale with AI.
I design AI-powered workflows and engineering foundations that make teams faster, happier, and more consistent.