Contributing to ngx-debug-console

February 27, 2026 ยท View on GitHub

First off, thanks for taking the time to contribute! ๐ŸŽ‰

Getting Started

  1. Fork the repo: https://github.com/andrerds/ngx-debug-console
  2. Clone your fork:
    git clone git@github.com:YOUR_USERNAME/ngx-debug-console.git
    cd ngx-debug-console
    
  3. Install dependencies:
    npm install
    
  4. Build the lib:
    npm run build
    

Development Workflow

Project Structure

src/
โ””โ”€โ”€ lib/
    โ”œโ”€โ”€ types.ts                    # LogEntry, LogLevel, DebugConsoleConfig
    โ”œโ”€โ”€ debug-console.service.ts    # Console interception + log store
    โ”œโ”€โ”€ debug-http.interceptor.ts   # HTTP auto-capture
    โ”œโ”€โ”€ provide-debug-console.ts    # provideDebugConsole() function
    โ”œโ”€โ”€ debug-console.component.ts  # Main component
    โ”œโ”€โ”€ debug-console.component.html
    โ”œโ”€โ”€ debug-console.component.css
    โ””โ”€โ”€ debug-console.module.ts     # NgModule wrapper
# Inside ngx-debug-console/
npm run build
cd dist
npm link

# Inside your Angular project
npm link ngx-debug-console

How to Contribute

Reporting Bugs

Open an issue at https://github.com/andrerds/ngx-debug-console/issues with:

  • Angular version
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable

Suggesting Features

Open an issue with the enhancement label. Describe:

  • The use case
  • Why it would benefit other users
  • Any implementation ideas

Submitting a Pull Request

  1. Create a branch from main:
    git checkout -b feat/my-feature
    # or
    git checkout -b fix/my-bugfix
    
  2. Make your changes following the code style (see below)
  3. Commit using Conventional Commits:
    feat: add dark/light theme toggle
    fix: prevent duplicate log entries on hot reload
    docs: update README usage examples
    chore: bump ng-packagr to 14.2
    
  4. Push and open a PR against main
  5. Fill in the PR template

Code Style

  • TypeScript strict mode
  • BEM naming for CSS classes (prefix ndc-)
  • No external UI dependencies (no Ionic, no Material)
  • Keep the lib tree-shakeable โ€” avoid side effects at module level
  • Add JSDoc to all public methods and interfaces

Commit Convention

PrefixWhen to use
featNew feature
fixBug fix
docsDocumentation only
styleFormatting, no logic change
refactorCode change that's neither fix nor feature
testAdding or fixing tests
choreBuild process, dependencies

Questions?

Open a discussion at https://github.com/andrerds/ngx-debug-console/discussions