Skip to content

Commit 79f5731

Browse files
committed
v1.0.0 release
1 parent 07e10c8 commit 79f5731

File tree

20 files changed

+1638
-1
lines changed

20 files changed

+1638
-1
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: 🐞 Bug Report
2+
description: Help improve FileSentry by reporting a bug
3+
title: "[Bug] <Short bug summary>"
4+
labels: ["bug"]
5+
assignees:
6+
- raghul-tech
7+
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
## 🐛 Thanks for helping us improve FileSentry!
13+
Please fill out the details below to report a bug clearly.
14+
15+
- type: input
16+
id: environment
17+
attributes:
18+
label: 💻 Environment
19+
description: Tell us about your system and setup
20+
placeholder: "e.g. Windows 11, Java 17, FileSentry 1.0.0"
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: what-happened
26+
attributes:
27+
label: 😕 What went wrong?
28+
description: Describe the problem or error clearly.
29+
placeholder: "Example: File change detection doesn't trigger on save."
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: steps
35+
attributes:
36+
label: 🧪 Steps to Reproduce
37+
description: List the steps to see the bug.
38+
placeholder: |
39+
Example:
40+
1. Save a file in Windows using VS Code
41+
2. Watcher doesn't detect the change
42+
3. No callback is triggered
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
id: expected
48+
attributes:
49+
label: ✅ What should have happened?
50+
description: Describe what you expected instead.
51+
placeholder: "I expected the file change callback to be triggered."
52+
validations:
53+
required: true
54+
55+
- type: textarea
56+
id: logs
57+
attributes:
58+
label: 📄 Error Message or Logs (optional)
59+
description: Paste any error message or stack trace if you have it.
60+
render: shell
61+
62+
- type: textarea
63+
id: screenshots
64+
attributes:
65+
label: 📸 Screenshot (optional)
66+
description: Add a screenshot if it helps explain the issue.
67+
68+
- type: checkboxes
69+
id: checklist
70+
attributes:
71+
label: ✅ Before submitting...
72+
options:
73+
- label: I checked for [existing issues](https://github.com/raghul-tech/FileSentry/issues)
74+
required: true
75+
- label: I’m using the **latest version** of FileSentry
76+
required: true
77+
- label: I provided all required information
78+
required: true

.github/workflows/codeql.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CodeQL Analysis
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 0 * * 0' # weekly run
10+
11+
jobs:
12+
analyze:
13+
name: Analyze CodeQL
14+
runs-on: ubuntu-latest
15+
permissions:
16+
actions: read
17+
contents: read
18+
security-events: write
19+
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
language: [ 'java' ]
24+
25+
steps:
26+
- name: 📥 Checkout repository
27+
uses: actions/checkout@v3
28+
29+
- name: 🛡️ Initialize CodeQL
30+
uses: github/codeql-action/init@v3
31+
with:
32+
languages: ${{ matrix.language }}
33+
34+
- name: ☕ Set up JDK
35+
uses: actions/setup-java@v3
36+
with:
37+
java-version: '17'
38+
distribution: 'temurin'
39+
40+
- name: 🔨 Build project with Maven (GPG disabled)
41+
run: mvn clean install -Dgpg.skip=true
42+
43+
- name: 🧪 Perform CodeQL Analysis
44+
uses: github/codeql-action/analyze@v3

.github/workflows/maven.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Maven Build
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: 📥 Checkout code
15+
uses: actions/checkout@v3
16+
17+
- name: ☕ Set up JDK
18+
uses: actions/setup-java@v3
19+
with:
20+
java-version: '17'
21+
distribution: 'temurin'
22+
23+
- name: 🔐 Import GPG key
24+
run: |
25+
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
26+
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
27+
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
28+
env:
29+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
30+
31+
- name: 🔨 Build with Maven (GPG Enabled)
32+
run: |
33+
mvn -B clean install \
34+
-Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" \
35+
-Dgpg.pinentry.mode=loopback

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# 📦 Changelog
2+
3+
All notable changes to **FileSentry** will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6+
and this project adheres to [Semantic Versioning](https://semver.org/).
7+
8+
---
9+
10+
## [1.0.0] - 2025-07-02
11+
12+
### 🚀 Initial Release
13+
- Cross-platform file watching with Java NIO WatchService.
14+
- Supports Windows, Linux, and macOS.
15+
- Debouncing and event callbacks included.
16+
- Simple API for monitoring file changes in real time.

CODE_OF_CONDUCT.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Code of Conduct
2+
3+
## 👋 Our Pledge
4+
5+
We as contributors and maintainers of **FileSentry** pledge to make participation in our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
We are committed to making this project a welcoming and respectful space for all.
8+
9+
---
10+
11+
## ✅ Expected Behavior
12+
13+
- Be respectful, kind, and constructive.
14+
- Use welcoming and inclusive language.
15+
- Gracefully accept constructive criticism.
16+
- Focus on what is best for the community and the project.
17+
- Show empathy towards other community members.
18+
19+
---
20+
21+
## 🚫 Unacceptable Behavior
22+
23+
- Harassment, abuse, or threats of any kind.
24+
- Discriminatory jokes, language, or imagery.
25+
- Public or private harassment.
26+
- Personal attacks or insulting comments.
27+
- Other conduct which could reasonably be considered inappropriate in a professional setting.
28+
29+
---
30+
31+
## 🧑‍⚖️ Reporting Issues
32+
33+
If you see or experience unacceptable behavior, please report it by contacting the project maintainer:
34+
35+
**📬 Contact**: [[email protected]](mailto:[email protected])
36+
37+
All reports will be reviewed and investigated confidentially and respectfully.
38+
39+
---
40+
41+
## 🙌 Enforcement
42+
43+
Anyone asked to stop unacceptable behavior is expected to comply immediately. Maintainers have the right to remove, edit, or reject comments, commits, code, or other contributions that violate this Code of Conduct.
44+
45+
---
46+
47+
## 📄 Attribution
48+
49+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
50+
51+
---
52+
53+
Thank you for helping make **FileSentry** a friendly and inclusive project! 🚀

CONTRIBUTING.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# 🙌 Contributing to FileSentry
2+
3+
Thank you for your interest in contributing to **FileSentry**! 🎉
4+
We welcome all kinds of contributions — from bug fixes and documentation improvements to new features and performance enhancements.
5+
6+
---
7+
8+
## 💡 How to Contribute
9+
10+
### 1️⃣ Fork the Repository
11+
Click the **"Fork"** button at the top right of the [FileSentry repository](https://github.com/raghul-tech/FileSentry) to create your own copy.
12+
13+
---
14+
15+
### 2️⃣ Clone Your Fork
16+
Clone your forked repository to your local machine:
17+
18+
```bash
19+
git clone https://github.com/YOUR_USERNAME/FileSentry.git
20+
cd FileSentry
21+
```
22+
23+
*(Replace `YOUR_USERNAME` with your GitHub username.)*
24+
25+
---
26+
27+
### 3️⃣ Create a Branch
28+
Create a new branch for your changes:
29+
30+
```bash
31+
git checkout -b fix/file-change-detection
32+
```
33+
34+
Use a **descriptive branch name** that explains what you’re working on.
35+
36+
---
37+
38+
### 4️⃣ Make Your Changes
39+
- Update code.
40+
- Add or improve tests.
41+
- Write or update documentation.
42+
- Verify your changes work as expected.
43+
44+
---
45+
46+
### 5️⃣ Commit and Push
47+
Commit your changes with a clear message:
48+
49+
```bash
50+
git add .
51+
git commit -m "Fix: handle edge case when watched file is deleted"
52+
git push origin fix/file-change-detection
53+
```
54+
55+
---
56+
57+
### 6️⃣ Open a Pull Request
58+
1. Go to your forked repository on GitHub.
59+
2. Click **“Compare & pull request.”**
60+
3. Provide a clear description of your changes.
61+
4. Click **“Create pull request.”**
62+
63+
We’ll review it as soon as possible!
64+
65+
---
66+
67+
## 🧪 Adding Examples
68+
If you’d like to contribute example usage:
69+
70+
- Place examples in the `examples/` directory.
71+
- Keep examples **simple**, showing one concept at a time.
72+
73+
---
74+
75+
## ✅ Code Style Guidelines
76+
- Use clear, descriptive names.
77+
- Keep methods small and focused.
78+
- Prefer `StandardCharsets.UTF_8` over string literals.
79+
- Use `try-catch` responsibly and avoid swallowing exceptions silently.
80+
- Follow existing formatting and indentation patterns.
81+
82+
---
83+
84+
## 🧹 Running Tests
85+
Before opening your pull request, please run:
86+
87+
```bash
88+
mvn clean verify
89+
```
90+
91+
This ensures your changes pass all checks.
92+
93+
---
94+
95+
## 📜 License
96+
By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).
97+
98+
---
99+
100+
## ❤️ Thank You
101+
Your help makes **FileSentry** better for everyone.
102+
Thank you for contributing!

0 commit comments

Comments
 (0)