name: 💡 Coding habits and activity
category: github
description: |
  This plugin displays coding habits based on recent activity, such as active hours and languages recently used.
examples:
  +recent activity charts: https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.habits.charts.svg
  +mildly interesting facts: https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.habits.facts.svg
index: 7
supports:
  - user
  - organization
scopes:
  - public_access
inputs:

  plugin_habits:
    description: |
      Enable habits plugin
    type: boolean
    default: no

  plugin_habits_from:
    description: |
      Events to use

      A higher number will increase stats accuracy
    type: number
    default: 200
    min: 1
    max: 1000

  plugin_habits_skipped:
    description: |
      Skipped repositories
    type: array
    format: 
      - newline-separated
      - comma-separated
    default: ""
    example: my-repo-1, my-repo-2, owner/repo-3, ...
    inherits: repositories_skipped

  plugin_habits_days:
    description: |
      Event maximum age
    type: number
    default: 14
    min: 1
    max: 30

  plugin_habits_facts:
    description: |
      Mildly interesting facts

      It includes indentation type, average number of characters per line of code, and most active time and day
    type: boolean
    default: yes

  plugin_habits_charts:
    description: |
      Charts

      It includes commit activity per hour of day and commit activity per day of week
      Recent language activity may also displayed (it requires extras features to be enabled for web instances) for historical reasons
    type: boolean
    default: no
    extras:
      - metrics.api.github.overuse
      - metrics.run.tempdir
      - metrics.run.git

  plugin_habits_charts_type:
    description: |
      Charts display type

      - `classic`: `<div>` based charts, simple and lightweight
      - `graph`: `<svg>` based charts, smooth

      > ⚠️ `chartist` option has been deprecated and is now equivalent to `graph`
    type: string
    default: classic
    values:
      - classic
      - graph
      - chartist
    extras:
      - metrics.npm.optional.d3

  plugin_habits_trim:
    description: |
      Trim unused hours on charts
    type: boolean
    default: no

  plugin_habits_languages_limit:
    description: |
      Display limit (languages)
    type: number
    default: 8
    min: 0
    max: 8
    zero: disable

  plugin_habits_languages_threshold:
    description: |
      Display threshold (percentage)
    type: string
    default: 0%