Skip to content

Commit 53c803e

Browse files
committed
feat: add 13 new agents and auto-init without prompting
1 parent 52050fa commit 53c803e

File tree

7 files changed

+113
-33
lines changed

7 files changed

+113
-33
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# ASK: Agent Skills Kit
1+
# ASK: The Ultimate Agent Skills Kit
22

33
<p align="center">
44
<img src="assets/logo.png" alt="ASK Logo" width="150"/>
@@ -9,7 +9,7 @@
99
</p>
1010

1111
<p align="center">
12-
Just ask, and your agent shall receive.
12+
Just ask, the agents are ready!
1313
</p>
1414

1515
<p align="center">
@@ -35,7 +35,7 @@
3535

3636
---
3737

38-
**ASK** (Agent Skills Kit) is the package manager for AI Agent capabilities. Just like `brew` manages macOS packages or `npm` manages Node.js dependencies, `ask` helps you discover, install, and lock skills for your AI agents (Claude, Cursor, Codex, etc.).
38+
**ASK** (Agent Skills Kit) is the package manager for AI Agent capabilities. Just like `brew` manages macOS packages, `pip` manages Python packages, or `npm` manages Node.js dependencies, `ask` helps you discover, install, and lock skills for your AI agents (Claude, Cursor, Codex, etc.).
3939

4040
```mermaid
4141
graph LR

README_zh.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
</p>
66

77
<p align="center">
8-
<strong>打造 AI 智能体的各种能力 - 缺少的那个包管理器</strong>
8+
<strong>AI 智能体必备的技能管理器</strong>
99
</p>
1010

1111
<p align="center">
12-
只需请求,您的智能体即可获得所需技能。
12+
只需 ask,智能体即可掌握新技能!
1313
</p>
1414

1515
<p align="center">
@@ -34,7 +34,7 @@
3434

3535
---
3636

37-
**ASK** (Agent Skills Kit) 是专为 AI Agent 设计的技能包管理器。就像 `brew` 管理 macOS 软件、`npm` 管理 Node.js 依赖一样,`ask` 帮助您发现、安装和管理 AI 智能体的各种能力(支持 Claude, Cursor, Codex 等)。
37+
**ASK** (Agent Skills Kit) 是专为 AI Agent 设计的技能包管理器。就像 `brew` 管理 macOS 软件、`pip` 管理 Python 包、`npm` 管理 Node.js 依赖一样,`ask` 帮助您发现、安装和管理 AI 智能体的各种能力(支持 Claude, Cursor, Codex 等)。
3838

3939
```mermaid
4040
graph LR

cmd/cmd_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ func TestRootHelpShowsSubcommandDetails(t *testing.T) {
5959
"search",
6060
"install",
6161
"uninstall",
62-
"Claude Code",
62+
"Claude",
6363
"Cursor",
64-
"OpenAI Codex",
64+
"Antigravity",
6565
}
6666

6767
for _, detail := range subcommandDetails {

cmd/root.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Repository Commands (ask repo <command>):
3030
add Add a custom skill repository
3131
remove Remove a repository
3232
33-
Supported Agents: Claude Code, Cursor, OpenAI Codex, OpenCode
33+
Supported Agents: Claude, Cursor, Codex, OpenCode, Antigravity, Gemini CLI, GitHub Copilot, Windsurf, Amp, Goose, Kilo, Kiro, Roo, Trae, Droid, ClawdBot, Neovate
3434
`
3535

3636
// rootCmd represents the base command when called without any subcommands
@@ -45,7 +45,7 @@ the Agent ecosystem.`,
4545
// Uncomment the following line if your bare application
4646
// has an action associated with it:
4747
// Run: func(cmd *cobra.Command, args []string) { },
48-
Version: "0.9.0",
48+
Version: "0.9.1",
4949
}
5050

5151
// Execute adds all child commands to the root command and sets flags appropriately.

cmd/utils.go

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,23 @@
11
package cmd
22

33
import (
4-
"bufio"
54
"fmt"
65
"os"
7-
"strings"
86

97
"github.com/yeasy/ask/internal/config"
108
)
119

12-
// ensureInitialized checks if ask.yaml exists. If not, prompts user to init.
13-
// Returns true if initialized (or user chose to init), false if user declined.
10+
// ensureInitialized checks if ask.yaml exists. If not, auto-initializes.
11+
// Returns true after initialization.
1412
func ensureInitialized() bool {
1513
if _, err := os.Stat("ask.yaml"); err == nil {
1614
return true // Already initialized
1715
}
1816

19-
fmt.Print("Project not initialized. Run 'ask init' now? [Y/n]: ")
20-
reader := bufio.NewReader(os.Stdin)
21-
input, _ := reader.ReadString('\n')
22-
input = strings.TrimSpace(strings.ToLower(input))
23-
24-
// Default to yes
25-
if input == "" || input == "y" || input == "yes" {
26-
runInit()
27-
return true
28-
}
29-
30-
fmt.Println("Aborted. Run 'ask init' to initialize the project.")
31-
return false
17+
// Auto-initialize without prompting
18+
fmt.Println("Project not initialized. Initializing...")
19+
runInit()
20+
return true
3221
}
3322

