Shamoo knowledge base
Documentation
Practical guides for installing, publishing, and operating the Shamoo ecosystem.
Quickstart
Shamoo CLI
shamoo login shamoo search holograms shamoo install holograms
Official npm
@shamoo:registry=https://shamoof.com/npm //shamoof.com/npm/:_authToken=$SHAMOO_NPM_TOKEN
Maven / Gradle
maven {
url = uri("https://shamoof.com/maven")
}CLI publishing and tokens
Use the right credential for your account.
Every confirmed publisher can create tokens for a permanent personal workspace. Administrators use separate grants for Shamoo's reserved npm and Maven namespaces.
Publish your workspace
npm login exchanges your email and password for a read-only shnpm_... token. To publish, create a PUBLISH token in the registry dashboard. Enter your account email when npm asks for a username.
npm login \
--registry=https://shamoof.com/npm \
--auth-type=legacy
npm whoami --registry=https://shamoof.com/npmPersonal tokens publish only @sh-<username>/* on npm and com.shamoof.user.<username>:* on Maven. They cannot publish to another user or a reserved Shamoo workspace.
Publish official registries
Create separate PUBLISH tokens in the npm and Maven administration pages. Tokens are shown once and remain tied to the administrator who created them.
- npm tokens publish only
@shamoo/*packages. - Maven tokens publish only
com.shamoof:*artifacts. - Versions are immutable and Maven snapshots are rejected.
Publisher and administrator
Publish with npm
Create an npm PUBLISH token and use a new semantic version. Replace @sh-yourname with your personal scope; administrators publishing official packages use @shamoo. Keep the token as an environment-variable reference in .npmrc:
@shamoo:registry=https://shamoof.com/npm
@sh-yourname:registry=https://shamoof.com/npm
//shamoof.com/npm/:_authToken=${SHAMOO_NPM_TOKEN}
always-auth=trueread -rsp "Shamoo npm token: " SHAMOO_NPM_TOKEN && printf '\n'
export SHAMOO_NPM_TOKEN
npm publish --registry=https://shamoof.com/npm --access public
unset SHAMOO_NPM_TOKENDo not use the token returned by npm login for publication: login intentionally creates a read-only credential.
Publisher and administrator
Deploy with Maven
Create a Maven PUBLISH token. A publisher uses group com.shamoof.user.<username>; an administrator's official token uses com.shamoof. Add the repository to pom.xml and the server entry inside your user-level ~/.m2/settings.xml servers block:
<distributionManagement>
<repository>
<id>shamoo</id>
<url>https://shamoof.com/maven</url>
</repository>
</distributionManagement><server>
<id>shamoo</id>
<username>local-cli</username>
<password>${env.SHAMOO_MAVEN_TOKEN}</password>
</server>read -rsp "Shamoo Maven token: " SHAMOO_MAVEN_TOKEN && printf '\n'
export SHAMOO_MAVEN_TOKEN
./mvnw deploy
unset SHAMOO_MAVEN_TOKENPublisher and administrator
Publish with Gradle
Apply maven-publish, set the project group to your token's exact workspace, and add this repository to build.gradle.kts. Administrators replace the example group with com.shamoof:
import org.gradle.authentication.http.BasicAuthentication
plugins {
`maven-publish`
}
// Publisher: com.shamoof.user.yourname
// Administrator: com.shamoof
group = "com.shamoof.user.yourname"
publishing {
repositories {
maven {
name = "Shamoo"
url = uri("https://shamoof.com/maven")
credentials {
username = "local-cli"
password = System.getenv("SHAMOO_MAVEN_TOKEN")
}
authentication {
create<BasicAuthentication>("basic")
}
}
}
}read -rsp "Shamoo Maven token: " SHAMOO_MAVEN_TOKEN && printf '\n'
export SHAMOO_MAVEN_TOKEN
./gradlew publish --no-daemon
unset SHAMOO_MAVEN_TOKENPlugin contract
Marketplace artifacts require valid Shamoo metadata, an existing entrypoint, semantic versioning, supported runtime platforms, compatibility ranges, declared dependencies, and allowlisted permissions.