Skip to content

Rule: New feature introduced (new-feature) #18

@ddjain

Description

@ddjain

Rule: New Feature Detection

Overview

Identifies when new functionality is added (new functions, classes, modules).

Label Metadata

  • Label Name: new-feature
  • Color: 2ea44f (Green)
  • Description: New feature/functionality added

Detection Logic

Analyze diff for new function/class/module additions:

Patterns to detect:

  • New function definitions: +function, +def, +fn
  • New class definitions: +class, +struct
  • New exports: +export function, +export class
  • Significant additions (>100 lines) in new files

Heuristics

  • High ratio of additions vs deletions (>70% additions)
  • New files created with substantial code
  • New function/class definitions detected
  • Threshold: Default 50+ lines of net additions

Example Code That Triggers

+ function newFeature() {
+   // 50+ lines of new code
+ }
+
+ export class NewComponent {
+   // new class implementation
+ }

Example Code That Does NOT Trigger

  • Only deletions (removing code)
  • Refactoring (same functionality)
  • Small bug fixes (<10 lines)

Test Cases Needed

  • Detects new function definitions
  • Detects new class definitions
  • Detects new exports
  • Handles large new files
  • Ignores small additions (bug fixes)
  • Distinguishes from refactoring

Edge Cases

  • Large refactor with some new code mixed
  • Feature flag enabling existing code
  • New tests only (should be test-improvement)

Integration Notes

  • Useful for tracking feature development
  • May combine with large-pr for comprehensive analysis
  • Consider excluding test files from line count

Priority

Medium - Useful for feature tracking


Status: Not implemented
Category: Logic, Refactor & Naming

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions