Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
5eba8d5
docs: complete README with SEO and feature documentation
devhms May 3, 2026
5550fce
fix: dead code injection and stdlib protection
devhms May 3, 2026
9e05bd4
chore: update project index
devhms May 4, 2026
9bf06ec
docs: add contributing guide
devhms May 7, 2026
9d60a6d
docs: add code of conduct
devhms May 7, 2026
364b184
docs: add security policy
devhms May 7, 2026
6787c3e
docs: add support policy
devhms May 7, 2026
0733e39
docs: add changelog
devhms May 7, 2026
564a284
docs: add roadmap
devhms May 7, 2026
8cf3e2d
docs: add governance
devhms May 7, 2026
8c05fd3
docs: add bug report template
devhms May 7, 2026
d3745aa
docs: add feature request template
devhms May 7, 2026
cdddbad
docs: add issue template config
devhms May 7, 2026
c2275da
docs: add pull request template
devhms May 7, 2026
49fbbc6
docs: add funding config
devhms May 7, 2026
088077a
docs: add codeowners
devhms May 7, 2026
8930fe3
ci: add dependabot config
devhms May 7, 2026
c6671cd
ci: add codeql workflow
devhms May 7, 2026
9788f7c
docs: add oss links to readme
devhms May 7, 2026
169776b
docs: implement comprehensive SEO and GEO (AI Search) strategy
devhms May 7, 2026
52318db
chore(ai): implement ai agent configuration best practices (two-layer…
devhms May 7, 2026
35831ed
feat: Complete v3.5.0 stability hardening - 81 tests, bug fixes, polish
devhms May 10, 2026
4cea6fc
test: cover token-safe renaming and dot-call guard
devhms May 12, 2026
a9dd18b
fix: align dot-call guard with spec
devhms May 12, 2026
8e7a5f6
test: verify expanded protected identifiers
devhms May 12, 2026
0b91c2d
test: add serializer token-safety coverage
devhms May 12, 2026
d6d66f9
test: cover AST drift after line changes
devhms May 12, 2026
8899efa
docs: add hardening design specifications
devhms May 12, 2026
cbc307f
chore: clean up marketing files and finalize agent discoverability (P…
devhms May 16, 2026
9068999
feat: complete v4.0.0 hardening plan — bug fixes, code quality, suppl…
devhms May 18, 2026
0e81680
chore(deps): bump eclipse-temurin from 21-jre-alpine to 25-jre-alpine
dependabot[bot] May 18, 2026
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
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2
17 changes: 17 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
*.java text eol=lf
*.xml text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.md text eol=lf
*.html text eol=lf
*.css text eol=lf
*.fxml text eol=lf
*.json text eol=lf
*.properties text eol=lf
*.sh text eol=lf
*.ps1 text eol=crlf
*.bat text eol=crlf
*.png binary
*.jar binary
*.ico binary
*.class binary
15 changes: 15 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* @devhms

# Core Engine
/src/main/java/com/nightshade/engine/ @devhms

# Poisoning Strategies
/src/main/java/com/nightshade/strategy/ @devhms

# Utilities & CLI
/src/main/java/com/nightshade/util/ @devhms
/src/main/java/com/nightshade/CLI.java @devhms

# Documentation
/docs/ @devhms
/README.md @devhms
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
github: [devhms]
ko_fi: devhms
open_collective: nightshade-project
custom: ["https://buymeacoffee.com/devhms"]
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Report a problem or regression with Nightshade
title: "[Bug]: "
labels: ["bug", "triage"]
assignees: []
---

## Summary
<!-- A clear and concise description of what the bug is. -->

## Steps to Reproduce
1. Run command `...`
2. With input file `...`
3. See error `...`

## Expected Behavior
<!-- A clear and concise description of what you expected to happen. -->

## Actual Behavior
<!-- What actually happened? (e.g., Stack trace, output log, corrupted output) -->

## Environment
- **OS:** [e.g., Ubuntu 22.04, Windows 11, macOS Sonoma]
- **JDK Version:** [e.g., OpenJDK 21.0.2]
- **Nightshade Version:** [e.g., 3.5.0 — find via `java -jar nightshade.jar --version`]
- **Maven Version:** [e.g., 3.9.6]

## Logs and Output
<!-- Please paste any relevant logs here. If they are very long, attach them as a file or use a gist. -->
```
// PASTE LOGS HERE
```

## Additional Context
<!-- Add any other context about the problem here, such as what language the target code is written in. -->
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/devhms/nightshade/security/advisories/new
about: Report security issues privately via GitHub PVR
- name: General Discussion
url: https://github.com/devhms/nightshade/discussions
about: Ask questions, share ideas, and engage with the community
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Feature request
about: Propose a new feature, strategy, or improvement
title: "[Feature]: "
labels: ["enhancement", "triage"]
assignees: []
---

## Summary
<!-- A clear and concise description of the new feature or improvement. -->

## Problem
<!-- Is your feature request related to a problem? Ex. "I'm always frustrated when [...]" -->

## Proposed Solution
<!-- A clear and concise description of what you want to happen. -->

## Alternatives Considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->

## Success Criteria
<!-- How will we know this feature is complete? -->
- [ ] Criteria 1
- [ ] Criteria 2

## Additional Context
<!-- Add any other context or screenshots about the feature request here. -->

## Area
<!-- Which part of the project does this affect? Delete lines that don't apply. -->
- Core Engine
- Poisoning Strategy
- CLI
- Documentation
- Build / CI
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Question
about: Ask a question about using Nightshade
title: "[Question]: "
labels: ["question"]
assignees: []
---

## Question
<!-- Ask your question here. Please be as detailed as possible. -->

## Context
<!-- What are you trying to achieve? What is the use case? -->

*Note: For general discussions, consider using [GitHub Discussions](https://github.com/devhms/nightshade/discussions) instead.*
28 changes: 28 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Summary
<!-- Provide a brief summary of the changes and the rationale behind them. -->

## Change Type
<!-- Delete the lines that do not apply: -->
- `feat`: A new feature or poisoning strategy
- `fix`: A bug fix
- `docs`: Documentation only changes
- `chore`: Build system, CI, dependencies, or maintenance

## Related Issues
<!-- Link to issues this PR resolves. Use "Fixes #<issue>" or "Closes #<issue>". -->
- Closes #

## Checklist
- [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) guide
- [ ] I have run `mvn verify` locally and all tests pass
- [ ] I have added or updated tests for my changes
- [ ] I have updated the documentation accordingly
- [ ] My commits are signed with `-s` (DCO)

## Breaking Changes
- [ ] Yes
- [ ] No
<!-- If yes, describe the impact and migration path below. -->

## Screenshots / Logs
<!-- If applicable, add screenshots or output logs to help explain your changes. -->
48 changes: 48 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
version: 2
updates:
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "04:00"
timezone: "UTC"
open-pull-requests-limit: 5
target-branch: "main"
labels:
- "dependencies"
- "java"
commit-message:
prefix: "chore(deps)"
ignore:
- dependency-name: "org.openjfx:*"
update-types: ["version-update:semver-major"]
reviewers:
- "devhms"

- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "monthly"
labels:
- "dependencies"
- "docker"
commit-message:
prefix: "chore(deps)"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "04:00"
timezone: "UTC"
open-pull-requests-limit: 5
target-branch: "main"
labels:
- "dependencies"
- "ci"
commit-message:
prefix: "chore(deps)"
reviewers:
- "devhms"
46 changes: 46 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI - Build and Test

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae1a # v4.2.0

- name: Set up JDK 21
uses: actions/setup-java@99b6cbb1ec2b05a0d87cf5001fcd45d466b493be # v4.2.0
with:
java-version: '21'
distribution: 'temurin'
cache: 'maven'

- name: Build and Test
run: ./mvnw clean verify -B --no-transfer-progress

- name: Upload Test Results
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.2.0
with:
name: test-results
path: target/surefire-reports/
retention-days: 7

- name: Upload Coverage Report
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.2.0
with:
name: jacoco-report
path: target/site/jacoco/
retention-days: 7
50 changes: 50 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: "CodeQL"

on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
schedule:
- cron: "27 3 * * 0"

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
packages: read

strategy:
fail-fast: false
matrix:
language: ["java"]

steps:
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Set up JDK 21
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
with:
java-version: '21'
distribution: 'temurin'
cache: 'maven'

- name: Initialize CodeQL
uses: github/codeql-action/init@78ed0c7291d93e40c51b085850dc669a4c3ab73b # v3
with:
languages: ${{ matrix.language }}
queries: security-extended
build-mode: autobuild

- name: Autobuild
uses: github/codeql-action/autobuild@78ed0c7291d93e40c51b085850dc669a4c3ab73b # v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@78ed0c7291d93e40c51b085850dc669a4c3ab73b # v3
with:
category: "/language:${{ matrix.language }}"
Loading
Loading