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
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
[package]
name = "core-console"
version = "0.0.0"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
license = "MIT"
repository = "https://github.com/core-rs/core-console"
documentation = "https://docs.rs/core-console"
description = "Automatic terminal and JSON diagnostics for tracing"
keywords = ["logging", "tracing", "console", "diagnostics"]
categories = ["development-tools::debugging"]
readme = "readme.md"
include = ["src/**", "context/**", "design/**", "examples/**", "Cargo.toml", "readme.md", "license.md", "releases.md"]

Expand All @@ -20,7 +23,7 @@ manifest = "bake/Cargo.toml"
reviewers = ["core-rs/maintainers"]

[dependencies]
serde_json = { version = "1", features = ["arbitrary_precision"] }
serde_json = { version = "1.0.154", features = ["arbitrary_precision"] }
tracing = { version = "0.1.44", default-features = false, features = ["std"] }
tracing-error = "0.2.1"
tracing-log = "0.2"
Expand Down
4 changes: 3 additions & 1 deletion bake/src/bake_generated_tasks/mod.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Generated by `cargo bake --regenerate`; do not edit.
// Released under the MIT License.
// Copyright, 2026, by Samuel Williams.

// Generated by `cargo bake --regenerate`; do not edit.
use core_project as _;
31 changes: 25 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Core Console
# `core-console`

Automatic terminal and JSON diagnostics for Rust applications using `tracing`.

Console chooses coloured, human-readable output when stderr is a terminal and newline-delimited JSON when it is redirected. Both formats preserve event fields, nested span context, and typed errors with their causes. Libraries continue using `tracing` directly; the application chooses its subscriber.

## Usage

This is a local prototype. Add the checkout and `tracing` to an application:
Add Console and `tracing` to an application:

```sh
cargo add core-console --path ../core-console
cargo add core-console
cargo add tracing
```

Expand Down Expand Up @@ -88,11 +88,30 @@ cargo clippy --workspace --all-targets -- -D warnings
cargo bake test:coverage --all-targets true
```

### Agent Context
## Releasing

Run `cargo bake agent:context:install` to install shared context and skills. Use `cargo bake agent:context:list` and `cargo bake agent:context:show` to discover guidance. Follow `agents.md` and the installed skills under `.agents/skills/`.
Prepare a release with `cargo bake cargo:version:patch` (or `minor`, `major`, or `bump --version X.Y.Z`), commit it with a `Release: vVERSION` trailer, then run `cargo bake cargo:release` and open a pull request. After review and merge, GitHub Actions publishes the release when the configured `crates-io` environment approves it, then creates or updates the matching GitHub Release from `releases.md`. Follow the shared [Releasing skill](https://github.com/core-rs/core-project/blob/main/context/releasing.md) for the standard process.

## Releases

See [releases.md](releases.md) for the initial implementation status.
<!-- bake-readme:releases:start -->
See [releases.md](releases.md) for the full release history.

### v0.1.0

- Choose terminal text or newline-delimited JSON automatically for `tracing` events.
- Preserve typed fields, span context, and error causes through composable or scoped subscribers.
- Capture failures with optional OS backtraces and logical span traces for later reporting.
- Follow Rust logging conventions with panicking `init` and fallible `try_init` functions and builder methods.
<!-- bake-readme:releases:end -->

## See Also

- [`tracing`](https://docs.rs/tracing) provides structured events and spans.
- [`tracing-subscriber`](https://docs.rs/tracing-subscriber) provides subscriber composition and filtering.

## Contributing

Please open an issue or pull request on [GitHub](https://github.com/core-rs/core-console).

Run `cargo bake agent:context:install` to install shared context and skills for development. Use `cargo bake agent:context:list` and `cargo bake agent:context:show` to discover guidance. Follow `agents.md` and the installed skills under `.agents/skills/`.
3 changes: 1 addition & 2 deletions releases.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# Releases

## Unreleased
## v0.1.0

- Choose terminal text or newline-delimited JSON automatically for `tracing` events.
- Preserve typed fields, span context, and error causes through composable or scoped subscribers.
- Capture failures with optional OS backtraces and logical span traces for later reporting.
- Follow Rust logging conventions with panicking `init` and fallible `try_init` functions and builder methods.

1 change: 0 additions & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
//! core_console::init();
//! tracing::info!(connections = 3_u64, "Server started");
//! ```

mod as_console_error;
mod console;
mod console_fields;
Expand Down
Loading