aircana 4.0.0.rc1 → 4.0.0.rc3
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/.rspec_status +185 -201
- data/CHANGELOG.md +31 -0
- data/CLAUDE.md +7 -8
- data/README.md +4 -13
- data/lib/aircana/cli/app.rb +0 -31
- data/lib/aircana/cli/commands/generate.rb +19 -14
- data/lib/aircana/cli/commands/init.rb +3 -31
- data/lib/aircana/cli/commands/kb.rb +21 -10
- data/lib/aircana/cli/help_formatter.rb +1 -2
- data/lib/aircana/contexts/confluence_content.rb +44 -1
- data/lib/aircana/generators/hooks_generator.rb +2 -2
- data/lib/aircana/generators/skills_generator.rb +69 -1
- data/lib/aircana/templates/hooks/refresh_skills.erb +121 -0
- data/lib/aircana/version.rb +1 -1
- metadata +4 -11
- data/commands/apply-feedback.md +0 -15
- data/commands/ask-expert.md +0 -42
- data/commands/execute.md +0 -13
- data/commands/plan.md +0 -33
- data/commands/record.md +0 -17
- data/commands/review.md +0 -12
- data/hooks/hooks.json +0 -31
- data/lib/aircana/cli/commands/hooks.rb +0 -276
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b2fec86c0c227e148b87d3e5d766fc779e3e34a6c73f3ebec1f88e427c206bc
|
4
|
+
data.tar.gz: 3aaa80f749a685e2731b3b7d8ae2c799f2d1a90f58ac017b81784b6393663b87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f36f796567c9fdea27472ef87a983e19c0a431afa6567fa05480456cd2417d35a8d63a2ec64735a0c070682c6b5851f9a24d099a02556adb4221d06f50ce6be
|
7
|
+
data.tar.gz: 0416c54bac24f71275e9c34c5f83711b1312f7abf47b6df1bcef62213d9813b3708761c67e8cbece574051c26a8ff418b9f686ceb50bff85e9951959c35ff201
|
data/.rspec_status
CHANGED
@@ -1,208 +1,192 @@
|
|
1
1
|
example_id | status | run_time |
|
2
2
|
----------------------------------------------------------------- | ------ | --------------- |
|
3
|
-
./spec/aircana/cli/commands/
|
4
|
-
./spec/aircana/cli/commands/
|
5
|
-
./spec/aircana/cli/commands/
|
6
|
-
./spec/aircana/cli/commands/
|
7
|
-
./spec/aircana/cli/commands/
|
8
|
-
./spec/aircana/cli/commands/
|
9
|
-
./spec/aircana/cli/commands/
|
10
|
-
./spec/aircana/cli/commands/
|
11
|
-
./spec/aircana/cli/commands/
|
12
|
-
./spec/aircana/cli/commands/
|
13
|
-
./spec/aircana/cli/commands/
|
14
|
-
./spec/aircana/cli/commands/
|
15
|
-
./spec/aircana/cli/commands/
|
16
|
-
./spec/aircana/cli/commands/
|
17
|
-
./spec/aircana/cli/commands/
|
18
|
-
./spec/aircana/cli/commands/
|
19
|
-
./spec/aircana/cli/commands/
|
20
|
-
./spec/aircana/cli/commands/
|
21
|
-
./spec/aircana/cli/commands/
|
22
|
-
./spec/aircana/cli/commands/
|
23
|
-
./spec/aircana/cli/commands/
|
24
|
-
./spec/aircana/cli/commands/
|
25
|
-
./spec/aircana/cli/commands/
|
26
|
-
./spec/aircana/cli/commands/
|
27
|
-
./spec/aircana/cli/commands/
|
28
|
-
./spec/aircana/cli/commands/
|
29
|
-
./spec/aircana/cli/commands/
|
30
|
-
./spec/aircana/cli/commands/
|
31
|
-
./spec/aircana/cli/commands/
|
32
|
-
./spec/aircana/
|
33
|
-
./spec/aircana/
|
34
|
-
./spec/aircana/
|
35
|
-
./spec/aircana/
|
36
|
-
./spec/aircana/
|
37
|
-
./spec/aircana/
|
38
|
-
./spec/aircana/
|
39
|
-
./spec/aircana/
|
40
|
-
./spec/aircana/
|
41
|
-
./spec/aircana/
|
42
|
-
./spec/aircana/
|
43
|
-
./spec/aircana/
|
44
|
-
./spec/aircana/
|
45
|
-
./spec/aircana/
|
46
|
-
./spec/aircana/
|
47
|
-
./spec/aircana/
|
48
|
-
./spec/aircana/
|
49
|
-
./spec/aircana/
|
50
|
-
./spec/aircana/
|
51
|
-
./spec/aircana/
|
52
|
-
./spec/aircana/
|
53
|
-
./spec/aircana/
|
54
|
-
./spec/aircana/
|
55
|
-
./spec/aircana/
|
56
|
-
./spec/aircana/
|
57
|
-
./spec/aircana/
|
58
|
-
./spec/aircana/
|
59
|
-
./spec/aircana/contexts/
|
60
|
-
./spec/aircana/contexts/
|
61
|
-
./spec/aircana/contexts/
|
62
|
-
./spec/aircana/contexts/
|
63
|
-
./spec/aircana/contexts/
|
64
|
-
./spec/aircana/contexts/
|
65
|
-
./spec/aircana/contexts/
|
66
|
-
./spec/aircana/contexts/
|
67
|
-
./spec/aircana/contexts/
|
68
|
-
./spec/aircana/contexts/
|
69
|
-
./spec/aircana/contexts/
|
70
|
-
./spec/aircana/contexts/
|
71
|
-
./spec/aircana/contexts/
|
72
|
-
./spec/aircana/contexts/
|
73
|
-
./spec/aircana/contexts/
|
74
|
-
./spec/aircana/contexts/
|
75
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
76
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
77
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
78
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
79
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
80
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
81
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
82
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
83
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
84
|
-
./spec/aircana/contexts/manifest_spec.rb[1:4:1] | passed | 0.00107 seconds |
|
85
|
-
./spec/aircana/contexts/manifest_spec.rb[1:4:2] | passed | 0.00027 seconds |
|
86
|
-
./spec/aircana/contexts/manifest_spec.rb[1:5:1] | passed | 0.00094 seconds |
|
87
|
-
./spec/aircana/contexts/manifest_spec.rb[1:5:2] | passed | 0.00022 seconds |
|
88
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:1] | passed | 0.0002 seconds |
|
89
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:2] | passed | 0.00019 seconds |
|
90
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:3] | passed | 0.0002 seconds |
|
91
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:4] | passed | 0.00019 seconds |
|
92
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:5] | passed | 0.00022 seconds |
|
93
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:6] | passed | 0.0002 seconds |
|
94
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:7] | passed | 0.00019 seconds |
|
95
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:8] | passed | 0.00056 seconds |
|
96
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:9] | passed | 0.0002 seconds |
|
97
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:10] | passed | 0.00018 seconds |
|
98
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:11] | passed | 0.00089 seconds |
|
99
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:12] | passed | 0.00094 seconds |
|
3
|
+
./spec/aircana/cli/commands/init_spec.rb[1:1:1] | passed | 0.01432 seconds |
|
4
|
+
./spec/aircana/cli/commands/init_spec.rb[1:1:2] | passed | 0.00218 seconds |
|
5
|
+
./spec/aircana/cli/commands/init_spec.rb[1:2:1:1] | passed | 0.00396 seconds |
|
6
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:1] | passed | 0.00157 seconds |
|
7
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:2:1] | passed | 0.00122 seconds |
|
8
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:3:1] | passed | 0.00126 seconds |
|
9
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:4:1] | passed | 0.00131 seconds |
|
10
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:1] | passed | 0.00109 seconds |
|
11
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:2] | passed | 0.00103 seconds |
|
12
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:3] | passed | 0.0009 seconds |
|
13
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:4] | passed | 0.00094 seconds |
|
14
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:5] | passed | 0.00094 seconds |
|
15
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:1] | passed | 0.00178 seconds |
|
16
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:2] | passed | 0.00212 seconds |
|
17
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:3] | passed | 0.00235 seconds |
|
18
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:4] | passed | 0.00195 seconds |
|
19
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:1:1:1] | passed | 0.00026 seconds |
|
20
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:1:2:1] | passed | 0.00047 seconds |
|
21
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:2:1] | passed | 0.00029 seconds |
|
22
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:2:2] | passed | 0.00077 seconds |
|
23
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:3:1] | passed | 0.00083 seconds |
|
24
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:3:2] | passed | 0.00063 seconds |
|
25
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:4:1:1] | passed | 0.00019 seconds |
|
26
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:4:2:1] | passed | 0.00077 seconds |
|
27
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:1:1] | passed | 0.00014 seconds |
|
28
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:1:2] | passed | 0.00725 seconds |
|
29
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:1] | passed | 0.00012 seconds |
|
30
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:2] | passed | 0.00096 seconds |
|
31
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:3] | passed | 0.00021 seconds |
|
32
|
+
./spec/aircana/configuration_spec.rb[1:1:1] | passed | 0.0001 seconds |
|
33
|
+
./spec/aircana/configuration_spec.rb[1:2:1] | passed | 0.00005 seconds |
|
34
|
+
./spec/aircana/configuration_spec.rb[1:3:1] | passed | 0.00004 seconds |
|
35
|
+
./spec/aircana/configuration_spec.rb[1:4:1] | passed | 0.00004 seconds |
|
36
|
+
./spec/aircana/configuration_spec.rb[1:5:1] | passed | 0.00004 seconds |
|
37
|
+
./spec/aircana/configuration_spec.rb[1:6:1] | passed | 0.00004 seconds |
|
38
|
+
./spec/aircana/configuration_spec.rb[1:6:2] | passed | 0.00067 seconds |
|
39
|
+
./spec/aircana/configuration_spec.rb[1:7:1:1] | passed | 0.00023 seconds |
|
40
|
+
./spec/aircana/configuration_spec.rb[1:7:2:1] | passed | 0.00017 seconds |
|
41
|
+
./spec/aircana/configuration_spec.rb[1:7:3:1] | passed | 0.00016 seconds |
|
42
|
+
./spec/aircana/configuration_spec.rb[1:7:4:1] | passed | 0.00005 seconds |
|
43
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:1] | passed | 0.00389 seconds |
|
44
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:2] | passed | 0.00077 seconds |
|
45
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:3] | passed | 0.00171 seconds |
|
46
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:1] | passed | 0.00034 seconds |
|
47
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.00026 seconds |
|
48
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.00024 seconds |
|
49
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:3:1] | passed | 0.00051 seconds |
|
50
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.00051 seconds |
|
51
|
+
./spec/aircana/contexts/local_spec.rb[1:1:1] | passed | 0.0003 seconds |
|
52
|
+
./spec/aircana/contexts/local_spec.rb[1:1:2] | passed | 0.00016 seconds |
|
53
|
+
./spec/aircana/contexts/local_spec.rb[1:1:3] | passed | 0.00012 seconds |
|
54
|
+
./spec/aircana/contexts/local_spec.rb[1:1:4] | passed | 0.00011 seconds |
|
55
|
+
./spec/aircana/contexts/local_spec.rb[1:1:5] | passed | 0.00011 seconds |
|
56
|
+
./spec/aircana/contexts/local_spec.rb[1:1:6] | passed | 0.00012 seconds |
|
57
|
+
./spec/aircana/contexts/local_spec.rb[1:1:7] | passed | 0.00015 seconds |
|
58
|
+
./spec/aircana/contexts/local_spec.rb[1:1:8] | passed | 0.00013 seconds |
|
59
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:1] | passed | 0.00022 seconds |
|
60
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:2] | passed | 0.00017 seconds |
|
61
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:3] | passed | 0.00015 seconds |
|
62
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:1] | passed | 0.00017 seconds |
|
63
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:2] | passed | 0.00015 seconds |
|
64
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:1] | passed | 0.00016 seconds |
|
65
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:2] | passed | 0.00019 seconds |
|
66
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:3] | passed | 0.00021 seconds |
|
67
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:4] | passed | 0.00017 seconds |
|
68
|
+
./spec/aircana/contexts/manifest_spec.rb[1:4:1] | passed | 0.00016 seconds |
|
69
|
+
./spec/aircana/contexts/manifest_spec.rb[1:4:2] | passed | 0.00007 seconds |
|
70
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:1] | passed | 0.00014 seconds |
|
71
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:2] | passed | 0.00007 seconds |
|
72
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:1] | passed | 0.00009 seconds |
|
73
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:2] | passed | 0.00008 seconds |
|
74
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:3] | passed | 0.00007 seconds |
|
75
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:4] | passed | 0.00007 seconds |
|
76
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:5] | passed | 0.00007 seconds |
|
77
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:6] | passed | 0.00007 seconds |
|
78
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:7] | passed | 0.00007 seconds |
|
79
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:8] | passed | 0.00007 seconds |
|
80
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:9] | passed | 0.00007 seconds |
|
81
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:10] | passed | 0.00007 seconds |
|
82
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:11] | passed | 0.00015 seconds |
|
83
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:12] | passed | 0.00014 seconds |
|
100
84
|
./spec/aircana/contexts/web_spec.rb[1:1:1] | passed | 0.00021 seconds |
|
101
|
-
./spec/aircana/contexts/web_spec.rb[1:2:1] | passed | 0.
|
102
|
-
./spec/aircana/contexts/web_spec.rb[1:3:1:1] | passed | 0.
|
103
|
-
./spec/aircana/contexts/web_spec.rb[1:3:1:2] | passed | 0.
|
104
|
-
./spec/aircana/contexts/web_spec.rb[1:3:1:3] | passed | 0.
|
105
|
-
./spec/aircana/contexts/web_spec.rb[1:3:2:1] | passed | 0.
|
106
|
-
./spec/aircana/contexts/web_spec.rb[1:3:2:2] | passed | 0.
|
107
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:1] | passed | 0.
|
108
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:2] | passed | 0.
|
109
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:3] | passed | 0.
|
110
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:4] | passed | 0.
|
111
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:5] | passed | 0.
|
112
|
-
./spec/aircana/contexts/web_spec.rb[1:3:4:1] | passed | 0.
|
113
|
-
./spec/aircana/contexts/web_spec.rb[1:3:4:2] | passed | 0.
|
114
|
-
./spec/aircana/contexts/web_spec.rb[1:3:4:3] | passed | 0.
|
115
|
-
./spec/aircana/contexts/web_spec.rb[1:3:5:1] | passed | 0.
|
116
|
-
./spec/aircana/contexts/web_spec.rb[1:3:5:2] | passed | 0.
|
117
|
-
./spec/aircana/contexts/web_spec.rb[1:3:5:3] | passed | 0.
|
118
|
-
./spec/aircana/contexts/web_spec.rb[1:3:6:1] | passed | 0.
|
119
|
-
./spec/aircana/contexts/web_spec.rb[1:3:6:2] | passed | 0.
|
120
|
-
./spec/aircana/contexts/web_spec.rb[1:3:6:3] | passed | 0.
|
121
|
-
./spec/aircana/contexts/web_spec.rb[1:3:7:1] | passed | 0.
|
122
|
-
./spec/aircana/contexts/web_spec.rb[1:3:7:2] | passed | 0.
|
85
|
+
./spec/aircana/contexts/web_spec.rb[1:2:1] | passed | 0.00023 seconds |
|
86
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:1] | passed | 0.00017 seconds |
|
87
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:2] | passed | 0.00014 seconds |
|
88
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:3] | passed | 0.00013 seconds |
|
89
|
+
./spec/aircana/contexts/web_spec.rb[1:3:2:1] | passed | 0.0002 seconds |
|
90
|
+
./spec/aircana/contexts/web_spec.rb[1:3:2:2] | passed | 0.00015 seconds |
|
91
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:1] | passed | 0.00021 seconds |
|
92
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:2] | passed | 0.00042 seconds |
|
93
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:3] | passed | 0.00031 seconds |
|
94
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:4] | passed | 0.00022 seconds |
|
95
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:5] | passed | 0.00028 seconds |
|
96
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:1] | passed | 0.00016 seconds |
|
97
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:2] | passed | 0.00016 seconds |
|
98
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:3] | passed | 0.00014 seconds |
|
99
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:1] | passed | 0.00055 seconds |
|
100
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:2] | passed | 0.00016 seconds |
|
101
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:3] | passed | 0.00037 seconds |
|
102
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:1] | passed | 0.0003 seconds |
|
103
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:2] | passed | 0.00029 seconds |
|
104
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:3] | passed | 0.00028 seconds |
|
105
|
+
./spec/aircana/contexts/web_spec.rb[1:3:7:1] | passed | 0.00015 seconds |
|
106
|
+
./spec/aircana/contexts/web_spec.rb[1:3:7:2] | passed | 0.00013 seconds |
|
123
107
|
./spec/aircana/fzf_helper_spec.rb[1:1:1:1] | passed | 0.00022 seconds |
|
124
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:1:2] | passed | 0.
|
125
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:1:3] | passed | 0.
|
126
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:2:1] | passed | 0.
|
127
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:3:1] | passed | 0.
|
128
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:1:1] | passed | 0.
|
129
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:1:2] | passed | 0.
|
130
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:1:3] | passed | 0.
|
131
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:2:1] | passed | 0.
|
132
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:2:2] | passed | 0.
|
133
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:1:1] | passed | 0.
|
108
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:2] | passed | 0.0002 seconds |
|
109
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:3] | passed | 0.00024 seconds |
|
110
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:2:1] | passed | 0.00028 seconds |
|
111
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:3:1] | passed | 0.00029 seconds |
|
112
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:1] | passed | 0.00015 seconds |
|
113
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:2] | passed | 0.00014 seconds |
|
114
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:3] | passed | 0.00013 seconds |
|
115
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:2:1] | passed | 0.00012 seconds |
|
116
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:2:2] | passed | 0.0001 seconds |
|
117
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:1:1] | passed | 0.00004 seconds |
|
134
118
|
./spec/aircana/generators/hooks_generator_spec.rb[1:2:1] | passed | 0.00003 seconds |
|
135
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:3:1] | passed | 0.
|
136
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:3:2] | passed | 0.
|
137
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:4:1] | passed | 0.
|
138
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:5:1:1] | passed | 0.
|
139
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:5:2:1] | passed | 0.
|
140
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:6:1] | passed | 0.
|
141
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:7:1] | passed | 0.
|
142
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:1] | passed | 0.
|
143
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:2] | passed | 0.
|
144
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:3] | passed | 0.
|
145
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:1] | passed | 0.
|
146
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:2] | passed | 0.
|
147
|
-
./spec/aircana/generators/record_command_generator_spec.rb[1:1:1] | passed | 0.
|
148
|
-
./spec/aircana/generators/record_command_generator_spec.rb[1:2:1] | passed | 0.
|
149
|
-
./spec/aircana/generators/record_command_generator_spec.rb[1:2:2] | passed | 0.
|
150
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:1:1] | passed | 0.
|
151
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:1:2] | passed | 0.
|
152
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:1:3] | passed | 0.
|
153
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:2:1] | passed | 0.
|
154
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:2:2] | passed | 0.
|
155
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:2:3] | passed | 0.
|
156
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:1] | passed | 0.
|
157
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:2] | passed | 0.
|
158
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:3] | passed | 0.
|
159
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:4] | passed | 0.
|
160
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:5] | passed | 0.
|
161
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:4:1] | passed | 0.
|
162
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:4:2] | passed | 0.
|
163
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:4:3] | passed | 0.
|
164
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:5:1] | passed | 0.
|
165
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:1] | passed | 0.
|
166
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:2] | passed | 0.
|
167
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:3] | passed | 0.
|
168
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:4] | passed | 0.
|
169
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:5] | passed | 0.
|
170
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:6] | passed | 0.
|
171
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:7] | passed | 0.
|
172
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:7:1] | passed | 0.
|
173
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:7:2] | passed | 0.
|
174
|
-
./spec/aircana/human_logger_spec.rb[1:1:1] | passed | 0.
|
175
|
-
./spec/aircana/human_logger_spec.rb[1:2:1] | passed | 0.
|
176
|
-
./spec/aircana/human_logger_spec.rb[1:3:1] | passed | 0.
|
177
|
-
./spec/aircana/human_logger_spec.rb[1:4:1] | passed | 0.
|
178
|
-
./spec/aircana/human_logger_spec.rb[1:5:1] | passed | 0.
|
179
|
-
./spec/aircana/human_logger_spec.rb[1:5:2] | passed | 0.
|
180
|
-
./spec/aircana/human_logger_spec.rb[1:5:3] | passed | 0.
|
181
|
-
./spec/aircana/human_logger_spec.rb[1:5:4] | passed | 0.
|
182
|
-
./spec/aircana/human_logger_spec.rb[1:5:5] | passed | 0.
|
183
|
-
./spec/aircana/human_logger_spec.rb[1:5:6] | passed | 0.
|
184
|
-
./spec/aircana/human_logger_spec.rb[1:5:7] | passed | 0.
|
185
|
-
./spec/aircana/human_logger_spec.rb[1:6:1] | passed | 0.
|
186
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:1] | passed | 0.
|
187
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:2] | passed | 0.
|
188
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:3] | passed | 0.
|
189
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:4] | passed | 0.
|
190
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:2:1] | passed | 0.
|
191
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:2:2] | passed | 0.
|
192
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:3:1] | passed | 0.
|
193
|
-
./spec/aircana/llm/claude_client_spec.rb[1:2:1] | passed | 0.
|
194
|
-
./spec/aircana/llm/claude_client_spec.rb[1:2:2] | passed | 0.
|
195
|
-
./spec/aircana/llm/claude_client_spec.rb[1:3:1:1] | passed | 0.
|
196
|
-
./spec/aircana/llm/claude_client_spec.rb[1:3:1:2] | passed | 0.
|
197
|
-
./spec/aircana/system_checker_spec.rb[1:1:1:1] | passed | 0.
|
198
|
-
./spec/aircana/system_checker_spec.rb[1:1:2:1] | passed | 0.
|
199
|
-
./spec/aircana/system_checker_spec.rb[1:1:3:1] | passed | 0.
|
200
|
-
./spec/aircana/system_checker_spec.rb[1:2:1] | passed | 0.
|
201
|
-
./spec/aircana/system_checker_spec.rb[1:2:2] | passed | 0.
|
202
|
-
./spec/aircana/system_checker_spec.rb[1:3:1] | passed | 0.
|
203
|
-
./spec/aircana/system_checker_spec.rb[1:3:2] | passed | 0.
|
119
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:3:1] | passed | 0.00048 seconds |
|
120
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:3:2] | passed | 0.00024 seconds |
|
121
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:4:1] | passed | 0.00016 seconds |
|
122
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:5:1:1] | passed | 0.00012 seconds |
|
123
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:5:2:1] | passed | 0.00004 seconds |
|
124
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:6:1] | passed | 0.0006 seconds |
|
125
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:7:1] | passed | 0.0002 seconds |
|
126
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:1] | passed | 0.00038 seconds |
|
127
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:2] | passed | 0.00033 seconds |
|
128
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:3] | passed | 0.00032 seconds |
|
129
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:1] | passed | 0.00013 seconds |
|
130
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:2] | passed | 0.00009 seconds |
|
131
|
+
./spec/aircana/generators/record_command_generator_spec.rb[1:1:1] | passed | 0.00026 seconds |
|
132
|
+
./spec/aircana/generators/record_command_generator_spec.rb[1:2:1] | passed | 0.00043 seconds |
|
133
|
+
./spec/aircana/generators/record_command_generator_spec.rb[1:2:2] | passed | 0.00013 seconds |
|
134
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:1:1] | passed | 0.00013 seconds |
|
135
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:1:2] | passed | 0.00008 seconds |
|
136
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:1:3] | passed | 0.00007 seconds |
|
137
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:2:1] | passed | 0.0002 seconds |
|
138
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:2:2] | passed | 0.00023 seconds |
|
139
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:2:3] | passed | 0.00018 seconds |
|
140
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:1] | passed | 0.00008 seconds |
|
141
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:2] | passed | 0.0001 seconds |
|
142
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:3] | passed | 0.00008 seconds |
|
143
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:4] | passed | 0.00007 seconds |
|
144
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:5] | passed | 0.00009 seconds |
|
145
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:4:1] | passed | 0.00007 seconds |
|
146
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:4:2] | passed | 0.00006 seconds |
|
147
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:4:3] | passed | 0.00007 seconds |
|
148
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:5:1] | passed | 0.00007 seconds |
|
149
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:1] | passed | 0.00009 seconds |
|
150
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:2] | passed | 0.00008 seconds |
|
151
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:3] | passed | 0.00011 seconds |
|
152
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:4] | passed | 0.00008 seconds |
|
153
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:5] | passed | 0.00007 seconds |
|
154
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:6] | passed | 0.00007 seconds |
|
155
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:7] | passed | 0.00007 seconds |
|
156
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:7:1] | passed | 0.00038 seconds |
|
157
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:7:2] | passed | 0.00032 seconds |
|
158
|
+
./spec/aircana/human_logger_spec.rb[1:1:1] | passed | 0.00526 seconds |
|
159
|
+
./spec/aircana/human_logger_spec.rb[1:2:1] | passed | 0.00007 seconds |
|
160
|
+
./spec/aircana/human_logger_spec.rb[1:3:1] | passed | 0.00006 seconds |
|
161
|
+
./spec/aircana/human_logger_spec.rb[1:4:1] | passed | 0.00005 seconds |
|
162
|
+
./spec/aircana/human_logger_spec.rb[1:5:1] | passed | 0.00004 seconds |
|
163
|
+
./spec/aircana/human_logger_spec.rb[1:5:2] | passed | 0.00004 seconds |
|
164
|
+
./spec/aircana/human_logger_spec.rb[1:5:3] | passed | 0.00004 seconds |
|
165
|
+
./spec/aircana/human_logger_spec.rb[1:5:4] | passed | 0.00004 seconds |
|
166
|
+
./spec/aircana/human_logger_spec.rb[1:5:5] | passed | 0.00004 seconds |
|
167
|
+
./spec/aircana/human_logger_spec.rb[1:5:6] | passed | 0.00004 seconds |
|
168
|
+
./spec/aircana/human_logger_spec.rb[1:5:7] | passed | 0.00004 seconds |
|
169
|
+
./spec/aircana/human_logger_spec.rb[1:6:1] | passed | 0.00004 seconds |
|
170
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:1] | passed | 0.00131 seconds |
|
171
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:2] | passed | 0.00045 seconds |
|
172
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:3] | passed | 0.00039 seconds |
|
173
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:4] | passed | 0.00083 seconds |
|
174
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:2:1] | passed | 0.00054 seconds |
|
175
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:2:2] | passed | 0.00076 seconds |
|
176
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:3:1] | passed | 0.00045 seconds |
|
177
|
+
./spec/aircana/llm/claude_client_spec.rb[1:2:1] | passed | 0.00041 seconds |
|
178
|
+
./spec/aircana/llm/claude_client_spec.rb[1:2:2] | passed | 0.00057 seconds |
|
179
|
+
./spec/aircana/llm/claude_client_spec.rb[1:3:1:1] | passed | 0.00028 seconds |
|
180
|
+
./spec/aircana/llm/claude_client_spec.rb[1:3:1:2] | passed | 0.00025 seconds |
|
181
|
+
./spec/aircana/system_checker_spec.rb[1:1:1:1] | passed | 0.00038 seconds |
|
182
|
+
./spec/aircana/system_checker_spec.rb[1:1:2:1] | passed | 0.00068 seconds |
|
183
|
+
./spec/aircana/system_checker_spec.rb[1:1:3:1] | passed | 0.00088 seconds |
|
184
|
+
./spec/aircana/system_checker_spec.rb[1:2:1] | passed | 0.00044 seconds |
|
185
|
+
./spec/aircana/system_checker_spec.rb[1:2:2] | passed | 0.00027 seconds |
|
186
|
+
./spec/aircana/system_checker_spec.rb[1:3:1] | passed | 0.00025 seconds |
|
187
|
+
./spec/aircana/system_checker_spec.rb[1:3:2] | passed | 0.00026 seconds |
|
204
188
|
./spec/aircana/system_checker_spec.rb[1:3:3] | passed | 0.00031 seconds |
|
205
|
-
./spec/aircana/system_checker_spec.rb[1:3:4] | passed | 0.
|
206
|
-
./spec/aircana/system_checker_spec.rb[1:3:5] | passed | 0.
|
189
|
+
./spec/aircana/system_checker_spec.rb[1:3:4] | passed | 0.00034 seconds |
|
190
|
+
./spec/aircana/system_checker_spec.rb[1:3:5] | passed | 0.00034 seconds |
|
207
191
|
./spec/aircana_spec.rb[1:1] | passed | 0.00004 seconds |
|
208
|
-
./spec/aircana_spec.rb[1:2] | passed | 0.
|
192
|
+
./spec/aircana_spec.rb[1:2] | passed | 0.00064 seconds |
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [4.0.0.rc2] - 2025-10-17
|
11
|
+
|
12
|
+
### Fixed
|
13
|
+
- **KB Creation UX**: Improved knowledge base name prompt to guide users naturally
|
14
|
+
- Changed prompt from "Knowledge base name:" to "What topic should this knowledge base cover?"
|
15
|
+
- Added example default: "e.g., 'Canvas Backend Database', 'API Design'"
|
16
|
+
- Prevents duplicate "Learn" prefix in generated skill names
|
17
|
+
- **SKILL.md Generation**: Fixed empty knowledge file references in SKILL.md
|
18
|
+
- Reordered operations to generate SKILL.md after content is fetched
|
19
|
+
- Modified prompt functions to return success status
|
20
|
+
- SKILL.md now only generated as fallback if no content fetched
|
21
|
+
- **Confluence Content Processing**: Added comprehensive Confluence macro preprocessing
|
22
|
+
- Removes empty code blocks from Confluence API responses
|
23
|
+
- Converts panel macros to blockquotes
|
24
|
+
- Converts info/note/warning macros to formatted blockquotes with emoji indicators
|
25
|
+
- Strips all Confluence-specific XML tags while preserving content
|
26
|
+
- Fixes bug where code examples were missing from knowledge base
|
27
|
+
- **Filename Strategy**: Fixed mismatch between stored filenames and manifest references
|
28
|
+
- Primary method now scans actual markdown files on disk
|
29
|
+
- Matches disk files to manifest summaries
|
30
|
+
- Fallback extracts from manifest metadata for tests/initial generation
|
31
|
+
- SKILL.md now correctly references existing knowledge files
|
32
|
+
- **Empty Knowledge Base Warning**: Added helpful warning when generating SKILL.md with no content
|
33
|
+
- Warns user that SKILL.md will be empty
|
34
|
+
- Suggests running `aircana kb refresh <kb-name>` to fetch knowledge
|
35
|
+
|
36
|
+
### Technical
|
37
|
+
- All tests passing (206 examples, 0 failures)
|
38
|
+
- Rubocop clean with justified disable directives for regex line lengths
|
39
|
+
- Backward compatible with existing tests and behavior
|
40
|
+
|
10
41
|
## [4.0.0.rc1] - 2025-10-17
|
11
42
|
|
12
43
|
### Changed
|
data/CLAUDE.md
CHANGED
@@ -43,12 +43,12 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
43
43
|
- `aircana kb refresh-all` - Refresh knowledge for all configured knowledge bases
|
44
44
|
- `aircana kb add-url <kb-name> <url>` - Add a web URL to a knowledge base
|
45
45
|
|
46
|
-
**
|
47
|
-
-
|
48
|
-
-
|
49
|
-
- `
|
50
|
-
-
|
51
|
-
-
|
46
|
+
**Hooks:**
|
47
|
+
- Hooks are automatically generated during `aircana init`
|
48
|
+
- Default hooks include: `session_start`, `refresh_skills`, and `notification_sqs`
|
49
|
+
- `refresh_skills` automatically refreshes remote knowledge bases once per 24 hours
|
50
|
+
- Hook scripts are stored in `scripts/` directory
|
51
|
+
- Hook configuration is managed via `hooks/hooks.json`
|
52
52
|
|
53
53
|
**System:**
|
54
54
|
- `aircana doctor` - Check system health and dependencies
|
@@ -63,13 +63,12 @@ Aircana is a Ruby gem that creates and manages Claude Code plugins with knowledg
|
|
63
63
|
|
64
64
|
- **CLI Layer** (`lib/aircana/cli/`): Thor-based command line interface with subcommands
|
65
65
|
- `app.rb`: Main Thor application defining all commands and subcommands
|
66
|
-
- `subcommand.rb`: Base class for subcommands (kb,
|
66
|
+
- `subcommand.rb`: Base class for subcommands (kb, plugin)
|
67
67
|
- `shell_command.rb`: Shell command execution utilities
|
68
68
|
- `commands/`: Individual command implementations
|
69
69
|
- `init.rb`: Plugin initialization
|
70
70
|
- `plugin.rb`: Plugin metadata management
|
71
71
|
- `kb.rb`: Knowledge base CRUD operations
|
72
|
-
- `hooks.rb`: Hook management
|
73
72
|
- `doctor.rb`: System health checks with modular check system
|
74
73
|
- `generate.rb`: Generates plugin components from templates
|
75
74
|
- `dump_context.rb`: Outputs knowledge base content for debugging
|
data/README.md
CHANGED
@@ -549,15 +549,15 @@ export AWS_REGION="us-east-1"
|
|
549
549
|
|
550
550
|
The message template supports `{{message}}` placeholder which gets replaced with the Claude Code notification text.
|
551
551
|
|
552
|
-
#### 3.
|
552
|
+
#### 3. Initialize Plugin
|
553
|
+
|
554
|
+
The notification_sqs hook is automatically generated when you initialize your plugin:
|
553
555
|
|
554
556
|
```bash
|
555
|
-
aircana generate
|
556
557
|
aircana init
|
557
|
-
aircana hooks enable notification_sqs
|
558
558
|
```
|
559
559
|
|
560
|
-
|
560
|
+
The hook will be automatically enabled and ready to use.
|
561
561
|
|
562
562
|
### Verify Configuration
|
563
563
|
|
@@ -590,15 +590,6 @@ aircana kb add-url [KB-NAME] [URL] # Add a web URL to a knowledge base
|
|
590
590
|
aircana kb list # List all configured knowledge bases
|
591
591
|
```
|
592
592
|
|
593
|
-
### Hook Management
|
594
|
-
```bash
|
595
|
-
aircana hooks list # List all available and installed hooks
|
596
|
-
aircana hooks enable [HOOK] # Enable a specific hook
|
597
|
-
aircana hooks disable [HOOK] # Disable a specific hook
|
598
|
-
aircana hooks create # Create custom hook
|
599
|
-
aircana hooks status # Show hook configuration status
|
600
|
-
```
|
601
|
-
|
602
593
|
### System
|
603
594
|
```bash
|
604
595
|
aircana generate # Generate plugin components from templates
|
data/lib/aircana/cli/app.rb
CHANGED
@@ -10,7 +10,6 @@ require_relative "commands/init"
|
|
10
10
|
require_relative "subcommand"
|
11
11
|
require_relative "help_formatter"
|
12
12
|
require_relative "commands/kb"
|
13
|
-
require_relative "commands/hooks"
|
14
13
|
require_relative "commands/plugin"
|
15
14
|
|
16
15
|
module Aircana
|
@@ -74,39 +73,9 @@ module Aircana
|
|
74
73
|
end
|
75
74
|
end
|
76
75
|
|
77
|
-
class HooksSubcommand < Subcommand
|
78
|
-
desc "list", "List all available and installed hooks"
|
79
|
-
def list
|
80
|
-
Hooks.list
|
81
|
-
end
|
82
|
-
|
83
|
-
desc "enable HOOK_NAME", "Enable a specific hook"
|
84
|
-
def enable(hook_name)
|
85
|
-
Hooks.enable(hook_name)
|
86
|
-
end
|
87
|
-
|
88
|
-
desc "disable HOOK_NAME", "Disable a specific hook"
|
89
|
-
def disable(hook_name)
|
90
|
-
Hooks.disable(hook_name)
|
91
|
-
end
|
92
|
-
|
93
|
-
desc "create", "Create a new custom hook"
|
94
|
-
def create
|
95
|
-
Hooks.create
|
96
|
-
end
|
97
|
-
|
98
|
-
desc "status", "Show current hook configuration status"
|
99
|
-
def status
|
100
|
-
Hooks.status
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
76
|
desc "kb", "Create and manage knowledge bases for Claude Code skills"
|
105
77
|
subcommand "kb", KBSubcommand
|
106
78
|
|
107
|
-
desc "hooks", "Manage Claude Code hooks"
|
108
|
-
subcommand "hooks", HooksSubcommand
|
109
|
-
|
110
79
|
class PluginSubcommand < Subcommand
|
111
80
|
desc "info", "Display plugin information"
|
112
81
|
def info
|