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
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Run '...'

**Expected behavior**
A clear and concise description of what you expected to happen.

**Additional context**
Add any other context about the problem here.
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement

**Is your feature request related to a problem? Please describe.**

**Describe the solution you'd like**

**Describe alternatives you've considered**

**Additional context**
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!-- Describe the purpose of this PR and the changes included. -->

## Summary

- What does this change do?
- Why is this change needed?

## Checklist

- [ ] My changes follow the contribution guidelines in `CONTRIBUTING.md`.
- [ ] I have updated `THIRD_PARTY_NOTICES.md` for any new dependency.
- [ ] I have signed `CONTRIBUTOR_LICENSE_AGREEMENT.md` (if applicable).
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
/.vscode/
# Keep general .vscode ignored, but allow committing the launch configuration
.vscode/*
!.vscode/launch.json
node_modules/
dist/
build/
*.log
gcp-key.json
*.pyc
__pycache__/
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
Expand Down
36 changes: 36 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
// Chrome debugger (use `pwa-chrome` in newer VS Code versions if available)
"type": "chrome",
"request": "launch",
"name": "Launch Chrome (pwa) against localhost",
"url": "http://networkbuster.net",
"webRoot": "${workspaceFolder}/networkbuster.net",
// Uncomment and set if you want VS Code to start a specific Chrome binary
// "runtimeExecutable": "/usr/bin/google-chrome-stable",
// Additional flags useful for debugging in containers or remote envs:
// "runtimeArgs": ["--remote-debugging-port=9222","--no-first-run","--no-default-browser-check"]
},
{
// Attach to an existing Chrome instance with --remote-debugging-port=9222
"type": "chrome",
"request": "attach",
"name": "Attach to Chrome (remote) on port 9222",
"port": 9222,
"webRoot": "${workspaceFolder}/networkbuster.net"
},
{
// Use this to launch Microsoft Edge (Chromium) if preferred
"type": "msedge",
"request": "launch",
"name": "Launch Edge against localhost",
"url": "http://networkbuster.net",
"webRoot": "${workspaceFolder}/networkbuster.net",
}
]
}
3 changes: 3 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
# Owner: Andrew T. Middleton <[email protected]> (unverified)
# GitHub: @cleanskiier27
* @devcontainers/maintainers
* @cleanskiier27
9 changes: 9 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# Code of Conduct

This project adopts the Contributor Covenant v2.1 as its Code of Conduct.

Be respectful, inclusive, and professional in all discussions and contributions.

If you experience or witness unacceptable behavior, please contact the repository owner: [email protected].

Full text and enforcement policy should be considered part of this repository's governance.
# Microsoft Open Source Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
Expand Down
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# Contributing

Thanks for your interest in contributing to NetworkBuster's entry for the NASA Luna Recycle Challenge.

Before contributing please:

1. Read the `CODE_OF_CONDUCT.md` and abide by it.
2. Confirm you are willing to license your contributions under the project's license (Apache-2.0).
3. If making a non-trivial contribution, sign the `CONTRIBUTOR_LICENSE_AGREEMENT.md` and submit it to the repository owner (see contact in `README.md`).
4. Update `THIRD_PARTY_NOTICES.md` for any new dependency you add and include upstream license text under `docs/third-party/` as necessary.

Submitting changes

- Fork the repository and open a pull request against `main`.
- For large or design-affecting changes, open an Issue first to discuss.
- Include tests or a reproducible demo when possible.

CLA / Contributor Agreement

We ask contributors to sign a simple contributor license agreement. A template is provided in `CONTRIBUTOR_LICENSE_AGREEMENT.md`. Signing helps simplify redistribution and compliance when submitting code that might be included in public releases.
# How to Contribute to the Dev Container Specification

We're excited for your contributions to the dev container specification! This document outlines how you can get involved.
Expand Down
17 changes: 17 additions & 0 deletions CONTRIBUTOR_LICENSE_AGREEMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Contributor License Agreement (Template)

By signing this document you (the "Contributor") certify that you are entitled to contribute the code, documentation or other materials you submit to this repository and that you license them under the repository license (Apache License 2.0).

Please fill in the details below, sign and submit a copy to the project owner (see `README.md`).

- Contributor name: ___________________________
- Email: ___________________________
- Organization (if any): ______________________
- Date: ___________________________

I hereby grant NetworkBuster a perpetual, worldwide, non-exclusive, royalty-free license to use, reproduce, prepare derivative works of, publicly display, publicly perform and distribute my contribution under the terms of the Apache License 2.0.

Signature: ___________________________

Notes:
- This template is provided for convenience and is not legal advice. If you require a different form of agreement, consult legal counsel.
107 changes: 106 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,109 @@
Attribution 4.0 International
 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses).

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

Copyright 2025 NetworkBuster / Andrew T. Middleton

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.

Attribution 4.0 International

=======================================================================

Expand Down
6 changes: 6 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
NetworkBuster / Andrew T. Middleton

This project is distributed under the Apache License, Version 2.0.

If third-party components require attribution, their notices will be added
to this file and to `THIRD_PARTY_NOTICES.md` prior to release.
38 changes: 37 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
# Development Containers
# NASA Luna Recycle Challenge — NetworkBuster

Authors: Andrew T. Middleton (NetworkBuster) <[email protected]>

Project for the NASA Luna Recycle Challenge. This repository contains the source, documentation and contributor materials for NetworkBuster's submission to the challenge.

## About

This project is a prototype system and research effort to help meet the goals of the NASA Luna Recycle Challenge. It contains design notes, code samples, integration guidance and the legal/third-party notices necessary to distribute the software.

## Status

- Draft / Initial repository scaffold
- License: Apache License 2.0 (see `LICENSE`)

## Repository layout

- `src/` — source code and prototypes
- `docs/` — design notes and supporting documentation
- `THIRD_PARTY_NOTICES.md` — third-party dependencies & license information
- `CONTRIBUTING.md` — contribution guide and CLA information
- `CONTRIBUTOR_LICENSE_AGREEMENT.md` — contributor agreement template
- `.github/` — issue and PR templates

## How to contribute

See `CONTRIBUTING.md` for contribution process, code of conduct, and CLA instructions. Major contributions should include an updated `THIRD_PARTY_NOTICES.md` entry for any new dependency and explicit license verification.

## Contact

Andrew T. Middleton — NetworkBuster

Email: [email protected]

## License

This project is licensed under the Apache License, Version 2.0. See `LICENSE` for details.# Development Containers

This repository is for the Development Container Specification. You can check out the spec on our website https://containers.dev/ too.

Expand Down
65 changes: 65 additions & 0 deletions THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Third-Party Notices

This file records third-party software included in this repository and the licenses that apply.

Before any public release or distribution, ensure this file is complete and accurate.

## How to maintain

- Add one line per dependency including package name, version, license, and a short justification for inclusion.
- For compiled/bundled artifacts include the upstream license text or a pointer if required.

## Example entry

| Component | Version | License | Notes |
| --- | --- | --- | --- |
| example-lib | 1.2.3 | MIT | Used for data formatting; include MIT text in `docs/third-party/` if required. |

## Current status

No third-party runtime dependencies recorded yet in this repository.

### Automated scan (repo scan performed)

- Scanned for common manifest files: `package.json`, `package-lock.json`, `yarn.lock`, `requirements.txt`, `Pipfile`, `pyproject.toml`, `setup.py`, `Cargo.toml`.
- Result: No dependency manifest files were found in the repository at the time of the scan.

If your project uses a package manager, add the relevant manifest files (for example `package.json`, `requirements.txt`, or `pyproject.toml`) to the repository and I can re-run the scan and populate this file with detected dependencies and their license fields.

## How to produce a dependency inventory locally

Run one of the following in your project workspace and paste the output here, or commit the manifest files to the repo and I will scan them automatically:

- Node.js (npm):

```bash
npm ls --all --json > dependency-tree-npm.json
```

- Python (pip):

```bash
pipdeptree --json-tree > dependency-tree-pip.json
```

- Python (requirements):

```bash
pip freeze > requirements.txt
```

- Rust (cargo):

```bash
cargo tree --prefix none --format json > dependency-tree-cargo.json
```

After generating inventories, update this file with the dependency list and include license information for each entry. If you prefer, commit the generated manifests and I will update `THIRD_PARTY_NOTICES.md` automatically.

## Required steps before release

1. Run dependency inventory (e.g., `npm ls --all`, `pipdeptree`, `cargo tree`) and add every direct dependency.
2. For each dependency, confirm license compatibility with Apache-2.0.
3. For any dependency requiring attribution or NOTICE entries, add them to `NOTICE`.
4. If any dependency requires a contributor agreement or special redistribution permission, do not ship until the obligation is satisfied.

3 changes: 3 additions & 0 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This `src/` folder contains prototypes and code for the NASA Luna Recycle Challenge submission by NetworkBuster.

Add your code under language-specific subfolders (e.g. `src/python/`, `src/js/`) and update `THIRD_PARTY_NOTICES.md` when adding dependencies.