@getmonoceros/workbench 1.7.4 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +1992 -1328
- package/dist/bin.js.map +1 -1
- package/features/atlassian/devcontainer-feature.json +9 -12
- package/features/claude-code/devcontainer-feature.json +5 -7
- package/features/github-cli/devcontainer-feature.json +4 -6
- package/package.json +1 -1
- package/templates/monoceros-config.sample.yml +54 -72
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainerFeature.schema.json",
|
|
3
3
|
"id": "atlassian",
|
|
4
|
-
"name": "Atlassian
|
|
4
|
+
"name": "Atlassian",
|
|
5
5
|
"version": "1.0.0",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Rovo Dev (`acli rovodev`) and Teamwork Graph (`twg`) CLIs sharing one Atlassian account. Auth persists across rebuilds.",
|
|
7
7
|
"documentationURL": "https://developer.atlassian.com/cloud/",
|
|
8
8
|
"options": {
|
|
9
9
|
"rovodev": {
|
|
10
10
|
"type": "boolean",
|
|
11
11
|
"default": true,
|
|
12
|
-
"description": "Install
|
|
12
|
+
"description": "Install acli (with the Rovo Dev agent)."
|
|
13
13
|
},
|
|
14
14
|
"twg": {
|
|
15
15
|
"type": "boolean",
|
|
16
16
|
"default": true,
|
|
17
|
-
"description": "Install
|
|
17
|
+
"description": "Install twg (Teamwork Graph CLI)."
|
|
18
18
|
},
|
|
19
19
|
"instance": {
|
|
20
20
|
"type": "string",
|
|
21
21
|
"default": "",
|
|
22
|
-
"description": "Atlassian site host
|
|
22
|
+
"description": "Atlassian site host (`yoursite.atlassian.net`); required by twg."
|
|
23
23
|
},
|
|
24
24
|
"email": {
|
|
25
25
|
"type": "string",
|
|
26
26
|
"default": "",
|
|
27
|
-
"description": "
|
|
27
|
+
"description": "Atlassian account email; used with `apiToken` for non-interactive login."
|
|
28
28
|
},
|
|
29
29
|
"apiToken": {
|
|
30
30
|
"type": "string",
|
|
31
31
|
"default": "",
|
|
32
|
-
"description": "Atlassian API token
|
|
32
|
+
"description": "Atlassian API token (id.atlassian.com → Security → API tokens)."
|
|
33
33
|
},
|
|
34
34
|
"bitbucketToken": {
|
|
35
35
|
"type": "string",
|
|
36
36
|
"default": "",
|
|
37
|
-
"description": "Optional Bitbucket
|
|
37
|
+
"description": "Optional Bitbucket app password; only needed for twg's Bitbucket commands."
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"customizations": {
|
|
@@ -50,9 +50,6 @@
|
|
|
50
50
|
".agents"
|
|
51
51
|
],
|
|
52
52
|
"optionHints": ["instance", "email", "apiToken", "bitbucketToken"],
|
|
53
|
-
"usageNotes": [
|
|
54
|
-
"Bundles two CLIs that share one Atlassian account: `acli rovodev` (Rovo Dev agent) and `twg` (Teamwork Graph). Both default to on — set `rovodev: false` or `twg: false` to skip either install.",
|
|
55
|
-
"Auth: email + apiToken below cover both tools. `instance` is required upfront for twg's auto-login; acli rovodev prompts for the site at first `acli rovodev run`. `bitbucketToken` is only needed if you use twg's Bitbucket commands. Skip the credentials entirely to log in interactively inside the container — state persists under home/.config/{acli,twg} and home/.rovodev."
|
|
56
|
-
]
|
|
53
|
+
"usageNotes": []
|
|
57
54
|
}
|
|
58
55
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainerFeature.schema.json",
|
|
3
3
|
"id": "claude-code",
|
|
4
|
-
"name": "Claude Code
|
|
4
|
+
"name": "Claude Code",
|
|
5
5
|
"version": "1.1.0",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Anthropic's CLI coding assistant. OAuth/subscription login persists across container rebuilds.",
|
|
7
7
|
"documentationURL": "https://docs.anthropic.com/en/docs/claude-code",
|
|
8
8
|
"options": {
|
|
9
9
|
"version": {
|
|
10
10
|
"type": "string",
|
|
11
11
|
"default": "latest",
|
|
12
|
-
"description": "npm-style version spec
|
|
12
|
+
"description": "npm-style version spec (`latest`, `^0.4`, `0.4.2`)."
|
|
13
13
|
},
|
|
14
14
|
"apiKey": {
|
|
15
15
|
"type": "string",
|
|
16
16
|
"default": "",
|
|
17
|
-
"description": "
|
|
17
|
+
"description": "`sk-ant-…` for API auth; empty for OAuth login on first run."
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"customizations": {
|
|
@@ -31,8 +31,6 @@
|
|
|
31
31
|
}
|
|
32
32
|
],
|
|
33
33
|
"optionHints": ["apiKey"],
|
|
34
|
-
"usageNotes": [
|
|
35
|
-
"Two auth modes: (1) set apiKey below for non-interactive API auth via ANTHROPIC_API_KEY, or (2) leave apiKey empty and run `claude login` once inside the container for the subscription/OAuth flow. Either way the resulting login state lives under home/.claude on the host and survives `monoceros apply` rebuilds."
|
|
36
|
-
]
|
|
34
|
+
"usageNotes": []
|
|
37
35
|
}
|
|
38
36
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainerFeature.schema.json",
|
|
3
3
|
"id": "github-cli",
|
|
4
|
-
"name": "GitHub CLI
|
|
4
|
+
"name": "GitHub CLI",
|
|
5
5
|
"version": "1.0.0",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "The official `gh` CLI. Login persists across container rebuilds.",
|
|
7
7
|
"documentationURL": "https://cli.github.com/",
|
|
8
8
|
"options": {
|
|
9
9
|
"apiToken": {
|
|
10
10
|
"type": "string",
|
|
11
11
|
"default": "",
|
|
12
|
-
"description": "GitHub
|
|
12
|
+
"description": "GitHub PAT (scopes: repo, read:org, gist); empty for `gh auth login` on first run."
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"customizations": {
|
|
@@ -20,8 +20,6 @@
|
|
|
20
20
|
"x-monoceros": {
|
|
21
21
|
"persistentHomePaths": [".config/gh"],
|
|
22
22
|
"optionHints": ["apiToken"],
|
|
23
|
-
"usageNotes": [
|
|
24
|
-
"Two auth modes: (1) set apiToken below for non-interactive auth via GH_TOKEN (PAT scopes: repo, read:org, gist), or (2) leave apiToken empty and run `gh auth login` once inside the container for the browser-based OAuth flow with optional SSH-key upload. State persists under home/.config/gh so the login survives `monoceros apply` rebuilds."
|
|
25
|
-
]
|
|
23
|
+
"usageNotes": []
|
|
26
24
|
}
|
|
27
25
|
}
|
package/package.json
CHANGED
|
@@ -1,84 +1,66 @@
|
|
|
1
|
-
# Monoceros
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
# a fresh-installed Monoceros behaves as if it didn't exist. To enable
|
|
5
|
-
# a setting: remove the leading "# " from each line of that block.
|
|
6
|
-
#
|
|
7
|
-
# Two top-level sections:
|
|
8
|
-
# - `defaults` — fall-throughs for container-yml fields (git
|
|
9
|
-
# identity, per-feature options).
|
|
10
|
-
# - `routing` — machine-global settings for the shared Traefik
|
|
11
|
-
# singleton (only `hostPort` today).
|
|
12
|
-
#
|
|
13
|
-
# Per-container yml ALWAYS wins over these defaults. Setting a value
|
|
14
|
-
# here just spares you from repeating it across every container.
|
|
1
|
+
# Global defaults for Monoceros containers. Values here fall through
|
|
2
|
+
# into any container yml that doesn't set them itself. Optional —
|
|
3
|
+
# Monoceros runs fine without this file.
|
|
15
4
|
|
|
16
5
|
schemaVersion: 1
|
|
17
6
|
|
|
18
|
-
# ──────────────────────────────────────────────────────────────────
|
|
19
|
-
# defaults — fall-throughs for container-yml fields.
|
|
20
|
-
# ──────────────────────────────────────────────────────────────────
|
|
21
|
-
|
|
22
7
|
defaults:
|
|
23
|
-
# Git committer identity for any container whose yml
|
|
24
|
-
# `git.user`.
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
# 3. host's `git config --global user.{name,email}`
|
|
28
|
-
# 4. `.monoceros/gitconfig` left by a previous apply
|
|
29
|
-
# 5. interactive prompt (skipped in non-TTY)
|
|
8
|
+
# Git committer identity used for any container whose yml doesn't
|
|
9
|
+
# set its own `git.user`. apply prompts once when both fields are
|
|
10
|
+
# empty here AND on the host, then offers to persist the answer
|
|
11
|
+
# here so you don't get asked again on future containers.
|
|
30
12
|
git:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
13
|
+
user:
|
|
14
|
+
name: ''
|
|
15
|
+
email: ''
|
|
34
16
|
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
17
|
+
# Shared per-feature options. Credentials and tokens that you'd
|
|
18
|
+
# otherwise repeat across every container yml live here, keyed by
|
|
19
|
+
# the feature's OCI ref. Setting a value here does NOT activate the
|
|
20
|
+
# feature in any container — you still pick which containers use it
|
|
21
|
+
# via `monoceros init <name> --with=<feature>` or
|
|
22
|
+
# `monoceros add-feature <name> <feature>`. The defaults only kick
|
|
23
|
+
# in once a container has the feature on its list and leaves the
|
|
24
|
+
# option unset. Per-container values always win.
|
|
41
25
|
features:
|
|
42
|
-
|
|
26
|
+
|
|
27
|
+
# Claude Code — Anthropic's CLI coding assistant. OAuth/subscription
|
|
28
|
+
# login persists across container rebuilds.
|
|
29
|
+
# Options: version (npm spec), apiKey (`sk-ant-…` for API auth;
|
|
30
|
+
# empty for OAuth login on first run).
|
|
31
|
+
# See https://docs.anthropic.com/en/docs/claude-code for further information.
|
|
43
32
|
# ghcr.io/getmonoceros/monoceros-features/claude-code:1:
|
|
44
|
-
# version:
|
|
45
|
-
# apiKey:
|
|
46
|
-
|
|
47
|
-
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
33
|
+
# version:
|
|
34
|
+
# apiKey:
|
|
35
|
+
|
|
36
|
+
# GitHub CLI — The official `gh` CLI. Login persists across
|
|
37
|
+
# container rebuilds.
|
|
38
|
+
# Options: apiToken (GitHub PAT, scopes repo / read:org / gist;
|
|
39
|
+
# empty for `gh auth login` on first run).
|
|
40
|
+
# See https://cli.github.com/ for further information.
|
|
51
41
|
# ghcr.io/getmonoceros/monoceros-features/github-cli:1:
|
|
52
|
-
# apiToken:
|
|
53
|
-
# # Developer settings → PAT, scopes
|
|
54
|
-
# # repo + read:org + gist). Set → exported
|
|
55
|
-
# # as GH_TOKEN; empty → no auto-login,
|
|
56
|
-
# # `gh auth login` interactively in shell.
|
|
57
|
-
#
|
|
58
|
-
# ── Atlassian (Rovo Dev acli + Teamwork Graph twg) ──────────
|
|
59
|
-
# ghcr.io/getmonoceros/monoceros-features/atlassian:1:
|
|
60
|
-
# rovodev: true # install acli + Rovo Dev agent
|
|
61
|
-
# twg: true # install twg (Teamwork Graph CLI)
|
|
62
|
-
# instance: '' # site host like 'yoursite.atlassian.net',
|
|
63
|
-
# # required for twg auto-login (Rovo Dev
|
|
64
|
-
# # asks for it on first `acli rovodev run`)
|
|
65
|
-
# email: '' # Atlassian-account email — paired with
|
|
66
|
-
# # apiToken for both CLIs' non-interactive
|
|
67
|
-
# # login
|
|
68
|
-
# apiToken: '' # Atlassian API token from
|
|
69
|
-
# # id.atlassian.com → Security → API tokens
|
|
70
|
-
# bitbucketToken: '' # optional, Bitbucket Cloud app-password.
|
|
71
|
-
# # Used by twg's Bitbucket commands only.
|
|
42
|
+
# apiToken:
|
|
72
43
|
|
|
73
|
-
#
|
|
74
|
-
#
|
|
75
|
-
#
|
|
44
|
+
# Atlassian — Rovo Dev (`acli rovodev`) and Teamwork Graph (`twg`)
|
|
45
|
+
# CLIs sharing one Atlassian account. Auth persists across rebuilds.
|
|
46
|
+
# Options: rovodev / twg (install toggles), instance
|
|
47
|
+
# (`yoursite.atlassian.net`), email + apiToken (Atlassian account),
|
|
48
|
+
# bitbucketToken (only for twg's Bitbucket commands).
|
|
49
|
+
# See https://developer.atlassian.com/cloud/ for further information.
|
|
50
|
+
# ghcr.io/getmonoceros/monoceros-features/atlassian:1:
|
|
51
|
+
# rovodev: true
|
|
52
|
+
# twg: true
|
|
53
|
+
# instance:
|
|
54
|
+
# email:
|
|
55
|
+
# apiToken:
|
|
56
|
+
# bitbucketToken:
|
|
76
57
|
|
|
77
58
|
routing:
|
|
78
|
-
# Host port the Traefik singleton binds. Default 80 →
|
|
79
|
-
# http://<name>.localhost/. If port 80 is
|
|
80
|
-
# machine (system nginx, Pi-hole, …) set
|
|
81
|
-
#
|
|
82
|
-
# pre-flight check before apply /
|
|
83
|
-
# and asks you to free the port or
|
|
84
|
-
#
|
|
59
|
+
# Host port the shared Traefik singleton binds. Default 80 →
|
|
60
|
+
# container URLs are http://<name>.localhost/. If port 80 is held by
|
|
61
|
+
# something else on your machine (system nginx, Pi-hole, …) set a
|
|
62
|
+
# free port here (e.g. 8080); URLs then become
|
|
63
|
+
# http://<name>.localhost:8080/. The pre-flight check before apply /
|
|
64
|
+
# start / add-port reads this and asks you to free the port or
|
|
65
|
+
# change this setting on conflict.
|
|
66
|
+
hostPort: 80
|