diff --git a/crates/turborepo-filewatch/src/debouncer.rs b/crates/turborepo-filewatch/src/debouncer.rs
new file mode 100644
index 00000000000000..0f169b2d715b63
--- /dev/null
+++ b/crates/turborepo-filewatch/src/debouncer.rs
@@ -0,0 +1,127 @@
+use std::{fmt::Debug, sync::Mutex, time::Duration};
+
+use tokio::{select, sync, time::Instant};
+use tracing::trace;
+
+pub(crate) struct Debouncer {
+ bump: sync::Notify,
+ serial: Mutex