Local home base for AI agent skills, MCP servers, profiles, and Claude Code setup
Project description
My AI Home
A local control center for Claude Code skills, MCP servers, and project profiles.
my-ai-home installs the myai command. It helps you keep reusable AI-agent capabilities in one MY_AI_ROOT workspace, then install selected skills and MCP servers into each Claude Code project.
[!NOTE] This project is currently alpha. It is usable, but command behavior and registry details may still change.
Highlights
- Manage project skills in
<project>/.claude/skills/. - Manage project MCP servers in
<project>/.mcp.json. - Bootstrap a personal
MY_AI_ROOTworkspace from existing global config. - Define profiles that bundle common skills and MCPs.
- Preview plans before writing; unmanaged project entries are not overwritten.
- Detect capabilities already visible from parent projects or global config, and avoid reinstalling them locally.
- Keep user/global scope explicit with
myai global.
Quickstart
uv tool install my-ai-home
myai migrate --target ~/my_ai
export MY_AI_ROOT=~/my_ai
myai registry check
cd /path/to/project
myai plan --profile coding
myai apply --profile coding
Run the interactive TUI from a project directory:
myai
Install
From PyPI:
uv tool install my-ai-home
myai --help
From source:
git clone https://github.com/Cookie-HOO/my-ai-home.git
cd my-ai-home
uv tool install -e .
Requirements: Python >=3.11; uv is recommended.
Core model
Workspace
MY_AI_ROOT points to your personal AI workflow workspace:
my_ai/
skills/registry.yaml
mcps/registry.yaml
profiles/registry.yaml
These YAML registries are the machine source of truth. Markdown manifests are documentation only.
Scopes
| Command | Scope | Purpose |
|---|---|---|
myai |
Current project | Install project skills/MCPs. |
myai migrate |
Bootstrap | Create or update a MY_AI_ROOT workspace. |
myai global |
User/global | Manage Claude Code global-scope config explicitly. |
Project mode refuses to run inside ~/.claude; use myai migrate or myai global there.
Visibility and ownership
Claude Code can see capabilities from the current project, parent project directories, and global/user config. myai follows that model:
- current project entries are shown as local state,
- parent project entries are shown as
parent, - global/user entries are shown as
global, - skills are managed when they are symlinks into
MY_AI_ROOT, - MCP entries are managed when they carry
MYAI_*marker env keys, - visible parent/global entries satisfy profile requirements and are not reinstalled locally.
Commands
myai # open TUI, or print summary in non-interactive shells
myai doctor # inspect current project state
myai list skills # list registered skills
myai list mcps # list registered MCP servers
myai list profiles # list profiles
myai plan --profile coding # preview changes
myai apply --profile coding # apply after confirmation
myai registry check # validate registries
Global scope:
myai global
myai global doctor
myai global plan --profile coding
Migration:
myai migrate --target ~/my_ai --dry-run
myai migrate --target ~/my_ai
Use --help for generated CLI help:
myai --help
myai plan --help
myai migrate --help
Registry sketch
Skill
version: 1
skills:
readme-writing-polish:
name: readme-writing-polish
path: skills/custom/readme-writing-polish
sourceType: custom
install: {type: symlink}
description: README writing and polishing.
recommendedFor: [coding, docs]
tags: [readme, writing]
sensitivity: normal
status: active
The path is relative to MY_AI_ROOT and must contain SKILL.md.
MCP
version: 1
servers:
fetch:
name: fetch
description: Fetch URL content.
config:
type: stdio
command: uvx
args: [mcp-server-fetch]
requires:
externalTools: [uv]
env: []
auth: []
files: []
safety:
network: true
opensBrowser: false
writesFiles: false
externalService: true
Do not store tokens, cookies, API keys, or private env file contents in MCP registries.
Profile
version: 1
profiles:
coding:
name: coding
title: Coding project
skills:
required: [brainstorming]
recommended: [modern-python]
optional: [readme-writing-polish]
mcps:
required: [fetch]
recommended: []
optional: [playwright]
required and recommended are default selections, not hard policy; users can deselect them in the TUI.
Safety
- Project mode writes only
.claude/skills/and.mcp.jsonin the target project. - Skills are symlinked, not copied.
- Existing project-owned MCP entries are not overwritten implicitly.
- Capabilities visible from parent/global scope are not duplicated into the current project by default.
myai migratedoes not delete or mutate old global Claude Code config.- Global changes require explicit
myai globalcommands.
Development
uv sync --all-groups
uv run ruff check .
uv run pytest
uv run ty check src/
uv build
Publishing
Publishing uses PyPI Trusted Publishing:
- Repository:
Cookie-HOO/my-ai-home - Workflow:
.github/workflows/pypi-publish.yml - Environment:
pypi - Trigger: GitHub release or manual workflow dispatch
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file my_ai_home-0.1.1.tar.gz.
File metadata
- Download URL: my_ai_home-0.1.1.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a3e3d0f82231834997e6d915d866537e416e11e208e5de47b71705e9a1cafc6
|
|
| MD5 |
4243b6d8080725467597e88e91243c1a
|
|
| BLAKE2b-256 |
4eee4d974b5c03f1802414f6afb32e2e69a4596465993e1fc5be169c04df8d8a
|
Provenance
The following attestation bundles were made for my_ai_home-0.1.1.tar.gz:
Publisher:
pypi-publish.yml on Cookie-HOO/my-ai-home
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
my_ai_home-0.1.1.tar.gz -
Subject digest:
9a3e3d0f82231834997e6d915d866537e416e11e208e5de47b71705e9a1cafc6 - Sigstore transparency entry: 1996484226
- Sigstore integration time:
-
Permalink:
Cookie-HOO/my-ai-home@166e9dae7775bb3ad63cdb6543e6f18804c68118 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Cookie-HOO
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@166e9dae7775bb3ad63cdb6543e6f18804c68118 -
Trigger Event:
release
-
Statement type:
File details
Details for the file my_ai_home-0.1.1-py3-none-any.whl.
File metadata
- Download URL: my_ai_home-0.1.1-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c89a86bf4ed9ae7861ae5d726e3a998728c0587137007f8ce606d22d22732df
|
|
| MD5 |
8740ec9cb7edfc73c24faa22fe91957f
|
|
| BLAKE2b-256 |
cfcbcf16f50a575edbb57d9d86be1bacc25a4ba0ad4a7eee61ebb1b86237f6d7
|
Provenance
The following attestation bundles were made for my_ai_home-0.1.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on Cookie-HOO/my-ai-home
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
my_ai_home-0.1.1-py3-none-any.whl -
Subject digest:
8c89a86bf4ed9ae7861ae5d726e3a998728c0587137007f8ce606d22d22732df - Sigstore transparency entry: 1996484315
- Sigstore integration time:
-
Permalink:
Cookie-HOO/my-ai-home@166e9dae7775bb3ad63cdb6543e6f18804c68118 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Cookie-HOO
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@166e9dae7775bb3ad63cdb6543e6f18804c68118 -
Trigger Event:
release
-
Statement type: