@@ -28,6 +28,53 @@ of the content
2828- formatting: help keep content easy to read with consistent formatting
2929- code: Fix issues or contribute new features to this or any related projects
3030
31+ # Project structure
32+
33+ Gulp itself is tiny: index.js contains [ very few lines of code] ( https://github.com/gulpjs/gulp/blob/4.0/index.js ) .
34+ It is powered by a few other libraries which each handle a few specific tasks
35+ each.
36+
37+ You can view all issues with the "help wanted" label across all gulp projects
38+ here: https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Agulpjs+label%3A%22help+wanted%22+
39+
40+ ## Undertaker: task management
41+
42+ Undertaker handles task management in Gulp: the ` gulp.task() ` , ` gulp.series() `
43+ and ` gulp.parallel() ` functions. ` gulp.series() ` and ` gulp.parallel() ` are in
44+ turn powered by Bach.
45+
46+ - https://github.com/gulpjs/undertaker
47+ - https://github.com/gulpjs/bach
48+
49+ ## vinyl-fs: file streams
50+
51+ vinyl-fs powers the ` gulp.src() ` and ` gulp.dest() ` functions: they take files
52+ and globs specified by the user, turns them into a stream of file objects,
53+ and then puts them back into the filesystem when ` gulp.dest() ` is called.
54+
55+ The file objects themselves are vinyl objects: that's another library (a simple
56+ one!)
57+
58+ - https://github.com/gulpjs/vinyl-fs
59+ - https://github.com/gulpjs/vinyl
60+
61+ ## chokidar: file watching
62+
63+ ` gulp.watch() ` is using chokidar for file watching. It's actually wrapped in a
64+ small library on the gulp organization, glob-watcher.
65+
66+ - https://github.com/paulmillr/chokidar
67+ - https://github.com/gulpjs/glob-watcher
68+
69+ ## gulp-cli: running gulp
70+
71+ Finally, we have gulp-cli. This uses liftoff to take what people run in the
72+ command line and run the correct tasks. It works with both gulp 4 and older
73+ versions of gulp.
74+
75+ - https://github.com/gulpjs/gulp-cli
76+ - https://github.com/js-cli/js-liftoff
77+
3178# Conduct
3279
3380We are committed to providing a friendly, safe and welcoming environment for
0 commit comments