feat: install into a project instead of the user's home

Aberta
#136 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
dart
Domínio
cli, devtools

Direção de pesquisa

Start with the install, doctor and uninstall command entry points and trace how the CLI currently writes harness files and resolves plugin paths. Map each supported harness's project-level files and identify where plugin references, hooks and MCP servers can be translated. Done means project-scoped install, drift detection and noninteractive CI behavior meet the listed requirements, with failures for unsupported translations.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

feature

Description

vgv_ai install writes only to the user's home directory, and skills and agents point at plugin files by absolute path in ~/.vgv_ai/plugins or the Claude Code plugin cache. Nothing it writes can be committed to a repository, so a team can't share one VGV setup through the repo, and CI or a bot that reads the repo can't see it.

npx skills installs at project level, but only skills, and it can't resolve plugin files. At the current tags, Wingspan's 29 shared-file symlinks are skipped (8 of 12 skills affected), and all 5 FFCA skills read ${CLAUDE_PLUGIN_ROOT}/…. Agents, hooks and MCP servers aren't installed at all. VeryGoodOpenSource/vgv-wingspan#270 moves Wingspan to ${CLAUDE_PLUGIN_ROOT} as well, so vgv_ai is the only tool that can translate VGV plugins. This asks it to do that at project level too.

Requirements

  • Add a project scope to install, doctor and uninstall (for example --project [dir]) that writes each harness's project-level files, such as .agents/skills, .codex/, .gemini/settings.json and opencode.json, instead of the home-directory ones.
  • Copy the plugin files that skills and agents reference into the project, for example .vgv_ai/plugins/<plugin>@<tag>/, and rewrite ${CLAUDE_PLUGIN_ROOT} and ${CLAUDE_SKILL_DIR} to paths relative to the repo. No absolute or $HOME paths in the output.
  • Keep the manifest in the project (for example .vgv_ai/manifest.json), with each plugin's tag and a content hash, so doctor can detect drift in CI.
  • Make hooks and MCP servers project-scoped where the harness supports that. Otherwise, record a TranslationNote.
  • Make install --project work without prompts in CI, with an exit code that fails on anything it can't translate.

Additional Context

Use case: a repository that sets itself up for a chosen harness and set of VGV plugins, then commits the result so every contributor, CI and any bot working on the repo share the same setup. Today the only option is to commit the repo's own skills and ask each contributor to run vgv_ai install.

Linguagem predominante
Dart
Estrelas
3
Forks
0
Merge médio
2d 4h
PRs com merge (30d)
40

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de VeryGoodOpenSource/vgv_ai_cli

Todas as issues de VeryGoodOpenSource/vgv_ai_cli

Issues semelhantes

Mais issues de Dart

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.