How to make Stylus update CSS in the right directory?

Using Node.js + Express, but for some reason cannot get css to work properly. I have the following two folders:

/public/css/lib - where .css files should go

/public/css/src - where .styl files are

And the following configs:

app.configure(function() {

    app.set('port', process.env.PORT || 3000);
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.favicon());
    app.use(express.logger({
        format: 'dev'
    }));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser('whatever'));
    app.use(express.session());
    app.use(app.router);

    app.use(require('stylus').middleware({
        src: __dirname + '/public/css/src',
        dest: __dirname + '/public/css/lib',
        compress: true,
        force: true,
        compile: function(str, path) {
            return stylus(str)
                .set('filename', path)
                .set('warn', true)
                .set('compress', true);
            }
    }));

    app.use(express.static(path.join(__dirname, 'public')));

});

But I get no .css file auto-generated when starting the app or making changes to .styl files, or going to /css/lib/app.css.

What am I doing wrong?