mirror of
https://github.com/ludo-technologies/pyscn.git
synced 2025-10-06 00:59:45 +03:00
chore: prepare for public repo\n\n- Remove tracked binaries and embedded venv\n- Add SECURITY.md and CODE_OF_CONDUCT.md\n- Update .gitignore to prevent binaries/env from reappearing\n- Fix Makefile to use pyscn module and binary\n- Align CONTRIBUTING links with ludo-technologies/pyscn\n- Update README distribution note (#75)
Co-authored-by: DaisukeYoda <daisukeyoda@users.noreply.github.com>
This commit is contained in:
9
.gitignore
vendored
9
.gitignore
vendored
@@ -18,6 +18,9 @@ go.work
|
|||||||
vendor/
|
vendor/
|
||||||
|
|
||||||
# Build output
|
# Build output
|
||||||
|
/pyscn
|
||||||
|
/pyscan
|
||||||
|
/pyscn.exe
|
||||||
/pyqol
|
/pyqol
|
||||||
/dist/
|
/dist/
|
||||||
/build/
|
/build/
|
||||||
@@ -56,6 +59,10 @@ venv/
|
|||||||
.venv/
|
.venv/
|
||||||
env/
|
env/
|
||||||
.env/
|
.env/
|
||||||
|
python/scripts/upload_env/
|
||||||
|
|
||||||
|
# Python packaged binaries (built during wheel creation)
|
||||||
|
python/src/pyscn/bin/
|
||||||
|
|
||||||
# Temporary files
|
# Temporary files
|
||||||
*.tmp
|
*.tmp
|
||||||
@@ -72,4 +79,4 @@ env/
|
|||||||
# Internal documentation (sensitive/private)
|
# Internal documentation (sensitive/private)
|
||||||
requirements.md
|
requirements.md
|
||||||
AGENTS.md
|
AGENTS.md
|
||||||
CLAUDE.md
|
CLAUDE.md
|
||||||
|
|||||||
8
CODE_OF_CONDUCT.md
Normal file
8
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Code of Conduct
|
||||||
|
|
||||||
|
We follow the Contributor Covenant Code of Conduct to foster an open and welcoming community.
|
||||||
|
|
||||||
|
https://www.contributor-covenant.org/version/2/1/code_of_conduct/
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported via GitHub issues or privately to the maintainers. Reports will be reviewed and addressed promptly and fairly.
|
||||||
|
|
||||||
@@ -25,8 +25,8 @@ Enhancement suggestions are tracked as GitHub issues. Create an issue using the
|
|||||||
|
|
||||||
Unsure where to begin contributing? You can start by looking through these `good-first-issue` and `help-wanted` issues:
|
Unsure where to begin contributing? You can start by looking through these `good-first-issue` and `help-wanted` issues:
|
||||||
|
|
||||||
- [Good first issues](https://github.com/pyscn/pyscn/labels/good%20first%20issue) - issues which should only require a few lines of code
|
- [Good first issues](https://github.com/ludo-technologies/pyscn/labels/good%20first%20issue) - issues which should only require a few lines of code
|
||||||
- [Help wanted issues](https://github.com/pyscn/pyscn/labels/help%20wanted) - issues which should be a bit more involved
|
- [Help wanted issues](https://github.com/ludo-technologies/pyscn/labels/help%20wanted) - issues which should be a bit more involved
|
||||||
|
|
||||||
## Development Process
|
## Development Process
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ git clone https://github.com/YOUR_USERNAME/pyscn.git
|
|||||||
cd pyscn
|
cd pyscn
|
||||||
|
|
||||||
# Add upstream remote
|
# Add upstream remote
|
||||||
git remote add upstream https://github.com/pyscn/pyscn.git
|
git remote add upstream https://github.com/ludo-technologies/pyscn.git
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
go mod download
|
go mod download
|
||||||
@@ -124,4 +124,4 @@ Feel free to open an issue with your question or reach out to the maintainers di
|
|||||||
|
|
||||||
## Recognition
|
## Recognition
|
||||||
|
|
||||||
Contributors will be recognized in our README and release notes. Thank you for your contributions!
|
Contributors will be recognized in our README and release notes. Thank you for your contributions!
|
||||||
|
|||||||
38
Makefile
38
Makefile
@@ -1,8 +1,8 @@
|
|||||||
# Makefile for pyqol
|
# Makefile for pyscn
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
BINARY_NAME := pyqol
|
BINARY_NAME := pyscn
|
||||||
GO_MODULE := github.com/pyqol/pyqol
|
GO_MODULE := github.com/ludo-technologies/pyscn
|
||||||
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||||
COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||||
DATE := $(shell date +%Y-%m-%d)
|
DATE := $(shell date +%Y-%m-%d)
|
||||||
@@ -10,7 +10,7 @@ LDFLAGS := -ldflags "-s -w \
|
|||||||
-X '$(GO_MODULE)/internal/version.Version=$(VERSION)' \
|
-X '$(GO_MODULE)/internal/version.Version=$(VERSION)' \
|
||||||
-X '$(GO_MODULE)/internal/version.Commit=$(COMMIT)' \
|
-X '$(GO_MODULE)/internal/version.Commit=$(COMMIT)' \
|
||||||
-X '$(GO_MODULE)/internal/version.Date=$(DATE)' \
|
-X '$(GO_MODULE)/internal/version.Date=$(DATE)' \
|
||||||
-X '$(GO_MODULE)/internal/version.BuiltBy=make'"
|
-X '$(GO_MODULE)/internal/version.BuiltBy=make'"
|
||||||
|
|
||||||
# Colors for output
|
# Colors for output
|
||||||
GREEN := \033[0;32m
|
GREEN := \033[0;32m
|
||||||
@@ -30,7 +30,7 @@ all: test build
|
|||||||
## build: Build the binary
|
## build: Build the binary
|
||||||
build:
|
build:
|
||||||
@echo "$(GREEN)Building $(BINARY_NAME) $(VERSION)...$(NC)"
|
@echo "$(GREEN)Building $(BINARY_NAME) $(VERSION)...$(NC)"
|
||||||
go build $(LDFLAGS) -o $(BINARY_NAME) ./cmd/pyqol
|
go build $(LDFLAGS) -o $(BINARY_NAME) ./cmd/pyscn
|
||||||
|
|
||||||
## test: Run tests
|
## test: Run tests
|
||||||
test:
|
test:
|
||||||
@@ -60,11 +60,11 @@ clean:
|
|||||||
## install: Install the binary
|
## install: Install the binary
|
||||||
install: build
|
install: build
|
||||||
@echo "$(GREEN)Installing $(BINARY_NAME)...$(NC)"
|
@echo "$(GREEN)Installing $(BINARY_NAME)...$(NC)"
|
||||||
go install $(LDFLAGS) ./cmd/pyqol
|
go install $(LDFLAGS) ./cmd/pyscn
|
||||||
|
|
||||||
## run: Run the application
|
## run: Run the application
|
||||||
run:
|
run:
|
||||||
go run $(LDFLAGS) ./cmd/pyqol
|
go run $(LDFLAGS) ./cmd/pyscn
|
||||||
|
|
||||||
## version: Show version information
|
## version: Show version information
|
||||||
version:
|
version:
|
||||||
@@ -106,18 +106,18 @@ build-all: build-linux build-darwin build-windows
|
|||||||
|
|
||||||
build-linux:
|
build-linux:
|
||||||
@echo "$(GREEN)Building for Linux...$(NC)"
|
@echo "$(GREEN)Building for Linux...$(NC)"
|
||||||
GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-amd64 ./cmd/pyqol
|
GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-amd64 ./cmd/pyscn
|
||||||
GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-arm64 ./cmd/pyqol
|
GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-arm64 ./cmd/pyscn
|
||||||
|
|
||||||
build-darwin:
|
build-darwin:
|
||||||
@echo "$(GREEN)Building for macOS...$(NC)"
|
@echo "$(GREEN)Building for macOS...$(NC)"
|
||||||
GOOS=darwin GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-amd64 ./cmd/pyqol
|
GOOS=darwin GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-amd64 ./cmd/pyscn
|
||||||
GOOS=darwin GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-arm64 ./cmd/pyqol
|
GOOS=darwin GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-arm64 ./cmd/pyscn
|
||||||
|
|
||||||
build-windows:
|
build-windows:
|
||||||
@echo "$(GREEN)Building for Windows...$(NC)"
|
@echo "$(GREEN)Building for Windows...$(NC)"
|
||||||
GOOS=windows GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-amd64.exe ./cmd/pyqol
|
GOOS=windows GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-amd64.exe ./cmd/pyscn
|
||||||
GOOS=windows GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-arm64.exe ./cmd/pyqol
|
GOOS=windows GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-arm64.exe ./cmd/pyscn
|
||||||
|
|
||||||
# Python packaging
|
# Python packaging
|
||||||
## build-python: Build Python wheels with embedded binaries
|
## build-python: Build Python wheels with embedded binaries
|
||||||
@@ -128,21 +128,21 @@ build-python:
|
|||||||
## python-wheel: Build Python wheel for current platform only
|
## python-wheel: Build Python wheel for current platform only
|
||||||
python-wheel:
|
python-wheel:
|
||||||
@echo "$(GREEN)Building Python wheel for current platform...$(NC)"
|
@echo "$(GREEN)Building Python wheel for current platform...$(NC)"
|
||||||
@mkdir -p python/src/pyqol/bin dist
|
@mkdir -p python/src/pyscn/bin dist
|
||||||
go build $(LDFLAGS) -o python/src/pyqol/bin/pyqol-$$(go env GOOS)-$$(go env GOARCH)$$(if [ "$$(go env GOOS)" = "windows" ]; then echo ".exe"; fi) ./cmd/pyqol
|
go build $(LDFLAGS) -o python/src/pyscn/bin/pyscn-$$(go env GOOS)-$$(go env GOARCH)$$(if [ "$$(go env GOOS)" = "windows" ]; then echo ".exe"; fi) ./cmd/pyscn
|
||||||
python/scripts/create_wheel.sh
|
python/scripts/create_wheel.sh
|
||||||
|
|
||||||
## python-test: Test Python package installation
|
## python-test: Test Python package installation
|
||||||
python-test: python-wheel
|
python-test: python-wheel
|
||||||
@echo "$(GREEN)Testing Python package...$(NC)"
|
@echo "$(GREEN)Testing Python package...$(NC)"
|
||||||
pip install --force-reinstall dist/*.whl
|
pip install --force-reinstall dist/*.whl
|
||||||
@echo "$(GREEN)Testing pyqol command...$(NC)"
|
@echo "$(GREEN)Testing pyscn command...$(NC)"
|
||||||
pyqol --version || pyqol --help
|
pyscn --version || pyscn --help
|
||||||
|
|
||||||
## python-clean: Clean Python build artifacts
|
## python-clean: Clean Python build artifacts
|
||||||
python-clean:
|
python-clean:
|
||||||
@echo "$(YELLOW)Cleaning Python build artifacts...$(NC)"
|
@echo "$(YELLOW)Cleaning Python build artifacts...$(NC)"
|
||||||
rm -rf python/src/pyqol/bin
|
rm -rf python/src/pyscn/bin
|
||||||
rm -rf dist
|
rm -rf dist
|
||||||
rm -rf build
|
rm -rf build
|
||||||
rm -rf *.egg-info
|
rm -rf *.egg-info
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -18,8 +18,9 @@ All analyses are available as dedicated commands and via a unified analyze comma
|
|||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install via pip (recommended)
|
# Install via pip or uv
|
||||||
pip install pyscn
|
pip install pyscn
|
||||||
|
# or: uv add pyscn
|
||||||
|
|
||||||
# Fast quality check (CI-friendly)
|
# Fast quality check (CI-friendly)
|
||||||
pyscn check .
|
pyscn check .
|
||||||
@@ -186,13 +187,17 @@ Notes:
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Install via pip (recommended for Python users)
|
### Install via pip or uv (recommended for Python users)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Using pip
|
||||||
pip install pyscn
|
pip install pyscn
|
||||||
|
|
||||||
|
# Using uv (faster, modern Python package manager)
|
||||||
|
uv add pyscn
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Note**: The package is registered on PyPI but will be available once the repository is made public.
|
> Note: pyscn is available on PyPI and GitHub Releases.
|
||||||
|
|
||||||
If you prefer to build wheels locally (e.g., for development), see the Python section below.
|
If you prefer to build wheels locally (e.g., for development), see the Python section below.
|
||||||
|
|
||||||
|
|||||||
17
SECURITY.md
Normal file
17
SECURITY.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
## Security Policy
|
||||||
|
|
||||||
|
We take security seriously and appreciate responsible disclosure of vulnerabilities.
|
||||||
|
|
||||||
|
Reporting a vulnerability:
|
||||||
|
- Prefer GitHub Security Advisories: open a private report under the "Security" tab of the repository.
|
||||||
|
- If you cannot use advisories, open a minimal issue without sensitive details and request a maintainer to start a private thread.
|
||||||
|
|
||||||
|
Please include:
|
||||||
|
- A clear description of the issue and impact
|
||||||
|
- Steps to reproduce (PoC) and affected versions/platforms
|
||||||
|
- Suggested mitigations if known
|
||||||
|
|
||||||
|
We aim to acknowledge reports within 3 business days and provide status updates until resolution.
|
||||||
|
|
||||||
|
Do not disclose vulnerabilities publicly until a fix is released and coordinated disclosure has been agreed.
|
||||||
|
|
||||||
Reference in New Issue
Block a user