Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4b7eac2
WIP: Simple setup for gemini cli
ssbushi Jul 29, 2025
fcf583e
refactor to modules
ssbushi Jul 30, 2025
c682539
added selection flow
ssbushi Jul 31, 2025
4d20267
added claude
ssbushi Aug 6, 2025
c15a75b
remove detect, refactor
ssbushi Aug 6, 2025
973a2ca
add generic
ssbushi Aug 7, 2025
b8fca96
merge with main
ssbushi Aug 8, 2025
1a087e4
update files
ssbushi Aug 8, 2025
232316f
update prompt
ssbushi Aug 8, 2025
b9a3825
feat(genkit-tools/cli): Support cursor config
ssbushi Aug 11, 2025
a3283ca
feat(genkit-tools/cli): Update gemini-cli to support .md installation.
ssbushi Aug 13, 2025
2c717aa
feat(genkit-tools/cli): Support Firebase Studio, fix .md lookup
ssbushi Aug 15, 2025
79275ba
feat(genkit-tools/cli): Support Firebase Studio, fix .md lookup
ssbushi Aug 15, 2025
b945591
Merge branch 'main' into sb/init4
ssbushi Aug 15, 2025
a0ef67f
Merge branch 'main' into sb/init3
ssbushi Aug 15, 2025
23557db
Merge branch 'main' into sb/init2
ssbushi Aug 15, 2025
ccd8184
Merge branch 'main' into sb/initaitools
ssbushi Aug 15, 2025
4942104
fix .md path, feedback
ssbushi Aug 15, 2025
322416a
merge with initaitools
ssbushi Aug 15, 2025
ee67668
Merge branch 'sb/init2' into sb/init3
ssbushi Aug 15, 2025
d638bd1
Merge branch 'sb/init3' into sb/init4
ssbushi Aug 15, 2025
f38a920
fix
ssbushi Aug 15, 2025
bdfccb9
merge main
ssbushi Aug 18, 2025
c798e50
Merge branch 'sb/init2' into sb/init3
ssbushi Aug 18, 2025
bde378f
Merge branch 'sb/init3' into sb/init4
ssbushi Aug 18, 2025
a22aff8
merge
ssbushi Aug 18, 2025
d8e2bfc
yesmode opt
ssbushi Aug 18, 2025
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
42 changes: 42 additions & 0 deletions genkit-tools/cli/src/commands/init-ai-tools/ai-tools/studio.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/**
* Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import { AIToolConfigResult, AIToolModule, InitConfigOptions } from '../types';
import { getGenkitContext, updateContentInPlace } from '../utils';

const RULES_PATH = '.idx/airules.md';

export const studio: AIToolModule = {
name: 'studio',
displayName: 'Firebase Studio',

/**
* Configures Firebase Studio (Project IDX) with Genkit context.
*
* - .idx/airules.md: Updates Firebase section only (preserves user content)
*
* Interactive prompts are shown since this file may contain user-defined
* AI rules and instructions that we must preserve. We only manage the
* Genkit-specific section marked with our XML tags.
*/
async configure(options?: InitConfigOptions): Promise<AIToolConfigResult> {
const files: AIToolConfigResult['files'] = [];
const content = getGenkitContext();
const { updated } = await updateContentInPlace(RULES_PATH, content);
files.push({ path: RULES_PATH, updated });
return { files };
},
};
2 changes: 2 additions & 0 deletions genkit-tools/cli/src/commands/init-ai-tools/command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ import { claude } from './ai-tools/claude';
import { cursor } from './ai-tools/cursor';
import { gemini } from './ai-tools/gemini';
import { generic } from './ai-tools/generic';
import { studio } from './ai-tools/studio';
import { AIToolChoice, AIToolModule, InitConfigOptions } from './types';

/** Set of all supported AI tools that can be configured (incl. a generic
* configuration) */
export const AI_TOOLS: Record<string, AIToolModule> = {
gemini,
studio,
claude,
cursor,
generic,
Expand Down
2 changes: 1 addition & 1 deletion genkit-tools/cli/src/commands/init-ai-tools/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export interface AIToolConfigResult {
/** `init:ai-tools` config options. */
export interface InitConfigOptions {
// yes (non-interactive) mode.
yesMode: boolean;
yesMode?: boolean;
}

/** Interface for supported AI tools */
Expand Down
Loading