The best of ASP.NET MVC 2 and NHibernate designed to work out-of-the box (on mono)

Initial steps...


S#aml Architecture is an ASP.NET MVC 2.0 based web framework that tries to be as compatible with mono as possible.

Like web frameworks written in dynamic languages, S#aml Architecture is based around a command line utility, that allows you to create models, run tests, compile the application, create or update the database schema, and it even has an interactive console where you can toy with your domain model interactively in C# (like you could do it in Rails/Merb/Django/etc.)

Most of the unique features of S#aml Architecture are addressed in the tutorials, and for the features that are based on another library check the documentation of the other libraries.

The framework is mainly based on ASP.NET MVC, S#arp Architecture, NHibernate, Fluent NHibernate, NHaml and Compass.


S#aml Architecture is designed with mono compatibility in mind. All major functions of all major releases are tested on the following frameworks and systems:

Although mono 2.4.4 lacks a lot of functionality ASP.NET MVC 2 needs, S#aml Architecture uses a patched version of the System.Web.Mvc assembly. Up until version 1.0 we try to support mono 2.4.4 (and mono 2.6.x) by patching the libraries S#aml Architecture uses in a non-destructive way.


The latest release is 0.5 GA. It can be obtained using rubygems by issuing the command

(sudo) gem install shaml

Alternatively you can just download and unzip the base template file, but without ruby, and the shaml gem you will miss a lot of features, like template generation, the interactive console or database schema generation.

Read more about the installation, the requirements of the framework and the steps you need to take at the Tutorials or at the S#aml Architecture project page


The easiest way to contribute is to fork the project on github. You can also send bugreports and feature requests on the project page


Clone url: git://


S#aml Architecture is mainly based on S#arp Architecture by Codai, LLC

It also uses or borrows ideas from the following libraries, frameworks, pages, people, companies, projects, etc:

Mono, ASP.NET MVC, NHibernate, Fluent NHibernate, NHaml View Library, Haml, Sass, Compass, DotNetOpenAuth, LinFu, Npgsql, Moq, Rhino Mocks, Castle, ASP.NET MVC Membership Starter Kit, Ruby, RubyGems, Merb, Ruby on Rails, NauckIt Postgressql MRSP Provider, SQLite, NUnit, Git, Inflector.NET and all other projects I forgot to mention

S#aml Architecture © 2010 Zsolt Sz. Sztup√°k and contributors under the New BSD license.

Web design stolen from and © James Gregory @

All text on this subdomain is licenced under CC-NC-SA 2.5

Hosting by Cancellar Informatics LLP