Merge branch 'main' of https://github.com/bucolucas/cyclop
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
# Repository Management Task Examples
|
||||
|
||||
This document provides step-by-step examples of various tasks that can be completed using the available repository management tools.
|
||||
|
||||
## Task 1: Add a New Feature to an Existing File
|
||||
|
||||
### Step 1: Create a new branch
|
||||
```
|
||||
create_branch:
|
||||
branch_name: "add-new-feature"
|
||||
```
|
||||
Expected return: Confirmation that the branch was created and set as current.
|
||||
|
||||
### Step 2: Read the existing file
|
||||
```
|
||||
read_file:
|
||||
path: "path/to/existing/file.py"
|
||||
```
|
||||
Expected return: The content of the file.
|
||||
|
||||
### Step 3: Modify the file content
|
||||
(This step is done manually by the developer)
|
||||
|
||||
### Step 4: Commit the changes
|
||||
```
|
||||
commit_file:
|
||||
file_path: "path/to/existing/file.py"
|
||||
commit_message: "Add new feature X to file.py"
|
||||
content: "Updated file content with new feature"
|
||||
```
|
||||
Expected return: Confirmation that the file was committed.
|
||||
|
||||
### Step 5: Create a pull request
|
||||
```
|
||||
create_pull_request:
|
||||
title: "Add new feature X"
|
||||
body: "This PR adds feature X to file.py, which does Y and Z."
|
||||
```
|
||||
Expected return: Details of the created pull request, including its number.
|
||||
|
||||
### Step 6: Approve the pull request
|
||||
```
|
||||
approve_pull_request:
|
||||
pull_number: 123 # Use the actual PR number from the previous step
|
||||
```
|
||||
Expected return: Confirmation that the PR was approved.
|
||||
|
||||
### Step 7: Merge the pull request
|
||||
```
|
||||
merge_pull_request:
|
||||
pull_number: 123 # Use the actual PR number
|
||||
merge_method: "squash"
|
||||
```
|
||||
Expected return: Confirmation that the PR was merged.
|
||||
|
||||
## Task 2: Search for and Update Multiple Files
|
||||
|
||||
### Step 1: Create a new branch
|
||||
```
|
||||
create_branch:
|
||||
branch_name: "update-deprecated-function"
|
||||
```
|
||||
Expected return: Confirmation that the branch was created and set as current.
|
||||
|
||||
### Step 2: Search for code
|
||||
```
|
||||
search_code:
|
||||
query: "deprecated_function"
|
||||
```
|
||||
Expected return: A list of files containing the deprecated function.
|
||||
|
||||
### Step 3: Read and update each file
|
||||
(Repeat for each file found in the search)
|
||||
```
|
||||
read_file:
|
||||
path: "path/to/file1.py"
|
||||
```
|
||||
Expected return: The content of the file.
|
||||
|
||||
(Update the file content manually)
|
||||
|
||||
```
|
||||
commit_file:
|
||||
file_path: "path/to/file1.py"
|
||||
commit_message: "Replace deprecated_function with new_function in file1.py"
|
||||
content: "Updated file content"
|
||||
```
|
||||
Expected return: Confirmation that the file was committed.
|
||||
|
||||
### Step 4: Create a pull request
|
||||
```
|
||||
create_pull_request:
|
||||
title: "Replace deprecated function with new function"
|
||||
body: "This PR replaces all instances of deprecated_function with new_function across the repository."
|
||||
```
|
||||
Expected return: Details of the created pull request, including its number.
|
||||
|
||||
### Step 5: Approve and merge the pull request
|
||||
(Same as steps 6 and 7 in Task 1)
|
||||
|
||||
## Task 3: Analyze Repository History
|
||||
|
||||
### Step 1: List all branches
|
||||
```
|
||||
list_branches:
|
||||
all_pages: true
|
||||
```
|
||||
Expected return: A list of all branches in the repository.
|
||||
|
||||
### Step 2: Get commit history for a file
|
||||
```
|
||||
get_commit_history:
|
||||
file_path: "path/to/important/file.py"
|
||||
num_commits: 20
|
||||
```
|
||||
Expected return: The commit history for the specified file.
|
||||
|
||||
### Step 3: Get file contents at a specific commit
|
||||
```
|
||||
get_file_at_commit:
|
||||
file_path: "path/to/important/file.py"
|
||||
commit_sha: "abc123..." # Use a SHA from the commit history
|
||||
```
|
||||
Expected return: The content of the file at the specified commit.
|
||||
|
||||
### Suggestions Box:
|
||||
For the repository history analysis task, adopting the persona of a "Time-Traveling Code Archaeologist" might enhance the experience. This persona would approach the task with a sense of curiosity and excitement about uncovering the evolution of the code over time.
|
||||
|
||||
## Task 4: Optimize Repository Performance
|
||||
|
||||
### Step 1: Get function metrics
|
||||
```
|
||||
get_function_metrics:
|
||||
```
|
||||
Expected return: Metrics for all measured functions.
|
||||
|
||||
### Step 2: Get top N functions by execution time
|
||||
```
|
||||
get_top_n_functions:
|
||||
n: 5
|
||||
```
|
||||
Expected return: The top 5 functions by total execution time.
|
||||
|
||||
### Step 3: Analyze and optimize
|
||||
(This step involves manually reviewing the results and optimizing the identified functions)
|
||||
|
||||
### Step 4: Create a new branch for optimizations
|
||||
```
|
||||
create_branch:
|
||||
branch_name: "optimize-top-functions"
|
||||
```
|
||||
Expected return: Confirmation that the branch was created and set as current.
|
||||
|
||||
### Step 5: Commit optimized files
|
||||
(Repeat for each optimized file)
|
||||
```
|
||||
commit_file:
|
||||
file_path: "path/to/optimized/file.py"
|
||||
commit_message: "Optimize function X for better performance"
|
||||
content: "Optimized file content"
|
||||
```
|
||||
Expected return: Confirmation that the file was committed.
|
||||
|
||||
### Step 6: Create a pull request
|
||||
```
|
||||
create_pull_request:
|
||||
title: "Optimize top 5 functions for better performance"
|
||||
body: "This PR optimizes the top 5 functions identified by our performance metrics, improving overall repository performance."
|
||||
```
|
||||
Expected return: Details of the created pull request, including its number.
|
||||
|
||||
### Step 7: Approve and merge the pull request
|
||||
(Same as steps 6 and 7 in Task 1)
|
||||
|
||||
### Suggestions Box:
|
||||
For the performance optimization task, adopting the persona of a "Code Performance Guru" could be beneficial. This persona would approach the task with a deep understanding of performance optimization techniques and a commitment to achieving maximum efficiency.
|
||||
Reference in New Issue
Block a user