Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions packages/cli/src/__tests__/lib/EnvironmentSelector.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,19 @@ describe('EnvironmentSelector', () => {
expect(getMcpConfigPath('grok')).toBeUndefined();
});

it('includes Antigravity CLI with the agy project and global skill paths', () => {
expect(isValidEnvironmentCode('antigravity-cli')).toBe(true);
expect(getEnvironment('antigravity-cli')).toMatchObject({
code: 'antigravity-cli',
name: 'Antigravity CLI',
skillPath: '.agents/skills',
globalSkillPath: '.gemini/config/skills',
});
expect(getSkillPath('antigravity-cli')).toBe('.agents/skills');
expect(getGlobalSkillPath('antigravity-cli')).toBe('.gemini/config/skills');
expect(getMcpConfigPath('antigravity-cli')).toBeUndefined();
});

it('includes OpenCode with project skills, global skills, and MCP', () => {
expect(isValidEnvironmentCode('opencode')).toBe(true);
expect(getEnvironment('opencode')).toMatchObject({
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/__tests__/lib/SkillManager.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ describe("SkillManager", () => {

await expect(
skillManager.addSkill(mockRegistryId, mockSkillName),
).rejects.toThrow("Supported: cursor, claude, github, gemini, grok, codex, kilocode, amp, opencode, roo, antigravity, junie, cline, devin, pi");
).rejects.toThrow("Supported: cursor, claude, github, gemini, grok, codex, kilocode, amp, opencode, roo, antigravity, antigravity-cli, junie, cline, devin, pi");
});

it("should call validation functions with correct parameters", async () => {
Expand Down
9 changes: 5 additions & 4 deletions packages/cli/src/__tests__/util/env.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { EnvironmentCode } from '../../types.js';
describe('Environment Utilities', () => {
describe('ENVIRONMENT_DEFINITIONS', () => {
it('should contain all all environment definitions', () => {
expect(Object.keys(ENVIRONMENT_DEFINITIONS)).toHaveLength(15);
expect(Object.keys(ENVIRONMENT_DEFINITIONS)).toHaveLength(16);
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('cursor');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('claude');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('github');
Expand All @@ -31,6 +31,7 @@ describe('Environment Utilities', () => {
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('opencode');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('roo');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('antigravity');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('antigravity-cli');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('junie');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('cline');
expect(ENVIRONMENT_DEFINITIONS).toHaveProperty('devin');
Expand Down Expand Up @@ -64,7 +65,7 @@ describe('Environment Utilities', () => {

describe('ALL_ENVIRONMENT_CODES', () => {
it('should contain all all environment codes', () => {
expect(ALL_ENVIRONMENT_CODES).toHaveLength(15);
expect(ALL_ENVIRONMENT_CODES).toHaveLength(16);
expect(ALL_ENVIRONMENT_CODES).toEqual(
expect.arrayContaining([
'cursor', 'claude', 'github', 'gemini', 'grok', 'codex',
Expand All @@ -83,7 +84,7 @@ describe('Environment Utilities', () => {
describe('getAllEnvironments', () => {
it('should return all environment definitions', () => {
const environments = getAllEnvironments();
expect(environments).toHaveLength(15);
expect(environments).toHaveLength(16);
expect(environments).toEqual(Object.values(ENVIRONMENT_DEFINITIONS));
});

Expand Down Expand Up @@ -384,7 +385,7 @@ describe('Environment Utilities', () => {
expect(envCodes).toContain('cline');
expect(envCodes).toContain('devin');
expect(envCodes).toContain('pi');
expect(skillEnvs).toHaveLength(15);
expect(skillEnvs).toHaveLength(16);
});
});

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export interface EnvironmentDefinition {
mcpConfigPath?: string;
}

export type EnvironmentCode = 'cursor' | 'claude' | 'github' | 'gemini' | 'grok' | 'codex' | 'kilocode' | 'amp' | 'opencode' | 'roo' | 'antigravity' | 'junie' | 'cline' | 'devin' | 'pi';
export type EnvironmentCode = 'cursor' | 'claude' | 'github' | 'gemini' | 'grok' | 'codex' | 'kilocode' | 'amp' | 'opencode' | 'roo' | 'antigravity' | 'antigravity-cli' | 'junie' | 'cline' | 'devin' | 'pi';

export const DEFAULT_DOCS_DIR = 'docs/ai';

Expand Down
8 changes: 8 additions & 0 deletions packages/cli/src/util/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,14 @@ export const ENVIRONMENT_DEFINITIONS: Record<EnvironmentCode, EnvironmentDefinit
skillPath: '.agent/skills',
globalSkillPath: '.gemini/antigravity/skills',
},
'antigravity-cli': {
code: 'antigravity-cli',
name: 'Antigravity CLI',
// The `agy` CLI reads project skills from <workspace>/.agents/skills and
// user-global skills from ~/.gemini/config/skills.
skillPath: '.agents/skills',
globalSkillPath: '.gemini/config/skills',
},
junie: {
code: 'junie',
name: 'Junie',
Expand Down
1 change: 1 addition & 0 deletions web/content/docs/11-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ List of AI coding tools to generate configuration files for. Valid values:
| `opencode` | opencode |
| `roo` | Roo |
| `antigravity` | Antigravity |
| `antigravity-cli` | Antigravity CLI |
| `junie` | Junie |
| `cline` | Cline |
| `devin` | Devin |
Expand Down
5 changes: 5 additions & 0 deletions web/content/docs/2-supported-agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ These environments have stable setup integrations.
- `.agent/skills/` — Project-level skills
- `~/.gemini/antigravity/skills/` — Global skills

### [Antigravity CLI](https://antigravity.google/)
**What AI DevKit provides:**
- `.agents/skills/` — Project-level skills
- `~/.gemini/config/skills/` — Global skills

### [Junie](https://www.jetbrains.com/junie/)
**What AI DevKit provides:**
- `AGENTS.md` — Junie project instructions and context
Expand Down
1 change: 1 addition & 0 deletions web/content/docs/7-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ Skills are currently supported by the following AI coding agents:
| **Codex** | `.agents/skills` | `~/.codex/skills` |
| **opencode** | `.opencode/skills` | `~/.config/opencode/skills` |
| **Antigravity** | `.agent/skills` | `~/.gemini/antigravity/skills` |
| **Antigravity CLI** | `.agents/skills` | `~/.gemini/config/skills` |
| **Junie** | `.junie/skills` | `~/.junie/skills` |
| **Cline** | `.cline/skills` | `~/.cline/skills` |
| **Devin** | `.devin/skills` | `~/.config/devin/skills` |
Expand Down
Loading