4. scriptcs.net
Who is scriptcs?
Community (!)
Coordinators
Glenn Block (@glennblock)
Justin Rusbatch (@jrusbatch)
Filip Wojcieszyn (@filip_woj)
Core Commiters
Damian Schenkelman (@dschenkelman)
Kristian Hellang (@khellang)
5. scriptcs.net
Metrics
525 watchers
110 forks
142 pull requests
29 unique contributors
14 community contributed script packs (extensions)
Currently at v0.5
6. scriptcs.net
Khalid AbuhakmehIan Battersby Nick Berardi Glenn Block Scott Blomquist Danielle Boldt Tim Erickson
Jonas Follesø Victor Grigoriu Andreas Håkansson Kristian Hellang lbargaoanu Denis Mentey John
Nelson Alexander Nyquist David Pendray Aaron Powell Adam Ralph Justin Rusbatch Damian
Schenkleman Paul Shmakov Lodewijk Sioen Brandon Stirnaman Paul Stovell Patrik Svensson Kevin
Trethewey Michael Wade Filip Wojcieszyn Matt Wrock
Contributors
7. scriptcs.net
What is scriptcs?
OSS project enabling rich C# scripting experience
Script and execute -or- use REPL
Robust extensibility model
Low ceremony, lightweight
Use your favorite text editor
No compilation/projects/solutions
Built on top of Nuget & Roslyn (no hard dependencies)
10. scriptcs.net
Key scriptcs features
Relaxed C# syntax & code semantics
As defined in “Interactive C#/VB REPL and Script - Code
Semantics Spec“ white paper
REPL
Node.js-like extensibility model (script packs)
Debug & step through in Visual Studio
Sublime text plugin
Scriptcs.Core available as a hostable service
Nuget integration
19. scriptcs.net
Script code semantics
No top level class
No arbitrary namespaces
No Main method
Global functions allowed
Script packs accessible through Require<T>
#load directive to load script from script
#r directive to reference an assembly from script
29. scriptcs.net
scriptcs Nuget integration
Developed to work around nuget.exe limitations
scriptcs –install
Gets all packages from packages.config with dependencies
scriptcs –install <package name>
Gets specific package with dependencies
scriptcs –save
Creates packages.config based on packages folder
scriptcs –clean
Gets rid of packages folder and unnecessary binaries
33. scriptcs.net
Get scriptcs
CLI distributed via Chocolatey
cinst scriptcs
Libs available on Nuget
Nightly builds on MyGet
Build from source
github.com/scriptcs
34. scriptcs.net
What’s next?
Pluggable CLI commands
Pluggable REPL commands
Export to Visual Studio solution
Mono support
Script packs as scripts
ScriptCatalog – extend applications (MEF) with scriptcs
Improved ScriptCs.Core API