From e04991c1f54ec0baff8ba0334549dadf35ca2e96 Mon Sep 17 00:00:00 2001 From: ddidderr Date: Sun, 11 Oct 2026 21:27:49 +0200 Subject: [PATCH] Initial project structure --- .gitignore | 1 + AGENTS.md | 19 +++++++++++++++++++ CHANGELOG.md | 7 +++++++ CLAUDE.md | 1 + Cargo.lock | 7 +++++++ Cargo.toml | 33 +++++++++++++++++++++++++++++++++ GEMINI.md | 1 + justfile | 35 +++++++++++++++++++++++++++++++++++ rustfmt.toml | 3 +++ src/main.rs | 3 +++ 10 files changed, 110 insertions(+) create mode 100644 .gitignore create mode 100644 AGENTS.md create mode 100644 CHANGELOG.md create mode 120000 CLAUDE.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 120000 GEMINI.md create mode 100644 justfile create mode 100644 rustfmt.toml create mode 100644 src/main.rs 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!"); +}