Skip to content

Support publishing VPM packages under GitHub organization namespaces #139

Description

@nepinhum

Describe the feature

VPM package names currently use the format: username.packagename, where username is derived from the GitHub account used to log in and publish the package.

This works well for packages published by individual developers but it creates friction for packages that belong to GitHub organizations. Organization-owned projects usually want to publish multiple related packages under a shared namespace. But VPM currently ties the namespace to the publishing user's personal GitHub account instead of the repository owner or organization.

Use Case

#137

Proposed Solution

VPM could support publishing packages under GitHub organizations that the authenticated user has permission to publish for.

Possible package name formats: orgname.packagename or @orgname/packagename

During v publish, VPM could detect whether the repository is owned by a user or an organization, then allow the publisher to choose the target namespace when applicable.

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

Version used

V 0.5.1 8fdd1e6

Environment details (OS name and version, etc.)

V full version V 0.5.1 8fdd1e67112bb5412bd476cfbbd001307111eb06
OS linux, "EndeavourOS Linux"
V executable /home/scher/v/v
V last modified time 2026-05-28 16:13:09
V home dir OK, value: /home/scher/v
VMODULES OK, value: /home/scher/.vmodules
VTMP OK, value: /tmp/v_1000
Current working dir OK, value: /home/scher/projects/vlang/netherrack/v_raknet
Git version git version 2.54.0
V git status 0.5.1-1778-g8fdd1e67
.git/config present true
cc version cc (GCC) 16.1.1 20260430
gcc version gcc (GCC) 16.1.1 20260430
clang version clang version 22.1.6
tcc version tcc version 0.9.28rc 2025-02-13 HEAD@f8bd136d (x86_64 Linux)
tcc git status thirdparty-linux-amd64 696c1d84
emcc version N/A
glibc version ldd (GNU libc) 2.43

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions