कोड उदाहरण

व्यावहारिक कोड उदाहरण और टेम्प्लेट जो आपको Gemini CLI का पूरा फायदा उठाने में मदद करते हैं। बुनियादी उपयोग से लेकर उन्नत स्वचालन और एकीकरण पैटर्न तक।

बुनियादी उपयोग

Gemini CLI के साथ शुरुआत करने के लिए सरल उदाहरण

सरल चैट

Gemini के साथ बुनियादी बातचीत शुरू करें

bashकोड
# इंटरैक्टिव चैट शुरू करें
gemini chat

# एक प्रश्न पूछें
gemini ask "मशीन लर्निंग क्या है?"

# विशिष्ट मॉडल के साथ पूछें
gemini ask "क्वांटम कंप्यूटिंग समझाएं" --model gemini-pro

फ़ाइल विश्लेषण

AI सहायता के साथ कोड फ़ाइलों का विश्लेषण करें

bashकोड
# एक फ़ाइल का विश्लेषण करें
gemini analyze src/main.js

# कई फ़ाइलों का विश्लेषण करें
gemini analyze src/*.js --type code-review

# कोड सुझाव प्राप्त करें
gemini analyze package.json --suggest-improvements

कॉन्फ़िगरेशन प्रबंधन

बुनियादी कॉन्फ़िगरेशन प्रबंधन

bashकोड
# वर्तमान कॉन्फ़िगरेशन देखें
gemini config list

# डिफ़ॉल्ट मॉडल सेट करें
gemini config set model gemini-pro

# तापमान सेट करें
gemini config set temperature 0.7

# डिफ़ॉल्ट पर रीसेट करें
gemini config reset

स्वचालन स्क्रिप्ट

विकास कार्यों को स्वचालित करने के लिए स्क्रिप्ट

कोड समीक्षा स्क्रिप्ट

पुल अनुरोधों की स्वचालित कोड समीक्षा

bashकोड
#!/bin/bash
# code-review.sh - स्वचालित कोड समीक्षा स्क्रिप्ट

# बदली गई फ़ाइलें प्राप्त करें
CHANGED_FILES=$(git diff --name-only HEAD~1)

echo "🔍 स्वचालित कोड समीक्षा शुरू कर रहे हैं..."

for file in $CHANGED_FILES; do
  if [[ $file == *.js || $file == *.ts || $file == *.py ]]; then
    echo "📝 समीक्षा कर रहे हैं: $file"

    # फ़ाइल का विश्लेषण करें
    gemini analyze "$file" \
      --type code-review \
      --prompt "इस कोड में त्रुटियों, प्रदर्शन समस्याओं और सर्वोत्तम प्रथाओं की समीक्षा करें" \
      --output review-$file.md
  fi
done

echo "✅ कोड समीक्षा पूर्ण! review-*.md फ़ाइलें देखें"

दस्तावेज़ जेनरेटर

कोड से दस्तावेज़ीकरण उत्पन्न करें

bashकोड
#!/bin/bash
# generate-docs.sh - स्वचालित दस्तावेज़ीकरण

echo "📚 दस्तावेज़ीकरण उत्पन्न कर रहे हैं..."

# API दस्तावेज़ीकरण उत्पन्न करें
gemini analyze src/api/*.js \
  --prompt "उदाहरणों के साथ व्यापक API दस्तावेज़ीकरण उत्पन्न करें" \
  --output docs/api.md

# README उत्पन्न करें
gemini ask "इस प्रोजेक्ट के लिए कोडबेस के आधार पर README.md बनाएं" \
  --context src/ \
  --output README.md

# चेंजलॉग उत्पन्न करें
git log --oneline --since="1 month ago" | \
  gemini ask "इन git कमिट्स को चेंजलॉग में बदलें" \
  --output CHANGELOG.md

echo "✅ दस्तावेज़ीकरण पूर्ण!"

टेस्ट जेनरेटर

स्वचालित रूप से यूनिट टेस्ट उत्पन्न करें

bashकोड
#!/bin/bash
# generate-tests.sh - स्वचालित यूनिट टेस्ट

SOURCE_DIR="src"
TEST_DIR="tests"

echo "🧪 यूनिट टेस्ट उत्पन्न कर रहे हैं..."

find $SOURCE_DIR -name "*.js" -o -name "*.ts" | while read file; do
  # सापेक्ष पथ प्राप्त करें
  rel_path=${file#$SOURCE_DIR/}
  test_file="$TEST_DIR/${rel_path%.*}.test.${file##*.}"

  echo "📝 इस फ़ाइल के लिए टेस्ट उत्पन्न कर रहे हैं: $file"

  gemini analyze "$file" \
    --prompt "सीमा मामलों के साथ व्यापक यूनिट टेस्ट उत्पन्न करें" \
    --template jest \
    --output "$test_file"
done

echo "✅ टेस्ट उत्पन्न पूर्ण!"

एकीकरण उदाहरण

अन्य उपकरणों और वर्कफ़्लो के साथ एकीकरण

GitHub Actions वर्कफ़्लो

GitHub Actions के साथ CI/CD एकीकरण

yamlकोड
name: AI कोड समीक्षा
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Node.js सेटअप करें
        uses: actions/setup-node@v3
        with:
          node-version: '18'

      - name: Gemini CLI इंस्टॉल करें
        run: npm install -g @google/generative-ai-cli

      - name: Gemini CLI कॉन्फ़िगर करें
        run: |
          gemini config set api-key \$\{\{ secrets.GEMINI_API_KEY \}\}
          gemini config set model gemini-pro

      - name: बदली गई फ़ाइलें प्राप्त करें
        id: changed-files
        run: |
          echo "files=\$(git diff --name-only HEAD~1 | tr '\n' ' ')" >> $GITHUB_OUTPUT

      - name: AI कोड समीक्षा
        run: |
          for file in \$\{\{ steps.changed-files.outputs.files \}\}; do
            if [[ $file == *.js || $file == *.ts || $file == *.py ]]; then
              gemini analyze "$file" \
                --type code-review \
                --output "review-$file.md"
            fi
          done

      - name: PR पर टिप्पणी करें
        uses: actions/github-script@v6
        with:
          script: |
            const fs = require('fs');
            const reviews = fs.readdirSync('.').filter(f => f.startsWith('review-'));

            let comment = '## 🤖 AI कोड समीक्षा\n\n';
            reviews.forEach(file => {
              const content = fs.readFileSync(file, 'utf8');
              comment += `### ${file}\n${content}\n\n`;
            });

            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: comment
            });

VS Code एक्सटेंशन

कस्टम VS Code एक्सटेंशन एकीकरण

javascriptकोड
// extension.js - Gemini CLI के लिए VS Code एक्सटेंशन
const vscode = require('vscode');
const { exec } = require('child_process');

function activate(context) {
  // कमांड: कोड समझाएं
  let explainCommand = vscode.commands.registerCommand(
    'gemini.explainCode',
    async () => {
      const editor = vscode.window.activeTextEditor;
      if (!editor) return;

      const selection = editor.selection;
      const text = editor.document.getText(selection);

      if (!text) {
        vscode.window.showErrorMessage('कृपया समझाने के लिए कोड चुनें');
        return;
      }

      // प्रगति दिखाएं
      vscode.window.withProgress({
        location: vscode.ProgressLocation.Notification,
        title: "Gemini के साथ कोड समझा रहे हैं...",
        cancellable: false
      }, async () => {
        return new Promise((resolve, reject) => {
          exec(`echo "${text}" | gemini ask "इस कोड को समझाएं"`,
            (error, stdout, stderr) => {
              if (error) {
                vscode.window.showErrorMessage(`त्रुटि: ${error.message}`);
                reject(error);
                return;
              }

              // नए दस्तावेज़ में व्याख्या दिखाएं
              vscode.workspace.openTextDocument({
                content: stdout,
                language: 'markdown'
              }).then(doc => {
                vscode.window.showTextDocument(doc);
                resolve();
              });
            });
        });
      });
    }
  );

  context.subscriptions.push(explainCommand);
}

function deactivate() {}

module.exports = { activate, deactivate };

उन्नत उपयोग

जटिल परिदृश्य और उन्नत सुविधाएं

कस्टम टूल विकास

विशिष्ट कार्यों के लिए कस्टम टूल बनाएं

javascriptकोड
// custom-tools.js - कस्टम टूल परिभाषाएं
const tools = {
  // डेटाबेस क्वेरी टूल
  database_query: {
    name: 'database_query',
    description: 'डेटाबेस पर SQL क्वेरी निष्पादित करें',
    parameters: {
      query: { type: 'string', required: true },
      database: { type: 'string', default: 'main' }
    },
    execute: async ({ query, database }) => {
      const db = require('./db-connection');
      try {
        const result = await db.query(query, database);
        return JSON.stringify(result, null, 2);
      } catch (error) {
        return `त्रुटि: ${error.message}`;
      }
    }
  }
};

module.exports = tools;

अधिक सहायता चाहिए?

अधिक संसाधन और दस्तावेज़ीकरण देखें