Skip to content

Commit 71ce34f

Browse files
konardclaude
andcommitted
Add TopByTechnologyTrigger for technology-based user rankings
- Implement TopByTechnologyTrigger that analyzes repositories and user activity - Support for various technologies including CUDA, Qt, Docker, React, etc. - Ranking based on commit activity and contribution patterns - File pattern matching for technology detection - Language analysis for technology weight calculation - Updated Program.cs to register the new trigger - Updated README.md with feature documentation and usage examples Resolves issue #30: "Add top by technology" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 177aa1c commit 71ce34f

File tree

3 files changed

+403
-1
lines changed

3 files changed

+403
-1
lines changed

csharp/Platform.Bot/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ private static async Task<int> Main(string[] args)
9595
var dbContext = new FileStorage(databaseFilePath?.FullName ?? new TemporaryFile().Filename);
9696
Console.WriteLine($"Bot has been started. {Environment.NewLine}Press CTRL+C to close");
9797
var githubStorage = new GitHubStorage(githubUserName, githubApiToken, githubApplicationName);
98-
var issueTracker = new IssueTracker(githubStorage, new HelloWorldTrigger(githubStorage, dbContext, fileSetName), new OrganizationLastMonthActivityTrigger(githubStorage), new LastCommitActivityTrigger(githubStorage), new AdminAuthorIssueTriggerDecorator(new ProtectDefaultBranchTrigger(githubStorage), githubStorage), new AdminAuthorIssueTriggerDecorator(new ChangeOrganizationRepositoriesDefaultBranchTrigger(githubStorage, dbContext), githubStorage), new AdminAuthorIssueTriggerDecorator(new ChangeOrganizationPullRequestsBaseBranchTrigger(githubStorage, dbContext), githubStorage));
98+
var issueTracker = new IssueTracker(githubStorage, new HelloWorldTrigger(githubStorage, dbContext, fileSetName), new OrganizationLastMonthActivityTrigger(githubStorage), new LastCommitActivityTrigger(githubStorage), new TopByTechnologyTrigger(githubStorage), new AdminAuthorIssueTriggerDecorator(new ProtectDefaultBranchTrigger(githubStorage), githubStorage), new AdminAuthorIssueTriggerDecorator(new ChangeOrganizationRepositoriesDefaultBranchTrigger(githubStorage, dbContext), githubStorage), new AdminAuthorIssueTriggerDecorator(new ChangeOrganizationPullRequestsBaseBranchTrigger(githubStorage, dbContext), githubStorage));
9999
var pullRequenstTracker = new PullRequestTracker(githubStorage, new MergeDependabotBumpsTrigger(githubStorage));
100100
var timestampTracker = new DateTimeTracker(githubStorage, new CreateAndSaveOrganizationRepositoriesMigrationTrigger(githubStorage, dbContext, Path.Combine(Directory.GetCurrentDirectory(), "/github-migrations")));
101101
var cancellation = new CancellationTokenSource();

csharp/Platform.Bot/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,26 @@ dotnet run MyNickname ghp_123 MyAppName db.links HelloWorldSet
4040
```shell
4141
./run.sh NICKNAME TOKEN APP_NAME
4242
```
43+
44+
## Features
45+
46+
The bot responds to GitHub issues with specific triggers:
47+
48+
- **Hello World**: Create issues with title "hello world" to test the bot
49+
- **Organization Last Month Activity**: Create issues with title "organization last month activity" to get member activity
50+
- **Top by Technology**: Create issues with title "Top by technology [TECHNOLOGY_NAME]" to get users ranked by their activity with specific technologies
51+
52+
### Top by Technology
53+
54+
The "Top by technology" feature analyzes repositories in your organization and ranks users based on:
55+
- Commit activity in repositories that contain the specified technology
56+
- Overall contribution activity weighted by technology usage
57+
- Repository language analysis and file patterns
58+
59+
Example usage:
60+
- "Top by technology CUDA" - Find users working with CUDA
61+
- "Top by technology Qt" - Find users working with Qt
62+
- "Top by technology Docker" - Find users working with Docker
63+
- "Top by technology React" - Find users working with React
64+
65+
The bot will analyze the last 3 months of activity and return the top 10 contributors for the specified technology.

0 commit comments

Comments
 (0)