diff --git a/Cargo.lock b/Cargo.lock index 3956f207..d4fa92d9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -134,7 +134,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -145,7 +145,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -205,11 +205,11 @@ dependencies = [ [[package]] name = "axum" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ - "axum-core 0.5.5", + "axum-core 0.5.6", "base64", "bytes", "form_urlencoded", @@ -262,9 +262,9 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", @@ -405,9 +405,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.49" +version = "1.2.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" +checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" dependencies = [ "find-msvc-tools", "shlex", @@ -473,9 +473,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.62" +version = "4.5.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004eef6b14ce34759aa7de4aea3217e368f463f46a3ed3764ca4b5a4404003b4" +checksum = "4c0da80818b2d95eca9aa614a30783e42f62bf5fdfee24e68cfb960b071ba8d1" dependencies = [ "clap", ] @@ -489,7 +489,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -624,7 +624,7 @@ dependencies = [ "document-features", "mio", "parking_lot", - "rustix 1.1.2", + "rustix 1.1.3", "signal-hook", "signal-hook-mio", "winapi", @@ -679,7 +679,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -713,7 +713,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -726,7 +726,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -737,7 +737,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -748,7 +748,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -790,7 +790,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -800,29 +800,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] name = "derive_more" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version", - "syn 2.0.111", + "syn 2.0.112", "unicode-xid", ] @@ -871,7 +871,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -885,9 +885,9 @@ dependencies = [ [[package]] name = "dtoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" [[package]] name = "dtoa-short" @@ -1064,9 +1064,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" +checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" [[package]] name = "finl_unicode" @@ -1233,7 +1233,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -1710,7 +1710,7 @@ dependencies = [ "indoc", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -1721,9 +1721,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ "memchr", "serde", @@ -1774,15 +1774,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" +checksum = "a87d9b8105c23642f50cbbae03d1f75d8422c5cb98ce7ee9271f7ff7505be6b8" dependencies = [ "jiff-static", "log", @@ -1793,13 +1793,13 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" +checksum = "b787bebb543f8969132630c51fd0afab173a86c6abae56ff3b9e5e3e3f9f6e58" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -1873,13 +1873,13 @@ checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libredox" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ "bitflags 2.10.0", "libc", - "redox_syscall 0.6.0", + "redox_syscall 0.7.0", ] [[package]] @@ -1999,7 +1999,7 @@ checksum = "ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -2043,7 +2043,7 @@ checksum = "93c284d2855916af7c5919cf9ad897cfc77d3c2db6f55429c7cfb769182030ec" dependencies = [ "ammonia", "anyhow", - "axum 0.8.7", + "axum 0.8.8", "chrono", "clap", "clap_complete", @@ -2256,7 +2256,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -2418,7 +2418,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -2471,7 +2471,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -2500,7 +2500,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -2517,9 +2517,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" [[package]] name = "portable-atomic-util" @@ -2562,9 +2562,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0" dependencies = [ "unicode-ident", ] @@ -2821,9 +2821,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96166dafa0886eb81fe1c0a388bece180fbef2135f97c1e2cf8302e74b43b5" +checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" dependencies = [ "bitflags 2.10.0", ] @@ -2856,7 +2856,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -2890,9 +2890,9 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "reqwest" -version = "0.12.26" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b4c14b2d9afca6a60277086b0cc6a6ae0b568f6f7916c943a8cdc79f8be240f" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64", "bytes", @@ -2981,7 +2981,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3014,9 +3014,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ "bitflags 2.10.0", "errno", @@ -3068,9 +3068,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" [[package]] name = "sacp" @@ -3138,7 +3138,7 @@ checksum = "92150f9246c01d501855e34469810a82adc27c416c8d8e21665567f8cd966f29" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3215,9 +3215,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" dependencies = [ "chrono", "dyn-clone", @@ -3229,14 +3229,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301858a4023d78debd2353c7426dc486001bddc91ae31a76fb1f55132f7e2633" +checksum = "4908ad288c5035a8eb12cfdf0d49270def0a268ee162b75eeee0f85d155a7c45" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3288,7 +3288,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3299,20 +3299,20 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "3084b546a1dd6289475996f182a22aba973866ea8e8b02c51d9f46b1336a22da" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -3424,10 +3424,11 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.7" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -3582,7 +3583,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3733,9 +3734,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.111" +version = "2.0.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "21f182278bf2d2bcb3c88b1b08a37df029d71ce3d3ae26168e3c653b213b99d4" dependencies = [ "proc-macro2", "quote", @@ -3759,7 +3760,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3775,14 +3776,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.23.0" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ "fastrand", "getrandom 0.3.4", "once_cell", - "rustix 1.1.2", + "rustix 1.1.3", "windows-sys 0.61.2", ] @@ -3803,7 +3804,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.1.2", + "rustix 1.1.3", "windows-sys 0.60.2", ] @@ -3896,7 +3897,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -3907,7 +3908,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -4002,7 +4003,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -4196,7 +4197,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -4484,7 +4485,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", "wasm-bindgen-shared", ] @@ -4745,7 +4746,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -4756,7 +4757,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -5091,7 +5092,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.2", + "rustix 1.1.3", ] [[package]] @@ -5113,7 +5114,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", "synstructure", ] @@ -5148,7 +5149,7 @@ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] [[package]] @@ -5168,7 +5169,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", "synstructure", ] @@ -5208,5 +5209,11 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.112", ] + +[[package]] +name = "zmij" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac060176f7020d62c3bcc1cdbcec619d54f48b07ad1963a3f80ce7a0c17755f" diff --git a/md/SUMMARY.md b/md/SUMMARY.md index 7cad5b64..ceb84cbd 100644 --- a/md/SUMMARY.md +++ b/md/SUMMARY.md @@ -12,8 +12,11 @@ - [Introduction](./introduction.md) - [About](./about.md) - - [Rust Crate Sources Tool](./rust-expertise.md) - - [Rich Collaboration](./rich-collaboration.md) +- [How it works](./how-it-works.md) +- [How to install](./install.md) + - [VSCode](./install-vscode.md) + - [Other editors](./install-other.md) +- [How to contribute](./contribute.md) # Design and implementation diff --git a/md/about.md b/md/about.md index ae7c6886..6bc47db6 100644 --- a/md/about.md +++ b/md/about.md @@ -1,43 +1,36 @@ -# About Symposium +# What we want to achieve -Symposium is a set of components that make AI agents work better. These components are compatible with any ACP-based editing system, including Zed, VSCode (with our plugin), and IntelliJ and NeoVim (coming soon). +You fire up your agent of choice through Symposium. It has a more collaborative style, remembers the way you like to work. It knows about your dependencies and incorporates advice supplied by the crate authors on how best to use them. You can install extensions that transform the agent — new skills, new MCP servers, or more advanced capabilities like custom GUI interfaces and new ways of working. -We focus on three areas: +## AI the Rust Way -
+Symposium brings Rust's design philosophy to AI-assisted development. -
-

