commit 8dfec20bca15c6c741f36ab7d5a3f7b344e9b059 Author: ddidderr Date: Sun Oct 11 21:27:49 2026 +0200 Initial project structure diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..015262b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,19 @@ +# Agent Instructions + +## Commit Policy + +Automatically commit changes once a full feature, bugfix, refactor, or other +coherent unit of work is finished. Do not wait for the user to ask for a commit. + +## Versioning Policy + +Only update the version, when the user explicitly asks for it. + +### Guidelines for how to update the version + +1. Use `cargo set-version` to bump the version. Decide, based on the actual + changes, based on semver semantics, if major, minor or patch needs to be + bumped. +2. Update the CHANGELOG.md file accordingly. +3. Create a release commit. +4. Tag the release commit in the style of previous versioning tags. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..62517c1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to +[Semantic Versioning](https://semver.org/spec/v2.0.0.html). diff --git a/CLAUDE.md b/CLAUDE.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..5767671 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "ghostty-rs" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..1de778d --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "ghostty-rs" +version = "0.1.0" +edition = "2024" + +[dependencies] + +[lints.clippy] +pedantic = { level = "warn", priority = -1 } +todo = "warn" +unwrap_used = "warn" + +[lints.rust] +unsafe_code = "forbid" + +[profile.release] +debug = true +strip = false +debug-assertions = true +overflow-checks = true +lto = false +panic = "unwind" +incremental = true + +[profile.production] +inherits = "release" +debug = false +strip = true +debug-assertions = false +overflow-checks = false +lto = true +incremental = false +codegen-units = 1 diff --git a/GEMINI.md b/GEMINI.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/justfile b/justfile new file mode 100644 index 0000000..8d41d09 --- /dev/null +++ b/justfile @@ -0,0 +1,35 @@ +set positional-arguments + +run *args: + cargo run -- "$@" + +build: + cargo build + +build-release: + cargo build --release + +build-production: + cargo build --profile production + +fmt: + cargo +nightly fmt + tombi format + fd -tf -e md -x prettier --write --prose-wrap always --print-width 80 + rumdl check --flavor commonmark --fix + just --fmt + +_fix: + cargo fix --workspace --all-targets --all-features + cargo clippy --fix --workspace --all-targets --all-features + +fix: _fix fmt + +clippy: + cargo clippy --workspace --all-targets --all-features -- -D warnings + +test: + cargo test --workspace --all-targets --all-features + +clean: + cargo clean diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..e270811 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,3 @@ +group_imports = "StdExternalCrate" +imports_granularity = "Crate" +imports_layout = "HorizontalVertical" diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}