planka-cli 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +62 -137
- data/exe/planka +13 -0
- data/{bin → exe}/planka-branch-name +3 -4
- data/{bin → exe}/planka-claim +4 -6
- data/{bin → exe}/planka-comment +4 -6
- data/{bin → exe}/planka-link +3 -4
- data/{bin → exe}/planka-loop-lock +4 -5
- data/{bin → exe}/planka-next-card +3 -4
- data/{bin → exe}/planka-spec-sweep +5 -8
- data/{bin → exe}/planka-unticked +3 -4
- data/lib/planka/board.rb +4 -1
- data/lib/planka/branch_name.rb +10 -8
- data/lib/planka/card.rb +1 -1
- data/lib/planka/client.rb +0 -27
- data/lib/planka/version.rb +1 -1
- data/lib/planka-cli.rb +2 -0
- data/lib/planka.rb +3 -3
- metadata +22 -71
- data/.ruby-version +0 -1
- data/Makefile +0 -6
- data/bin/planka-mcp +0 -6
- data/bin/planka-op +0 -3
- data/libexec/planka-mcp +0 -5
- data/libexec/planka-op +0 -46
- data/test/fixtures/files/planka/board.json +0 -693
- data/test/lib/planka/blocker_test.rb +0 -51
- data/test/lib/planka/blocking_test.rb +0 -76
- data/test/lib/planka/board_test.rb +0 -77
- data/test/lib/planka/branch_name_test.rb +0 -36
- data/test/lib/planka/configuration_test.rb +0 -83
- data/test/lib/planka/handoff_test.rb +0 -45
- data/test/lib/planka/loop_lock_test.rb +0 -49
- data/test/lib/planka/next_card_test.rb +0 -158
- data/test/lib/planka/planka_test_helper.rb +0 -63
- data/test/lib/planka/spec_sweep_test.rb +0 -35
metadata
CHANGED
|
@@ -1,97 +1,61 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: planka-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Marshall Yount
|
|
8
|
-
bindir:
|
|
8
|
+
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
|
-
- !ruby/object:Gem::Dependency
|
|
13
|
-
name: json
|
|
14
|
-
requirement: !ruby/object:Gem::Requirement
|
|
15
|
-
requirements:
|
|
16
|
-
- - ">="
|
|
17
|
-
- !ruby/object:Gem::Version
|
|
18
|
-
version: '2.9'
|
|
19
|
-
- - "<"
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '3'
|
|
22
|
-
type: :runtime
|
|
23
|
-
prerelease: false
|
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
requirements:
|
|
26
|
-
- - ">="
|
|
27
|
-
- !ruby/object:Gem::Version
|
|
28
|
-
version: '2.9'
|
|
29
|
-
- - "<"
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
version: '3'
|
|
32
12
|
- !ruby/object:Gem::Dependency
|
|
33
13
|
name: net-http
|
|
34
14
|
requirement: !ruby/object:Gem::Requirement
|
|
35
15
|
requirements:
|
|
36
16
|
- - ">="
|
|
37
17
|
- !ruby/object:Gem::Version
|
|
38
|
-
version: '0.
|
|
18
|
+
version: '0.3'
|
|
39
19
|
- - "<"
|
|
40
20
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: '1'
|
|
21
|
+
version: '1.0'
|
|
42
22
|
type: :runtime
|
|
43
23
|
prerelease: false
|
|
44
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
25
|
requirements:
|
|
46
26
|
- - ">="
|
|
47
27
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '0.
|
|
28
|
+
version: '0.3'
|
|
49
29
|
- - "<"
|
|
50
30
|
- !ruby/object:Gem::Version
|
|
51
|
-
version: '1'
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
requirement: !ruby/object:Gem::Requirement
|
|
55
|
-
requirements:
|
|
56
|
-
- - "~>"
|
|
57
|
-
- !ruby/object:Gem::Version
|
|
58
|
-
version: '5.25'
|
|
59
|
-
type: :development
|
|
60
|
-
prerelease: false
|
|
61
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
62
|
-
requirements:
|
|
63
|
-
- - "~>"
|
|
64
|
-
- !ruby/object:Gem::Version
|
|
65
|
-
version: '5.25'
|
|
66
|
-
description: Planka REST API commands for selecting, claiming, linking, and handing
|
|
67
|
-
off workflow cards.
|
|
31
|
+
version: '1.0'
|
|
32
|
+
description: Pick, claim and link Planka cards, inspect branch handoffs, and close
|
|
33
|
+
completed specs.
|
|
68
34
|
executables:
|
|
35
|
+
- planka
|
|
69
36
|
- planka-branch-name
|
|
70
37
|
- planka-claim
|
|
71
38
|
- planka-comment
|
|
72
39
|
- planka-link
|
|
73
40
|
- planka-loop-lock
|
|
74
|
-
- planka-mcp
|
|
75
41
|
- planka-next-card
|
|
76
|
-
- planka-op
|
|
77
42
|
- planka-spec-sweep
|
|
78
43
|
- planka-unticked
|
|
79
44
|
extensions: []
|
|
80
45
|
extra_rdoc_files: []
|
|
81
46
|
files:
|
|
82
|
-
-
|
|
83
|
-
- Makefile
|
|
47
|
+
- CHANGELOG.md
|
|
84
48
|
- README.md
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
49
|
+
- exe/planka
|
|
50
|
+
- exe/planka-branch-name
|
|
51
|
+
- exe/planka-claim
|
|
52
|
+
- exe/planka-comment
|
|
53
|
+
- exe/planka-link
|
|
54
|
+
- exe/planka-loop-lock
|
|
55
|
+
- exe/planka-next-card
|
|
56
|
+
- exe/planka-spec-sweep
|
|
57
|
+
- exe/planka-unticked
|
|
58
|
+
- lib/planka-cli.rb
|
|
95
59
|
- lib/planka.rb
|
|
96
60
|
- lib/planka/blocker.rb
|
|
97
61
|
- lib/planka/blocking.rb
|
|
@@ -105,19 +69,6 @@ files:
|
|
|
105
69
|
- lib/planka/pull_request.rb
|
|
106
70
|
- lib/planka/spec_sweep.rb
|
|
107
71
|
- lib/planka/version.rb
|
|
108
|
-
- libexec/planka-mcp
|
|
109
|
-
- libexec/planka-op
|
|
110
|
-
- test/fixtures/files/planka/board.json
|
|
111
|
-
- test/lib/planka/blocker_test.rb
|
|
112
|
-
- test/lib/planka/blocking_test.rb
|
|
113
|
-
- test/lib/planka/board_test.rb
|
|
114
|
-
- test/lib/planka/branch_name_test.rb
|
|
115
|
-
- test/lib/planka/configuration_test.rb
|
|
116
|
-
- test/lib/planka/handoff_test.rb
|
|
117
|
-
- test/lib/planka/loop_lock_test.rb
|
|
118
|
-
- test/lib/planka/next_card_test.rb
|
|
119
|
-
- test/lib/planka/planka_test_helper.rb
|
|
120
|
-
- test/lib/planka/spec_sweep_test.rb
|
|
121
72
|
licenses: []
|
|
122
73
|
metadata: {}
|
|
123
74
|
rdoc_options: []
|
|
@@ -127,7 +78,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
127
78
|
requirements:
|
|
128
79
|
- - ">="
|
|
129
80
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '3.
|
|
81
|
+
version: '3.2'
|
|
131
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
83
|
requirements:
|
|
133
84
|
- - ">="
|
|
@@ -136,5 +87,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
136
87
|
requirements: []
|
|
137
88
|
rubygems_version: 3.6.9
|
|
138
89
|
specification_version: 4
|
|
139
|
-
summary:
|
|
90
|
+
summary: Command-line workflows for Planka boards
|
|
140
91
|
test_files: []
|
data/.ruby-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.4.9
|
data/Makefile
DELETED
data/bin/planka-mcp
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
# RubyGems loads executables as Ruby; keep the shell implementation packaged.
|
|
3
|
-
require_relative "../lib/planka/client"
|
|
4
|
-
|
|
5
|
-
Planka::Client.resolve_credentials!(__FILE__, ARGV)
|
|
6
|
-
exec "bash", File.expand_path("../libexec/planka-mcp", __dir__), *ARGV
|
data/bin/planka-op
DELETED
data/libexec/planka-mcp
DELETED
data/libexec/planka-op
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Runs a command with the op:// references in its environment resolved by a
|
|
3
|
-
# 1Password service account, so no interactive unlock is needed.
|
|
4
|
-
#
|
|
5
|
-
# planka-op <command> [args...]
|
|
6
|
-
#
|
|
7
|
-
# Uses an existing OP_SERVICE_ACCOUNT_TOKEN, or sources $OP_ENV_FILE or the
|
|
8
|
-
# calling directory's .env.op when no token has been exported.
|
|
9
|
-
set -euo pipefail
|
|
10
|
-
|
|
11
|
-
if [ "$#" -eq 0 ]; then
|
|
12
|
-
echo "usage: planka-op <command> [args...]" >&2
|
|
13
|
-
exit 64
|
|
14
|
-
fi
|
|
15
|
-
|
|
16
|
-
if [ -z "${OP_SERVICE_ACCOUNT_TOKEN:-}" ]; then
|
|
17
|
-
env_file="${OP_ENV_FILE:-$PWD/.env.op}"
|
|
18
|
-
if [ ! -f "$env_file" ]; then
|
|
19
|
-
echo "planka-op: no OP_SERVICE_ACCOUNT_TOKEN (set it, set OP_ENV_FILE, or create .env.op)" >&2
|
|
20
|
-
exit 1
|
|
21
|
-
fi
|
|
22
|
-
|
|
23
|
-
set -a
|
|
24
|
-
# shellcheck disable=SC1090
|
|
25
|
-
. "$env_file"
|
|
26
|
-
set +a
|
|
27
|
-
|
|
28
|
-
if [ -z "${OP_SERVICE_ACCOUNT_TOKEN:-}" ]; then
|
|
29
|
-
echo "planka-op: $env_file did not set OP_SERVICE_ACCOUNT_TOKEN" >&2
|
|
30
|
-
exit 1
|
|
31
|
-
fi
|
|
32
|
-
fi
|
|
33
|
-
export OP_SERVICE_ACCOUNT_TOKEN
|
|
34
|
-
|
|
35
|
-
# op looks under $HOME for the 1Password app's settings in its group container,
|
|
36
|
-
# even with a service account and OP_BIOMETRIC_UNLOCK_ENABLED=false. Under
|
|
37
|
-
# launchd that read makes macOS ask whether the launched process ("ruby") may
|
|
38
|
-
# access data from other apps. So op gets a home of its own, with no app in
|
|
39
|
-
# it, and the command it runs gets the real one back.
|
|
40
|
-
real_home="$HOME"
|
|
41
|
-
op_home="${XDG_STATE_HOME:-$real_home/.local/state}/planka-cli/op-home"
|
|
42
|
-
mkdir -p "$op_home"
|
|
43
|
-
|
|
44
|
-
# --no-masking: op run otherwise rewrites secret values in stdout, which
|
|
45
|
-
# corrupts the MCP JSON-RPC stream and any JSON a script prints.
|
|
46
|
-
HOME="$op_home" exec op run --no-masking -- env HOME="$real_home" "$@"
|