Rust Expertise

-

Built-in capabilities for understanding Rust language, errors, and idioms.

- -
+
-
-

Ecosystem-Powered Knowledge

-

Crate authors provide specialized AI tooling through Cargo.toml metadata, bringing domain knowledge directly to the agent.

-
    -
  • Crate-provided skills, context, and capabilities
  • -
-
+
+

Leverage the wisdom of the crowd crates.io

+ +Rust embraces a small stdlib and a rich crate ecosystem. Symposium brings that philosophy to AI: your dependencies can teach your agent how to use them. Add a crate, and your agent learns its idioms, patterns, and best practices. + +Beyond crate knowledge, we want to make it easy to publish agent extensions that others can try out and adopt just by adding a line to their configuration — the same way you'd add a dependency to `Cargo.toml`. -
-

Rich Collaboration

-

Interactive patterns for human-AI partnership beyond simple text exchanges.

-
+
+

Stability without stagnation

+ +Rust evolves quickly and agents' training data goes stale. Symposium helps your agent take advantage of the latest Rust features and learn how to use new or private crates — things not found in its training data. + +We provide guides and context that keep models up-to-date, helping them write idiomatic Rust rather than JavaScript-in-disguise. +
-## Open Source Community +
+

Open, portable, and vendor neutral

-Symposium is an open-source project and we are actively soliciting [contributors](./contribute.md). We welcome users as well, but given the exploratory nature of Symposium, expect frequent changes. Currently, the only way to install Symposium is from source. +Open source tools that everyone can improve. Build extensions once, use them with any ACP-compatible agent. No vendor lock-in. -We maintain a [code of conduct](https://github.com/symposium-dev/symposium/blob/main/CODE_OF_CONDUCT.md) and operate as an independent community focused on exploring what AI has to offer for software development. +
+ +
diff --git a/md/artwork/logos/rustrover.png b/md/artwork/logos/rustrover.png new file mode 100644 index 00000000..bfe36ec6 Binary files /dev/null and b/md/artwork/logos/rustrover.png differ diff --git a/md/artwork/logos/vscode.png b/md/artwork/logos/vscode.png new file mode 100644 index 00000000..f104f20a Binary files /dev/null and b/md/artwork/logos/vscode.png differ diff --git a/md/artwork/logos/zed.png b/md/artwork/logos/zed.png new file mode 100644 index 00000000..56c3df43 Binary files /dev/null and b/md/artwork/logos/zed.png differ diff --git a/md/contribute.md b/md/contribute.md new file mode 100644 index 00000000..6b606adc --- /dev/null +++ b/md/contribute.md @@ -0,0 +1,19 @@ +# How to contribute + +Symposium is an open-source project in active development. We're iterating heavily and welcome collaborators who want to shape where this goes. + +## Come chat with us + +The best way to get involved is to join us on [Zulip](https://symposium.zulipchat.com/). We use it for design discussions, coordination, and general conversation about AI-assisted development. + +Drop in, say hello, and tell us what you're interested in working on. + +## The codebase + +The code lives at [github.com/symposium-dev/symposium](https://github.com/symposium-dev/symposium). + +We maintain a [code of conduct](https://github.com/symposium-dev/symposium/blob/main/CODE_OF_CONDUCT.md) and operate as an independent community exploring what AI has to offer for software development. + +## Expectations + +Given the exploratory nature of Symposium, expect frequent changes. APIs are unstable, and we're still figuring out the right abstractions. This is a good time to contribute if you want to influence the direction — but be prepared for things to shift as we learn. diff --git a/md/how-it-works.md b/md/how-it-works.md new file mode 100644 index 00000000..01dff855 --- /dev/null +++ b/md/how-it-works.md @@ -0,0 +1,30 @@ +# How it works + +Symposium is built on [ACP](https://github.com/anthropics/agent-client-protocol)'s proxy architecture. A proxy sits between your editor and your agent, observing and augmenting the conversation. This position lets it do things MCP servers can't: + +- Intercept and modify agent behavior +- Inject context based on your project's dependencies +- Coordinate multi-step workflows +- Contribute UI components to the editor + +## Current components + +### Ferris + +[Ferris](https://github.com/symposium-dev/ferris) is an MCP server that gives agents access to Rust-specific patterns and information. + +### symposium-cargo + +[symposium-cargo](https://github.com/symposium-dev/symposium-cargo) wraps the `cargo` command, capturing build output and providing it to your agent in a structured format. This gives agents better insight into compilation errors, warnings, and test results. + +### Sparkle + +[Sparkle](https://symposium-dev.github.io/sparkle/) helps agents develop collaborative working patterns. It helps agents remember how you like to work, maintain context across sessions, and engage more naturally in back-and-forth problem solving. + +## What we're experimenting with + +- **IDE operations**: Bringing language server capabilities (go-to-definition, find references, refactoring) directly to agents +- **Error explanations**: Rich, context-aware explanations of Rust compiler errors +- **Crate-provided tooling**: Allowing crate authors to ship agent capabilities alongside their libraries +- **Walkthroughs**: Interactive guided explorations of code and concepts +- **Taskspaces**: Isolated working contexts for complex multi-step tasks diff --git a/md/install-other.md b/md/install-other.md new file mode 100644 index 00000000..e277c950 --- /dev/null +++ b/md/install-other.md @@ -0,0 +1,21 @@ +# Zed, RustRover, Neovim, and other editors + +For ACP-compatible editors, install the Symposium agent binary: + +```bash +cargo binstall symposium-acp-agent +``` + +Then configure your editor to use `symposium-acp-agent` as the agent command, passing your preferred downstream agent. For example, with Claude Code: + +```bash +symposium-acp-agent -- claude-code --acp +``` + +Or with Zed's Claude integration: + +```bash +symposium-acp-agent -- npx -y @anthropic-ai/claude-code-zed +``` + +The `--` separates Symposium's arguments from the downstream agent command. diff --git a/md/install-vscode.md b/md/install-vscode.md new file mode 100644 index 00000000..0841c593 --- /dev/null +++ b/md/install-vscode.md @@ -0,0 +1,14 @@ +# VSCode and VSCode-based editors + +Install the Symposium extension from: + +- [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=symposium.symposium) +- [Open VSX Registry](https://open-vsx.org/extension/symposium/symposium) + +## Getting started + +Once installed, you'll see the Symposium icon in the Activity Bar on the left side of your editor: + +Symposium icon + +Click the icon to open the Symposium panel. From there you can select your agent and start a chat session. diff --git a/md/install.md b/md/install.md new file mode 100644 index 00000000..bcf19140 --- /dev/null +++ b/md/install.md @@ -0,0 +1,27 @@ +# How to install + + diff --git a/md/introduction.md b/md/introduction.md index 9c8d92ef..f2b3f457 100644 --- a/md/introduction.md +++ b/md/introduction.md @@ -2,12 +2,12 @@ Symposium Logo
⚠️ Pre-alpha software: may eat your laundry

-
Collaborative AI built collaboratively
+
AI the Rust Way
- \ No newline at end of file + diff --git a/theme/custom.css b/theme/custom.css index 5f2207ce..f9f49304 100644 --- a/theme/custom.css +++ b/theme/custom.css @@ -155,3 +155,51 @@ h6 { body[data-no-menu-bar] #content { padding-top: 4rem; } + +/* Editor install list */ +.editor-list { + list-style: none; + padding: 0; + margin: 2rem 0; + max-width: 400px; +} + +.editor-list li { + margin: 0; + padding: 0; +} + +.editor-list a { + display: flex; + align-items: center; + gap: 1rem; + padding: 1rem 1.5rem; + text-decoration: none; + color: inherit; + border-bottom: 1px solid #e0e0e0; + transition: background-color 0.2s ease; +} + +.editor-list li:first-child a { + border-top: 1px solid #e0e0e0; +} + +.editor-list a:hover { + background-color: #f5f5f5; +} + +.editor-list img { + width: 48px; + height: 48px; + flex-shrink: 0; +} + +.editor-list .editor-name { + font-size: 1.2rem; + font-weight: 500; +} + +.editor-list .other-editors .editor-name { + margin-left: calc(48px + 1rem); + color: #666; +} diff --git a/vscode-extension/package.json b/vscode-extension/package.json index 5d8ee060..10eb274a 100644 --- a/vscode-extension/package.json +++ b/vscode-extension/package.json @@ -1,7 +1,7 @@ { "name": "symposium", "displayName": "Symposium", - "description": "Collaborative AI built collaboratively", + "description": "AI the Rust Way", "version": "1.1.0", "publisher": "symposium-dev", "repository": { diff --git a/zed-extension/prod/extension.toml b/zed-extension/prod/extension.toml index 553898e2..548f406d 100644 --- a/zed-extension/prod/extension.toml +++ b/zed-extension/prod/extension.toml @@ -3,7 +3,7 @@ name = "Symposium" version = "1.1.0" schema_version = 1 authors = ["Niko Matsakis "] -description = "Collaborative AI with Sparkle identity and Rust crate research" +description = "AI the Rust Way" repository = "https://github.com/symposium-dev/symposium" [agent_servers.symposium]