aircana 1.1.0.rc1 → 1.3.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.
- checksums.yaml +4 -4
- data/.rspec_status +188 -160
- data/CHANGELOG.md +7 -0
- data/CLAUDE.md +18 -6
- data/README.md +47 -6
- data/lib/aircana/cli/app.rb +5 -2
- data/lib/aircana/cli/commands/agents.rb +118 -6
- data/lib/aircana/cli/commands/doctor.rb +11 -5
- data/lib/aircana/cli/commands/doctor_checks.rb +48 -0
- data/lib/aircana/cli/commands/install.rb +4 -5
- data/lib/aircana/contexts/confluence.rb +0 -1
- data/lib/aircana/contexts/manifest.rb +20 -0
- data/lib/aircana/contexts/web.rb +341 -0
- data/lib/aircana/generators/agents_generator.rb +1 -1
- data/lib/aircana/generators/helpers.rb +1 -2
- data/lib/aircana/generators/hooks_generator.rb +2 -0
- data/lib/aircana/generators/relevant_files_command_generator.rb +1 -1
- data/lib/aircana/system_checker.rb +11 -0
- data/lib/aircana/templates/agents/base_agent.erb +4 -3
- data/lib/aircana/templates/hooks/notification_sqs.erb +75 -0
- data/lib/aircana/templates/hooks/pre_tool_use.erb +32 -7
- data/lib/aircana/version.rb +1 -1
- data/spec_output_1758908468_248/commands/air-add-relevant-files.md +1 -0
- data/spec_output_1758908479_36/commands/air-add-relevant-files.md +1 -0
- data/spec_output_1758908547_132/commands/air-add-relevant-files.md +1 -0
- data/spec_output_1758908553_721/commands/air-add-relevant-files.md +1 -0
- data/spec_output_1758917010_960/commands/air-add-relevant-files.md +1 -0
- data/spec_output_1758917064_555/commands/air-add-relevant-files.md +1 -0
- metadata +11 -7
- data/lib/aircana/cli/commands/plan.rb +0 -69
- data/lib/aircana/cli/commands/work.rb +0 -69
- data/lib/aircana/templates/agents/defaults/planner.erb +0 -126
- data/lib/aircana/templates/agents/defaults/worker.erb +0 -185
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13e5dc4492d755a6dc39e96375052c090786abc060384f1477cba7a95e43b020
|
4
|
+
data.tar.gz: f5a1a2eb0c38b8a978214a7c010c7f88da1257e6b7854f966392f23e01c81653
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04b746dd5a332e2675ab3f6f4d064d3ed4db100f6c00ceea49044cc93f87cae549a47f4fbbe055fedbb952445b435e694c9b3981f0acdf1c4fce95ac4e38aded
|
7
|
+
data.tar.gz: 57eba9e8b146b797b74f8a88ff28beb791aa108df77adfa2ac921a7844ebc13990effce77742a992341afdc52692d585cd3d5d59443ec01def753643bacf5c1c
|
data/.rspec_status
CHANGED
@@ -1,166 +1,194 @@
|
|
1
1
|
example_id | status | run_time |
|
2
2
|
------------------------------------------------------------ | ------ | --------------- |
|
3
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:1:1] | passed | 0.
|
4
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:2:1] | passed | 0.
|
5
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:3:1] | passed | 0.
|
6
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:4:1] | passed | 0.
|
7
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:4:2:1] | passed | 0.
|
8
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:5:1] | passed | 0.
|
9
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:2:1] | passed | 0.
|
10
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:2:2] | passed | 0.
|
11
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:1] | passed | 0.
|
12
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:2] | passed | 0.
|
13
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:3] | passed | 0.
|
14
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:4] | passed | 0.
|
15
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:5] | passed | 0.
|
16
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:6] | passed | 0.
|
17
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:7] | passed | 0.
|
18
|
-
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:8] | passed | 0.
|
19
|
-
./spec/aircana/cli/commands/agents_spec.rb[1:1:1:1] | passed | 0.
|
20
|
-
./spec/aircana/cli/commands/agents_spec.rb[1:1:1:2] | passed | 0.
|
21
|
-
./spec/aircana/cli/commands/agents_spec.rb[1:1:1:3] | passed | 0.
|
3
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:1:1] | passed | 0.0127 seconds |
|
4
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:2:1] | passed | 0.00093 seconds |
|
5
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:3:1] | passed | 0.0008 seconds |
|
6
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:4:1] | passed | 0.00298 seconds |
|
7
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:4:2:1] | passed | 0.01654 seconds |
|
8
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:1:5:1] | passed | 0.00236 seconds |
|
9
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:2:1] | passed | 0.00147 seconds |
|
10
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:2:2] | passed | 0.00219 seconds |
|
11
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:1] | passed | 0.00074 seconds |
|
12
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:2] | passed | 0.00075 seconds |
|
13
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:3] | passed | 0.00094 seconds |
|
14
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:4] | passed | 0.00101 seconds |
|
15
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:5] | passed | 0.00088 seconds |
|
16
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:6] | passed | 0.00087 seconds |
|
17
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:7] | passed | 0.0008 seconds |
|
18
|
+
./spec/aircana/cli/commands/add_directory_spec.rb[1:3:8] | passed | 0.00093 seconds |
|
19
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:1:1:1] | passed | 0.0006 seconds |
|
20
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:1:1:2] | passed | 0.00036 seconds |
|
21
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:1:1:3] | passed | 0.00037 seconds |
|
22
22
|
./spec/aircana/cli/commands/agents_spec.rb[1:1:2:1] | passed | 0.00124 seconds |
|
23
|
-
./spec/aircana/cli/commands/agents_spec.rb[1:1:3:1] | passed | 0.
|
24
|
-
./spec/aircana/cli/commands/agents_spec.rb[1:1:3:2] | passed | 0.
|
25
|
-
./spec/aircana/cli/commands/agents_spec.rb[1:2:1]
|
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/cli/commands/
|
33
|
-
./spec/aircana/cli/commands/
|
34
|
-
./spec/aircana/cli/commands/
|
35
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
36
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
37
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
38
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
39
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
40
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
41
|
-
./spec/aircana/cli/commands/hooks_spec.rb[1:
|
42
|
-
./spec/aircana/cli/commands/
|
43
|
-
./spec/aircana/cli/commands/
|
44
|
-
./spec/aircana/cli/commands/
|
45
|
-
./spec/aircana/cli/commands/
|
46
|
-
./spec/aircana/cli/commands/
|
47
|
-
./spec/aircana/cli/commands/
|
48
|
-
./spec/aircana/cli/commands/
|
49
|
-
./spec/aircana/cli/commands/
|
50
|
-
./spec/aircana/cli/commands/
|
51
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
52
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
53
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
54
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
55
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
56
|
-
./spec/aircana/cli/commands/install_spec.rb[1:4:
|
57
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
58
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
59
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
60
|
-
./spec/aircana/cli/commands/install_spec.rb[1:
|
61
|
-
./spec/aircana/cli/commands/
|
62
|
-
./spec/aircana/cli/commands/
|
63
|
-
./spec/aircana/cli/commands/
|
64
|
-
./spec/aircana/cli/commands/
|
65
|
-
./spec/aircana/cli/commands/
|
66
|
-
./spec/aircana/cli/commands/
|
67
|
-
./spec/aircana/
|
68
|
-
./spec/aircana/
|
69
|
-
./spec/aircana/
|
70
|
-
./spec/aircana/configuration_spec.rb[1:
|
71
|
-
./spec/aircana/configuration_spec.rb[1:
|
72
|
-
./spec/aircana/configuration_spec.rb[1:
|
73
|
-
./spec/aircana/
|
74
|
-
./spec/aircana/
|
75
|
-
./spec/aircana/
|
23
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:1:3:1] | passed | 0.0004 seconds |
|
24
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:1:3:2] | passed | 0.00036 seconds |
|
25
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:2:1:1] | passed | 0.00051 seconds |
|
26
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:2:1:2] | passed | 0.00049 seconds |
|
27
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:2:1:3:1] | passed | 0.00044 seconds |
|
28
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:2:2:1] | passed | 0.00038 seconds |
|
29
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:2:3:1] | passed | 0.00041 seconds |
|
30
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:2:4:1] | passed | 0.0004 seconds |
|
31
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:3:1] | passed | 0.0005 seconds |
|
32
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:3:2] | passed | 0.00047 seconds |
|
33
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:3:3] | passed | 0.00045 seconds |
|
34
|
+
./spec/aircana/cli/commands/agents_spec.rb[1:4:1] | passed | 0.00022 seconds |
|
35
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:1:1:1] | passed | 0.00128 seconds |
|
36
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:1:2:1:1] | passed | 0.00097 seconds |
|
37
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:1:2:2:1] | passed | 0.00157 seconds |
|
38
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:2:1:1] | passed | 0.00096 seconds |
|
39
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:2:2:1] | passed | 0.00328 seconds |
|
40
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:3:1:1] | passed | 0.0007 seconds |
|
41
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:3:2:1] | passed | 0.00154 seconds |
|
42
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:4:1] | passed | 0.00148 seconds |
|
43
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:4:2:1] | passed | 0.00171 seconds |
|
44
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:5:1:1] | passed | 0.0008 seconds |
|
45
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:5:2:1] | passed | 0.00096 seconds |
|
46
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:5:3:1] | passed | 0.00109 seconds |
|
47
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:5:4:1] | passed | 0.0009 seconds |
|
48
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:6:1:1] | passed | 0.00067 seconds |
|
49
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:6:2:1] | passed | 0.00167 seconds |
|
50
|
+
./spec/aircana/cli/commands/hooks_spec.rb[1:7:1] | passed | 0.00073 seconds |
|
51
|
+
./spec/aircana/cli/commands/install_spec.rb[1:1:1] | passed | 0.00192 seconds |
|
52
|
+
./spec/aircana/cli/commands/install_spec.rb[1:1:2] | passed | 0.00169 seconds |
|
53
|
+
./spec/aircana/cli/commands/install_spec.rb[1:2:1:1] | passed | 0.00626 seconds |
|
54
|
+
./spec/aircana/cli/commands/install_spec.rb[1:2:2:1] | passed | 0.00495 seconds |
|
55
|
+
./spec/aircana/cli/commands/install_spec.rb[1:2:3:1] | passed | 0.00536 seconds |
|
56
|
+
./spec/aircana/cli/commands/install_spec.rb[1:2:4:1] | passed | 0.00769 seconds |
|
57
|
+
./spec/aircana/cli/commands/install_spec.rb[1:3:1] | passed | 0.00652 seconds |
|
58
|
+
./spec/aircana/cli/commands/install_spec.rb[1:3:2:1] | passed | 0.00493 seconds |
|
59
|
+
./spec/aircana/cli/commands/install_spec.rb[1:3:3:1] | passed | 0.00548 seconds |
|
60
|
+
./spec/aircana/cli/commands/install_spec.rb[1:3:4:1] | passed | 0.00448 seconds |
|
61
|
+
./spec/aircana/cli/commands/install_spec.rb[1:4:1] | passed | 0.0013 seconds |
|
62
|
+
./spec/aircana/cli/commands/install_spec.rb[1:4:2] | passed | 0.00103 seconds |
|
63
|
+
./spec/aircana/cli/commands/install_spec.rb[1:4:3] | passed | 0.00096 seconds |
|
64
|
+
./spec/aircana/cli/commands/install_spec.rb[1:4:4] | passed | 0.00104 seconds |
|
65
|
+
./spec/aircana/cli/commands/install_spec.rb[1:4:5] | passed | 0.00103 seconds |
|
66
|
+
./spec/aircana/cli/commands/install_spec.rb[1:5:1:1] | passed | 0.00131 seconds |
|
67
|
+
./spec/aircana/cli/commands/install_spec.rb[1:5:2:1] | passed | 0.00124 seconds |
|
68
|
+
./spec/aircana/cli/commands/install_spec.rb[1:5:3:1] | passed | 0.00164 seconds |
|
69
|
+
./spec/aircana/cli/commands/install_spec.rb[1:6:1] | passed | 0.00145 seconds |
|
70
|
+
./spec/aircana/configuration_spec.rb[1:1:1] | passed | 0.00023 seconds |
|
71
|
+
./spec/aircana/configuration_spec.rb[1:2:1] | passed | 0.00013 seconds |
|
72
|
+
./spec/aircana/configuration_spec.rb[1:3:1] | passed | 0.00017 seconds |
|
73
|
+
./spec/aircana/configuration_spec.rb[1:4:1] | passed | 0.00011 seconds |
|
74
|
+
./spec/aircana/configuration_spec.rb[1:5:1] | passed | 0.00007 seconds |
|
75
|
+
./spec/aircana/configuration_spec.rb[1:5:2] | passed | 0.00007 seconds |
|
76
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:1] | passed | 0.00198 seconds |
|
77
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:2] | passed | 0.00045 seconds |
|
78
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:3] | passed | 0.00122 seconds |
|
76
79
|
./spec/aircana/contexts/confluence_spec.rb[1:1:2:1] | passed | 0.00019 seconds |
|
77
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.
|
78
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.
|
79
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:3:1] | passed | 0.
|
80
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.
|
81
|
-
./spec/aircana/contexts/local_spec.rb[1:1:1] | passed | 0.
|
82
|
-
./spec/aircana/contexts/local_spec.rb[1:1:2] | passed | 0.
|
83
|
-
./spec/aircana/contexts/local_spec.rb[1:1:3] | passed | 0.
|
84
|
-
./spec/aircana/contexts/local_spec.rb[1:1:4] | passed | 0.
|
85
|
-
./spec/aircana/contexts/local_spec.rb[1:1:5] | passed | 0.
|
86
|
-
./spec/aircana/contexts/local_spec.rb[1:1:6] | passed | 0.
|
87
|
-
./spec/aircana/contexts/local_spec.rb[1:1:7] | passed | 0.
|
88
|
-
./spec/aircana/contexts/local_spec.rb[1:1:8] | passed | 0.
|
80
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.00238 seconds |
|
81
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.00019 seconds |
|
82
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:3:1] | passed | 0.00041 seconds |
|
83
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.00036 seconds |
|
84
|
+
./spec/aircana/contexts/local_spec.rb[1:1:1] | passed | 0.00129 seconds |
|
85
|
+
./spec/aircana/contexts/local_spec.rb[1:1:2] | passed | 0.00123 seconds |
|
86
|
+
./spec/aircana/contexts/local_spec.rb[1:1:3] | passed | 0.00155 seconds |
|
87
|
+
./spec/aircana/contexts/local_spec.rb[1:1:4] | passed | 0.00126 seconds |
|
88
|
+
./spec/aircana/contexts/local_spec.rb[1:1:5] | passed | 0.00104 seconds |
|
89
|
+
./spec/aircana/contexts/local_spec.rb[1:1:6] | passed | 0.00146 seconds |
|
90
|
+
./spec/aircana/contexts/local_spec.rb[1:1:7] | passed | 0.00163 seconds |
|
91
|
+
./spec/aircana/contexts/local_spec.rb[1:1:8] | passed | 0.00108 seconds |
|
89
92
|
./spec/aircana/contexts/manifest_spec.rb[1:1:1] | passed | 0.00096 seconds |
|
90
|
-
./spec/aircana/contexts/manifest_spec.rb[1:1:2] | passed | 0.
|
91
|
-
./spec/aircana/contexts/manifest_spec.rb[1:2:1] | passed | 1.
|
92
|
-
./spec/aircana/contexts/manifest_spec.rb[1:2:2] | passed | 0.
|
93
|
-
./spec/aircana/contexts/manifest_spec.rb[1:3:1] | passed | 0.
|
94
|
-
./spec/aircana/contexts/manifest_spec.rb[1:3:2] | passed | 0.
|
95
|
-
./spec/aircana/contexts/manifest_spec.rb[1:3:3] | passed | 0.
|
96
|
-
./spec/aircana/contexts/manifest_spec.rb[1:3:4] | passed | 0.
|
97
|
-
./spec/aircana/contexts/manifest_spec.rb[1:4:1] | passed | 0.
|
98
|
-
./spec/aircana/contexts/manifest_spec.rb[1:4:2] | passed | 0.
|
99
|
-
./spec/aircana/contexts/manifest_spec.rb[1:5:1] | passed | 0.
|
100
|
-
./spec/aircana/contexts/manifest_spec.rb[1:5:2] | passed | 0.
|
101
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:1] | passed | 0.
|
102
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:2] | passed | 0.
|
103
|
-
./spec/aircana/contexts/manifest_spec.rb[1:6:3] | passed | 0.
|
104
|
-
./spec/aircana/
|
105
|
-
./spec/aircana/
|
106
|
-
./spec/aircana/
|
107
|
-
./spec/aircana/
|
108
|
-
./spec/aircana/
|
109
|
-
./spec/aircana/
|
110
|
-
./spec/aircana/
|
111
|
-
./spec/aircana/
|
112
|
-
./spec/aircana/
|
113
|
-
./spec/aircana/
|
114
|
-
./spec/aircana/
|
115
|
-
./spec/aircana/
|
116
|
-
./spec/aircana/
|
117
|
-
./spec/aircana/
|
118
|
-
./spec/aircana/
|
119
|
-
./spec/aircana/
|
120
|
-
./spec/aircana/
|
121
|
-
./spec/aircana/
|
122
|
-
./spec/aircana/
|
123
|
-
./spec/aircana/
|
124
|
-
./spec/aircana/
|
125
|
-
./spec/aircana/
|
126
|
-
./spec/aircana/
|
127
|
-
./spec/aircana/
|
128
|
-
./spec/aircana/
|
129
|
-
./spec/aircana/
|
130
|
-
./spec/aircana/
|
131
|
-
./spec/aircana/
|
132
|
-
./spec/aircana/
|
133
|
-
./spec/aircana/
|
134
|
-
./spec/aircana/
|
135
|
-
./spec/aircana/
|
136
|
-
./spec/aircana/
|
137
|
-
./spec/aircana/
|
138
|
-
./spec/aircana/
|
139
|
-
./spec/aircana/
|
140
|
-
./spec/aircana/
|
141
|
-
./spec/aircana/
|
142
|
-
./spec/aircana/
|
143
|
-
./spec/aircana/
|
144
|
-
./spec/aircana/
|
145
|
-
./spec/aircana/
|
146
|
-
./spec/aircana/
|
147
|
-
./spec/aircana/
|
148
|
-
./spec/aircana/
|
149
|
-
./spec/aircana/
|
150
|
-
./spec/aircana/
|
151
|
-
./spec/aircana/
|
152
|
-
./spec/aircana/
|
153
|
-
./spec/aircana/
|
154
|
-
./spec/aircana/
|
155
|
-
./spec/aircana/
|
156
|
-
./spec/aircana/
|
157
|
-
./spec/aircana/
|
158
|
-
./spec/aircana/
|
159
|
-
./spec/aircana/
|
160
|
-
./spec/aircana/
|
161
|
-
./spec/aircana/
|
162
|
-
./spec/aircana/
|
163
|
-
./spec/aircana/
|
93
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:2] | passed | 0.00141 seconds |
|
94
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:1] | passed | 1.01 seconds |
|
95
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:2] | passed | 0.00394 seconds |
|
96
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:1] | passed | 0.00221 seconds |
|
97
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:2] | passed | 0.00054 seconds |
|
98
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:3] | passed | 0.00163 seconds |
|
99
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:4] | passed | 0.00155 seconds |
|
100
|
+
./spec/aircana/contexts/manifest_spec.rb[1:4:1] | passed | 0.00157 seconds |
|
101
|
+
./spec/aircana/contexts/manifest_spec.rb[1:4:2] | passed | 0.00029 seconds |
|
102
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:1] | passed | 0.00121 seconds |
|
103
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:2] | passed | 0.00028 seconds |
|
104
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:1] | passed | 0.0003 seconds |
|
105
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:2] | passed | 0.00028 seconds |
|
106
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:3] | passed | 0.00027 seconds |
|
107
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:4] | passed | 0.00028 seconds |
|
108
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:5] | passed | 0.00032 seconds |
|
109
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:6] | passed | 0.00066 seconds |
|
110
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:7] | passed | 0.00039 seconds |
|
111
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:8] | passed | 0.00036 seconds |
|
112
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:9] | passed | 0.00157 seconds |
|
113
|
+
./spec/aircana/contexts/web_spec.rb[1:1:1] | passed | 0.00036 seconds |
|
114
|
+
./spec/aircana/contexts/web_spec.rb[1:2:1] | passed | 0.00029 seconds |
|
115
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:1] | passed | 0.00022 seconds |
|
116
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:2] | passed | 0.0002 seconds |
|
117
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:3] | passed | 0.0002 seconds |
|
118
|
+
./spec/aircana/contexts/web_spec.rb[1:3:2:1] | passed | 0.00028 seconds |
|
119
|
+
./spec/aircana/contexts/web_spec.rb[1:3:2:2] | passed | 0.00043 seconds |
|
120
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:1] | passed | 0.00034 seconds |
|
121
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:2] | passed | 0.00049 seconds |
|
122
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:3] | passed | 0.00056 seconds |
|
123
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:4] | passed | 0.00031 seconds |
|
124
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:5] | passed | 0.00038 seconds |
|
125
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:1] | passed | 0.00022 seconds |
|
126
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:2] | passed | 0.0002 seconds |
|
127
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:3] | passed | 0.0002 seconds |
|
128
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:1] | passed | 0.0014 seconds |
|
129
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:2] | passed | 0.00029 seconds |
|
130
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:3] | passed | 0.00055 seconds |
|
131
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:1] | passed | 0.00051 seconds |
|
132
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:2] | passed | 0.00051 seconds |
|
133
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:3] | passed | 0.00042 seconds |
|
134
|
+
./spec/aircana/contexts/web_spec.rb[1:3:7:1] | passed | 0.00037 seconds |
|
135
|
+
./spec/aircana/contexts/web_spec.rb[1:3:7:2] | passed | 0.0002 seconds |
|
136
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:1] | passed | 0.00026 seconds |
|
137
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:2] | passed | 0.00023 seconds |
|
138
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:3] | passed | 0.00028 seconds |
|
139
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:2:1] | passed | 0.00045 seconds |
|
140
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:3:1] | passed | 0.00032 seconds |
|
141
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:1] | passed | 0.00016 seconds |
|
142
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:2] | passed | 0.00016 seconds |
|
143
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:3] | passed | 0.00015 seconds |
|
144
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:2:1] | passed | 0.00015 seconds |
|
145
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:2:2] | passed | 0.00011 seconds |
|
146
|
+
./spec/aircana/generators/agents_generator_spec.rb[1:1:1] | passed | 0.00005 seconds |
|
147
|
+
./spec/aircana/generators/agents_generator_spec.rb[1:2:1] | passed | 0.00022 seconds |
|
148
|
+
./spec/aircana/generators/agents_generator_spec.rb[1:3:1:1] | passed | 0.00007 seconds |
|
149
|
+
./spec/aircana/generators/agents_generator_spec.rb[1:3:1:2] | passed | 0.00006 seconds |
|
150
|
+
./spec/aircana/generators/agents_generator_spec.rb[1:4:1:1] | passed | 0.00006 seconds |
|
151
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:1:1] | passed | 0.00004 seconds |
|
152
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:2:1] | passed | 0.00004 seconds |
|
153
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:3:1] | passed | 0.00054 seconds |
|
154
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:3:2] | passed | 0.00028 seconds |
|
155
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:4:1] | passed | 0.00013 seconds |
|
156
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:5:1:1] | passed | 0.00014 seconds |
|
157
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:5:2:1] | passed | 0.00005 seconds |
|
158
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:6:1] | passed | 0.0007 seconds |
|
159
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:7:1] | passed | 0.0002 seconds |
|
160
|
+
./spec/aircana/human_logger_spec.rb[1:1:1] | passed | 0.00008 seconds |
|
161
|
+
./spec/aircana/human_logger_spec.rb[1:2:1] | passed | 0.00006 seconds |
|
162
|
+
./spec/aircana/human_logger_spec.rb[1:3:1] | passed | 0.00005 seconds |
|
163
|
+
./spec/aircana/human_logger_spec.rb[1:4:1] | passed | 0.00005 seconds |
|
164
|
+
./spec/aircana/human_logger_spec.rb[1:5:1] | passed | 0.00004 seconds |
|
165
|
+
./spec/aircana/human_logger_spec.rb[1:5:2] | passed | 0.00005 seconds |
|
166
|
+
./spec/aircana/human_logger_spec.rb[1:5:3] | passed | 0.00004 seconds |
|
167
|
+
./spec/aircana/human_logger_spec.rb[1:5:4] | passed | 0.00004 seconds |
|
168
|
+
./spec/aircana/human_logger_spec.rb[1:5:5] | passed | 0.00004 seconds |
|
169
|
+
./spec/aircana/human_logger_spec.rb[1:5:6] | passed | 0.00004 seconds |
|
170
|
+
./spec/aircana/human_logger_spec.rb[1:5:7] | passed | 0.00005 seconds |
|
171
|
+
./spec/aircana/human_logger_spec.rb[1:6:1] | passed | 0.00004 seconds |
|
172
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:1] | passed | 0.00076 seconds |
|
173
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:2] | passed | 0.00062 seconds |
|
174
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:3] | passed | 0.00053 seconds |
|
175
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:4] | passed | 0.0005 seconds |
|
176
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:2:1] | passed | 0.00052 seconds |
|
177
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:2:2] | passed | 0.00047 seconds |
|
178
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:3:1] | passed | 0.0005 seconds |
|
179
|
+
./spec/aircana/llm/claude_client_spec.rb[1:2:1] | passed | 0.00041 seconds |
|
180
|
+
./spec/aircana/llm/claude_client_spec.rb[1:2:2] | passed | 0.0004 seconds |
|
181
|
+
./spec/aircana/llm/claude_client_spec.rb[1:3:1:1] | passed | 0.00032 seconds |
|
182
|
+
./spec/aircana/llm/claude_client_spec.rb[1:3:1:2] | passed | 0.00032 seconds |
|
183
|
+
./spec/aircana/system_checker_spec.rb[1:1:1:1] | passed | 0.00049 seconds |
|
184
|
+
./spec/aircana/system_checker_spec.rb[1:1:2:1] | passed | 0.0006 seconds |
|
185
|
+
./spec/aircana/system_checker_spec.rb[1:1:3:1] | passed | 0.00089 seconds |
|
186
|
+
./spec/aircana/system_checker_spec.rb[1:2:1] | passed | 0.00029 seconds |
|
187
|
+
./spec/aircana/system_checker_spec.rb[1:2:2] | passed | 0.00043 seconds |
|
188
|
+
./spec/aircana/system_checker_spec.rb[1:3:1] | passed | 0.00028 seconds |
|
189
|
+
./spec/aircana/system_checker_spec.rb[1:3:2] | passed | 0.00029 seconds |
|
190
|
+
./spec/aircana/system_checker_spec.rb[1:3:3] | passed | 0.00031 seconds |
|
191
|
+
./spec/aircana/system_checker_spec.rb[1:3:4] | passed | 0.00047 seconds |
|
164
192
|
./spec/aircana/system_checker_spec.rb[1:3:5] | passed | 0.00028 seconds |
|
165
|
-
./spec/aircana_spec.rb[1:1] | passed | 0.
|
166
|
-
./spec/aircana_spec.rb[1:2] | passed | 0.
|
193
|
+
./spec/aircana_spec.rb[1:1] | passed | 0.00005 seconds |
|
194
|
+
./spec/aircana_spec.rb[1:2] | passed | 0.00091 seconds |
|
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
9
9
|
|
10
10
|
## [0.1.0] - 2025-09-03
|
11
11
|
|
12
|
+
### Added
|
13
|
+
- SQS notification integration (re-run `aircana install` to enable and see readme)
|
14
|
+
- Better, more concise agent markdown files produced by `aircana agents create`
|
15
|
+
- Added uniform naming to default slash commands shipped in aircana. All commands are now prefixed with `air`.
|
16
|
+
|
17
|
+
## [0.1.0] - 2025-09-03
|
18
|
+
|
12
19
|
### Added
|
13
20
|
- Initial release
|
14
21
|
- Context management for AI agents
|
data/CLAUDE.md
CHANGED
@@ -33,10 +33,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
33
33
|
- `aircana dump-context <agent_name>` - Dump context for specified agent
|
34
34
|
- `aircana generate` - Generate all configured files
|
35
35
|
- `aircana install` - Install generated files to Claude Code config
|
36
|
-
- `aircana plan` - Launch Claude Code with planner agent (experimental)
|
37
|
-
- `aircana work` - Launch Claude Code with worker agent (experimental)
|
38
36
|
- `aircana agents create` - Create a new agent interactively
|
39
|
-
- `aircana agents refresh <agent>` - Refresh agent knowledge from Confluence
|
37
|
+
- `aircana agents refresh <agent>` - Refresh agent knowledge from Confluence and web sources
|
38
|
+
- `aircana agents add-url <agent> <url>` - Add a web URL to an agent's knowledge base
|
40
39
|
- `aircana hooks list` - List all available hooks
|
41
40
|
- `aircana hooks enable <hook>` - Enable a specific hook
|
42
41
|
- `aircana hooks disable <hook>` - Disable a specific hook
|
@@ -57,6 +56,7 @@ Aircana is a Ruby gem that provides context management and workflow utilities fo
|
|
57
56
|
- `relevant_files.rb`: Manages current working file set
|
58
57
|
- `confluence.rb`: Handles Confluence page fetching and caching
|
59
58
|
- `confluence_content.rb`: Processes Confluence content
|
59
|
+
- `web.rb`: Handles web URL fetching and HTML to Markdown conversion
|
60
60
|
- `local.rb`: Local file context management
|
61
61
|
- **Generators** (`lib/aircana/generators/`): Template generation system
|
62
62
|
- `base_generator.rb`: Base class for all generators
|
@@ -95,9 +95,21 @@ Aircana is a Ruby gem that provides context management and workflow utilities fo
|
|
95
95
|
- Rubocop configured with custom rules in `.rubocop.yml`
|
96
96
|
- String style enforced as double quotes
|
97
97
|
|
98
|
-
###
|
99
|
-
|
98
|
+
### Knowledge Sources
|
99
|
+
Agents can sync knowledge from multiple sources:
|
100
|
+
|
101
|
+
**Confluence Integration:**
|
100
102
|
- Set environment variables: `CONFLUENCE_BASE_URL`, `CONFLUENCE_USERNAME`, `CONFLUENCE_API_TOKEN`
|
101
103
|
- Pages are fetched based on agent name as label
|
102
104
|
- Content cached locally for offline access
|
103
|
-
|
105
|
+
|
106
|
+
**Web URL Integration:**
|
107
|
+
- Add URLs directly to agent knowledge bases
|
108
|
+
- HTML content is automatically converted to Markdown
|
109
|
+
- Interactive URL collection during agent creation
|
110
|
+
- Add individual URLs: `aircana agents add-url <agent> <url>`
|
111
|
+
|
112
|
+
**Unified Management:**
|
113
|
+
- Both sources tracked in manifest.json for each agent
|
114
|
+
- Refresh all sources with `aircana agents refresh <agent>`
|
115
|
+
- Content stored as Markdown files in `.aircana/agents/<agent>/knowledge/`
|
data/README.md
CHANGED
@@ -99,7 +99,7 @@ Create Claude Code agents with:
|
|
99
99
|
|
100
100
|
Then in Claude Code, include them with whenever you want to reload the files into the current context:
|
101
101
|
```
|
102
|
-
/
|
102
|
+
/air-add-relevant-files
|
103
103
|
```
|
104
104
|
|
105
105
|
4. **Create an agent** (optional, but powerful with Confluence):
|
@@ -113,11 +113,13 @@ Create Claude Code agents with:
|
|
113
113
|
aircana agents list # See all configured agents
|
114
114
|
```
|
115
115
|
|
116
|
-
##
|
116
|
+
## Configuration (Optional)
|
117
|
+
|
118
|
+
### Confluence Setup (Optional)
|
117
119
|
|
118
120
|
To use agent knowledge sync features, you'll need to configure Confluence integration:
|
119
121
|
|
120
|
-
|
122
|
+
#### 1. Generate Confluence API Token
|
121
123
|
|
122
124
|
1. Go to your Confluence instance
|
123
125
|
2. Click your profile picture → **Account Settings**
|
@@ -126,7 +128,7 @@ To use agent knowledge sync features, you'll need to configure Confluence integr
|
|
126
128
|
5. Give it a descriptive name (e.g., "Aircana Integration")
|
127
129
|
6. Copy the generated token
|
128
130
|
|
129
|
-
|
131
|
+
#### 2. Set Environment Variables
|
130
132
|
|
131
133
|
Add these to your shell profile (`.bashrc`, `.zshrc`, etc.):
|
132
134
|
|
@@ -136,15 +138,54 @@ export CONFLUENCE_USERNAME="your.email@company.com"
|
|
136
138
|
export CONFLUENCE_API_TOKEN="your-generated-token"
|
137
139
|
```
|
138
140
|
|
141
|
+
### SQS Notifications Setup (Optional)
|
142
|
+
|
143
|
+
To enable SQS notifications for Claude Code events (useful for Slack/Teams integration):
|
144
|
+
|
145
|
+
#### 1. Install AWS CLI
|
146
|
+
|
147
|
+
Make sure you have the AWS CLI installed:
|
148
|
+
|
149
|
+
```bash
|
150
|
+
# macOS
|
151
|
+
brew install awscli
|
152
|
+
|
153
|
+
# Ubuntu/Debian
|
154
|
+
apt install awscli
|
155
|
+
|
156
|
+
# Configure AWS credentials
|
157
|
+
aws configure
|
158
|
+
```
|
159
|
+
|
160
|
+
#### 2. Set Environment Variables
|
161
|
+
|
162
|
+
Add these to your shell profile (`.bashrc`, `.zshrc`, etc.):
|
163
|
+
|
164
|
+
```bash
|
165
|
+
export AIRCANA_SQS_QUEUE_URL="https://sqs.us-east-1.amazonaws.com/your-account/your-queue"
|
166
|
+
export AIRCANA_SQS_MESSAGE_TEMPLATE='{"channel":"changelog","username":"Aircana","text":"{{message}}"}'
|
167
|
+
export AWS_REGION="us-east-1"
|
168
|
+
```
|
169
|
+
|
170
|
+
The message template supports `{{message}}` placeholder which gets replaced with the Claude Code notification text.
|
171
|
+
|
172
|
+
#### 3. Install and Enable Hook
|
173
|
+
|
174
|
+
```bash
|
175
|
+
aircana generate
|
176
|
+
aircana install
|
177
|
+
aircana hooks enable notification_sqs
|
178
|
+
```
|
179
|
+
|
139
180
|
Reload your shell or run `source ~/.zshrc` (or your shell config file).
|
140
181
|
|
141
|
-
###
|
182
|
+
### Verify Configuration
|
142
183
|
|
143
184
|
```bash
|
144
185
|
aircana doctor
|
145
186
|
```
|
146
187
|
|
147
|
-
This will check if Confluence
|
188
|
+
This will check if Confluence and other integrations are properly configured.
|
148
189
|
|
149
190
|
## Agent Workflow Tutorial
|
150
191
|
|
data/lib/aircana/cli/app.rb
CHANGED
@@ -9,8 +9,6 @@ require_relative "commands/doctor"
|
|
9
9
|
require_relative "commands/dump_context"
|
10
10
|
require_relative "commands/generate"
|
11
11
|
require_relative "commands/install"
|
12
|
-
require_relative "commands/plan"
|
13
|
-
require_relative "commands/work"
|
14
12
|
|
15
13
|
require_relative "subcommand"
|
16
14
|
require_relative "help_formatter"
|
@@ -88,6 +86,11 @@ module Aircana
|
|
88
86
|
def list
|
89
87
|
Agents.list
|
90
88
|
end
|
89
|
+
|
90
|
+
desc "add-url AGENT URL", "Add a web URL to an agent's knowledge base"
|
91
|
+
def add_url(agent, url)
|
92
|
+
Agents.add_url(agent, url)
|
93
|
+
end
|
91
94
|
end
|
92
95
|
|
93
96
|
class HooksSubcommand < Subcommand
|