Skip to content
Merged
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
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Bug report
description: Report a launcher, packaging, or desktop integration bug.
title: "[bug] "
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report this. Please include enough detail to reproduce the issue on Ubuntu without guessing.
- type: input
id: ubuntu-version
attributes:
label: Ubuntu version
placeholder: "24.04 LTS"
validations:
required: true
- type: input
id: install-path
attributes:
label: Install path
placeholder: "local install, .deb build, or custom setup"
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What happened
placeholder: Describe the actual behavior.
validations:
required: true
- type: textarea
id: expected
attributes:
label: What you expected
placeholder: Describe the expected behavior.
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction steps
placeholder: |
1. ...
2. ...
3. ...
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant logs or screenshots
description: Please redact sensitive values before posting.
placeholder: Paste short excerpts only.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Feature request
description: Suggest an improvement for launcher behavior, packaging, or provider design.
title: "[feature] "
labels:
- enhancement
body:
- type: textarea
id: problem
attributes:
label: Problem or gap
placeholder: What is missing or frustrating today?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed change
placeholder: What should happen instead?
validations:
required: true
- type: textarea
id: why
attributes:
label: Why this matters
placeholder: Tell us about the user impact, not just the implementation.
validations:
required: true
- type: dropdown
id: area
attributes:
label: Area
options:
- launcher
- packaging
- desktop integration
- provider contract
- documentation
- security
validations:
required: true
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Summary

Explain the user-facing change in a few sentences.

## Why

What problem does this solve?

## Validation

- [ ] `make test`
- [ ] `make build-deb`

## Notes

Call out security, provider-contract, or desktop-integration implications here.
21 changes: 21 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: CI

on:
push:
branches:
- main
pull_request:

jobs:
launcher:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make scripts executable
run: chmod +x launcher/codex-ubuntu scripts/*.sh tests/*.sh tests/fixtures/*
- name: Syntax checks
run: make check
- name: Smoke tests
run: make test
- name: Build Debian package
run: make build-deb
66 changes: 66 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Contributing

Thanks for helping make `codex-ubuntu` better.

This project is still early, but it is not casual about launcher safety. Small-looking changes in runtime discovery, PID handling, or browser launch behavior can break trust fast, so please read the docs before editing core flows.

## Before you open a pull request

Read:

- [README.md](README.md)
- [docs/architecture.md](docs/architecture.md)
- [docs/security.md](docs/security.md)
- [providers/contract.md](providers/contract.md)

## Local development

Recommended environment:

- Ubuntu 22.04 or 24.04
- `bash`
- `python3`
- `curl`
- `xdg-utils`

Useful commands:

```bash
make test
make build-deb
make install-local
```

## Contribution priorities

Good first contributions:

- launcher hardening
- test coverage improvements
- desktop integration polish
- packaging cleanup
- documentation that reduces ambiguity

Changes that need extra care:

- process stop or reuse logic
- provider contract changes
- token handling or logging changes
- anything that touches auth, runtime metadata, or port ownership

## Style expectations

- prefer simple Bash over clever Bash
- keep paths XDG-aware
- avoid user-specific assumptions
- document why a safety rule exists when it is not obvious
- favor honest docs over ambitious docs

## Pull request checklist

- explain the user-facing problem clearly
- mention any security or runtime-behavior impact
- include tests when behavior changes
- call out assumptions and limitations directly

If a proposed change makes the repo look better but reduces truthfulness, it is probably the wrong trade.
26 changes: 26 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
SHELL := /usr/bin/env bash

.PHONY: check validate-desktop test install-local build-deb

check: validate-desktop
bash -n launcher/codex-ubuntu
bash -n scripts/install-local.sh
bash -n scripts/build-deb.sh
bash -n tests/launcher_smoke.sh

validate-desktop:
@tmpfile="$$(mktemp --suffix=.desktop)"; \
scripts/render-desktop-file.sh "/usr/bin/codex-ubuntu" "codex-ubuntu" "$$tmpfile"; \
if command -v desktop-file-validate >/dev/null 2>&1; then \
desktop-file-validate "$$tmpfile"; \
fi; \
rm -f "$$tmpfile"

test: check
tests/launcher_smoke.sh

install-local:
scripts/install-local.sh

build-deb:
scripts/build-deb.sh
Loading
Loading