Skip to main content

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.

Python Status License

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_ROOT workspace 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.json in 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 migrate does not delete or mutate old global Claude Code config.
  • Global changes require explicit myai global commands.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

my_ai_home-0.1.1.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

my_ai_home-0.1.1-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

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

Hashes for my_ai_home-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9a3e3d0f82231834997e6d915d866537e416e11e208e5de47b71705e9a1cafc6
MD5 4243b6d8080725467597e88e91243c1a
BLAKE2b-256 4eee4d974b5c03f1802414f6afb32e2e69a4596465993e1fc5be169c04df8d8a

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for my_ai_home-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c89a86bf4ed9ae7861ae5d726e3a998728c0587137007f8ce606d22d22732df
MD5 8740ec9cb7edfc73c24faa22fe91957f
BLAKE2b-256 cfcbcf16f50a575edbb57d9d86be1bacc25a4ba0ad4a7eee61ebb1b86237f6d7

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page