Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Something is broken or behaves incorrectly
title: '[BUG] '
labels: bug
---

## Environment

- OS / version:
- BLIP version (About screen or `app-metadata.json`):
- Install type (dev / NSIS / portable):

## Steps to reproduce

1.
2.
3.

## Expected

## Actual

## Logs / screenshots

Paste main process logs or DevTools console if relevant. Redact personal info.

## Checklist

- [ ] I searched existing issues for duplicates.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: General question
url: https://github.com/krwg/BLIP/discussions
about: Ask the community (discussions) if you are unsure whether this is a bug.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Feature request
about: Suggest an improvement or new capability
title: '[FEATURE] '
labels: enhancement
---

## Problem / motivation

What pain point does this solve?

## Proposed solution

## Alternatives considered

## Scope notes

- LAN-only / privacy constraints:
- Affects main process, renderer, or packaging:

## Checklist

- [ ] I am willing to help implement or test (optional).
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: monthly
open-pull-requests-limit: 5
labels:
- dependencies

- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
24 changes: 24 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Summary

<!-- 1–3 sentences: what & why -->

## Type of change

- [ ] Bug fix
- [ ] New feature
- [ ] Documentation / repo hygiene
- [ ] Refactor (no user-visible change)

## How tested

<!-- e.g. npm run build, manual steps on Windows -->

## Screenshots (UI)

<!-- delete if N/A -->

## Checklist

- [ ] `npm run build` passes locally (or CI equivalent).
- [ ] User-visible strings updated in **EN + RU** if applicable (`renderer/i18n.js`).
- [ ] Linked issue: closes #
24 changes: 24 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: CI

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v6
with:
node-version: '20'
cache: npm

- name: Install dependencies
run: npm ci

- name: Build renderer (Vite)
run: npm run build
13 changes: 3 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
node_modules/
dist/
dist-electron/
build/icon.ico
build/icon.png
build/tray-16.png
build/icon.svg
*.log
.DS_Store
Thumbs.db
node_modules
dist-electron
dist
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20
42 changes: 42 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Release **version numbers** track [`app-metadata.json`](app-metadata.json) (synced into `package.json` on build).

## [Unreleased]

### Added

- OSS hygiene: Contributing guide (`CONTRIBUTING.md`), Code of Conduct, security policy (`SECURITY.md`), root changelog, architecture doc (`docs/ARCHITECTURE.md`).
- `.github/workflows/ci.yml` — `npm ci` + `npm run build` on push/PR to `main`/`master`.
- Issue / PR templates, Dependabot (npm + GitHub Actions), `.nvmrc`, `engines.node` in `package.json`.
- Tracked backlog files under `issues/` (removed from `.gitignore`).

### Changed

- README: Community section + Node **20+** align with toolchain.

## [0.1.4] — Obsidian

### Added

- Settings **About**: version from app metadata, GitHub link (`openExternal`).
- Chat history **clear conversation** action (with confirm).
- Central **`app-metadata.json`** + sync script for `package.json` version.

### Changed

- Main process handles **busy TCP/UDP ports** (`EADDRINUSE`): user dialog + clean exit instead of uncaught exception.
- Discovery ignores **self-announcements** on any local IPv4 alias (fewer phantom “duplicate self” peers).

### Removed

- In-app UDP/TCP port preset UI (profiles A/B); advanced users use env vars / config as documented.

## Earlier

Prior development history lives in Git commits and GitHub Releases; append older semver sections here when you cut releases.
35 changes: 35 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Contributor Covenant Code of Conduct

## Our pledge

We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

## Our standards

Examples of behavior that contributes to a positive environment:

- Demonstrating empathy and kindness toward others
- Being respectful of differing opinions and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing when we affect others, and learning from the experience
- Focusing on what is best for the community

Examples of unacceptable behavior:

- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others’ private information without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Enforcement

Maintainers are responsible for clarifying and enforcing standards of acceptable behavior. They may take appropriate and fair corrective action in response to behavior that they deem inappropriate, threatening, offensive, or harmful.

## Reporting

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the maintainers via GitHub (issues or direct message if available). All complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
75 changes: 75 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Contributing to BLIP

Thanks for helping improve BLIP. This project is **GPL-3.0** — your contributions will be under the same license.

## Prerequisites

- **Node.js** ≥ 20 (see `.nvmrc`). Use `nvm use` if you use nvm.
- **npm** (ships with Node).
- **Windows** is the primary target today; other platforms may work but are not fully validated in CI.

## Quick setup

```bash
git clone https://github.com/krwg/BLIP.git
cd BLIP
npm ci
```

## Development

```bash
npm run electron:dev
```

This runs Vite and Electron with `BLIP_VITE_DEV=1`. The UI loads from `http://localhost:5173`.

**Second instance** (separate config directory — see `scripts/electron-dev-peer2.mjs`):

```bash
npm run electron:dev:peer2
```

## Production-like run

```bash
npm start
```

Builds the renderer first (`prestart` → `vite build`), then launches Electron against `dist/`.

## Building installers

Requires Windows for the current electron-builder targets:

```bash
npm run electron:build # NSIS installer
npm run electron:build:portable
```

Outputs go to `dist-electron/` (see `electron-builder.yml`).

## Version / metadata

- Release version and display metadata live in **`app-metadata.json`**.
- `npm run build` runs `scripts/sync-app-metadata.mjs` so `package.json`’s `version` stays in sync.

## Code style

- Match existing patterns in `main/` and `renderer/`.
- Prefer small, focused PRs with a clear **what** and **why**.
- If you change user-visible strings, update **EN + RU** in `renderer/i18n.js` when applicable.

## Pull requests

1. Fork → branch → push → open PR against `main`.
2. Ensure **CI is green** (see `.github/workflows/ci.yml`).
3. Describe behavior change, testing done, and screenshots for UI changes.

## Security

Do **not** open public issues for sensitive vulnerabilities. See [SECURITY.md](SECURITY.md).

## Questions

Open a GitHub issue. If **Discussions** are enabled for this repo, you may ask broader questions there instead.
Loading
Loading