3423
// runInit executes the initialization logic

internal/config/agents.go

Lines changed: 96 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,23 @@ import (
99
type AgentType string
1010

1111
const (
12-
AgentClaude AgentType = "claude"
13-
AgentCursor AgentType = "cursor"
14-
AgentCodex AgentType = "codex"
15-
AgentOpenCode AgentType = "opencode"
12+
AgentClaude AgentType = "claude"
13+
AgentCursor AgentType = "cursor"
14+
AgentCodex AgentType = "codex"
15+
AgentOpenCode AgentType = "opencode"
16+
AgentAntigravity AgentType = "antigravity"
17+
AgentGemini AgentType = "gemini"
18+
AgentCopilot AgentType = "copilot"
19+
AgentWindsurf AgentType = "windsurf"
20+
AgentAmp AgentType = "amp"
21+
AgentGoose AgentType = "goose"
22+
AgentKilo AgentType = "kilo"
23+
AgentKiro AgentType = "kiro"
24+
AgentRoo AgentType = "roo"
25+
AgentTrae AgentType = "trae"
26+
AgentDroid AgentType = "droid"
27+
AgentClawdBot AgentType = "clawdbot"
28+
AgentNeovate AgentType = "neovate"
1629
)
1730

1831
// AgentConfig holds directory paths for an agent
@@ -46,7 +59,85 @@ var SupportedAgents = map[AgentType]AgentConfig{
4659
AgentOpenCode: {
4760
Name: "OpenCode",
4861
ProjectDir: ".opencode/skills",
49-
GlobalDir: ".opencode/skills",
62+
GlobalDir: ".config/opencode/skills",
63+
Aliases: []string{},
64+
},
65+
AgentAntigravity: {
66+
Name: "Antigravity",
67+
ProjectDir: ".agent/skills",
68+
GlobalDir: ".gemini/antigravity/skills",
69+
Aliases: []string{"gemini-antigravity"},
70+
},
71+
AgentGemini: {
72+
Name: "Gemini CLI",
73+
ProjectDir: ".gemini/skills",
74+
GlobalDir: ".gemini/skills",
75+
Aliases: []string{"gemini-cli"},
76+
},
77+
AgentCopilot: {
78+
Name: "GitHub Copilot",
79+
ProjectDir: ".github/skills",
80+
GlobalDir: ".copilot/skills",
81+
Aliases: []string{"github-copilot"},
82+
},
83+
AgentWindsurf: {
84+
Name: "Windsurf",
85+
ProjectDir: ".windsurf/skills",
86+
GlobalDir: ".codeium/windsurf/skills",
87+
Aliases: []string{},
88+
},
89+
AgentAmp: {
90+
Name: "Amp",
91+
ProjectDir: ".agents/skills",
92+
GlobalDir: ".config/agents/skills",
93+
Aliases: []string{},
94+
},
95+
AgentGoose: {
96+
Name: "Goose",
97+
ProjectDir: ".goose/skills",
98+
GlobalDir: ".config/goose/skills",
99+
Aliases: []string{},
100+
},
101+
AgentKilo: {
102+
Name: "Kilo",
103+
ProjectDir: ".kilocode/skills",
104+
GlobalDir: ".kilocode/skills",
105+
Aliases: []string{"kilocode"},
106+
},
107+
AgentKiro: {
108+
Name: "Kiro",
109+
ProjectDir: ".kiro/skills",
110+
GlobalDir: ".kiro/skills",
111+
Aliases: []string{"kiro-cli"},
112+
},
113+
AgentRoo: {
114+
Name: "Roo",
115+
ProjectDir: ".roo/skills",
116+
GlobalDir: ".roo/skills",
117+
Aliases: []string{},
118+
},
119+
AgentTrae: {
120+
Name: "Trae",
121+
ProjectDir: ".trae/skills",
122+
GlobalDir: ".trae/skills",
123+
Aliases: []string{},
124+
},
125+
AgentDroid: {
126+
Name: "Droid",
127+
ProjectDir: ".factory/skills",
128+
GlobalDir: ".factory/skills",
129+
Aliases: []string{},
130+
},
131+
AgentClawdBot: {
132+
Name: "ClawdBot",
133+
ProjectDir: "skills",
134+
GlobalDir: ".clawdbot/skills",
135+
Aliases: []string{},
136+
},
137+
AgentNeovate: {
138+
Name: "Neovate",
139+
ProjectDir: ".neovate/skills",
140+
GlobalDir: ".neovate/skills",
50141
Aliases: []string{},
51142
},
52143
}

internal/config/config_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func TestDefaultReposConfiguration(t *testing.T) {
3535
"matlab": {repoType: "dir", url: "matlab/skills/skills"},
3636
"composio": {repoType: "dir", url: "ComposioHQ/awesome-claude-skills"},
3737
"vercel": {repoType: "dir", url: "vercel-labs/agent-skills"},
38-
"skillhub": {repoType: "skillhub", url: "skills"},
38+
"skillhub": {repoType: "skillhub", url: "skills"},
3939
}
4040

4141
for _, repo := range config.Repos {

0 commit comments

Comments
 (0)