title: Trouble configuring grunt bower-install
body: <p>I am quite new to the Yeoman workflow(started using Yeoman today).
  I am trying to install <a href="https://github.com/stephenplusplus/grunt-bower-install">grunt bower-install</a>, in order to automate the asset management process.</p>
  
  <p>The problem is that despite the fact I followed the the instructions in the docs to the last of them, when trying to run <code>grunt bower-install</code> I get errors.</p>
  
  <p>When trying to run this command from the home DIR, the errors are as following:</p>
  
  <pre><code>oleg@ob:~$ !!
  Running "bower-install:app" (bower-install) task
  Verifying property bower-install.app.src exists in config...ERROR
  &gt;&gt; Unable to process task.
  Warning: Required config property "bower-install.app.src" missing. Use --force to continue.
  
  Aborted due to warnings.
  
  
  Execution Time (2014-01-20 10:17:47 UTC)
  loading tasks      3ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 25%
  bower-install:app  8ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 67%
  Total 12ms
  </code></pre>
  
  <p>After cding into the app directory and running the command again, I get a different error:</p>
  
  <pre><code>oleg@ob:~/app$ grunt bower-install
  Loading "gruntfile.js" tasks...ERROR
  &gt;&gt; Error: Unable to read "package.json" file (Error code: ENOENT).
  Warning: Task "bower-install" not found. Use --force to continue.
  
  Aborted due to warnings.
  </code></pre>
  
  <p>Any help is much more then greatly appreciated! </p>
  
  <p>My Gruntfile.js (within app/ dir) looks as following:</p>
  
  <pre><code>'use strict';
  
  module.exports = function (grunt) {
      // Project configuration
      grunt.initConfig({
          // Metadata
          pkg: grunt.file.readJSON('package.json'),
          banner: '/*! &lt;%= pkg.name %&gt; - v&lt;%= pkg.version %&gt; - ' +
              '&lt;%= grunt.template.today("yyyy-mm-dd") %&gt;\n' +
              '&lt;%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %&gt;' +
              '* Copyright (c) &lt;%= grunt.template.today("yyyy") %&gt; &lt;%= pkg.author.name %&gt;;' +
              ' Licensed &lt;%= props.license %&gt; */\n',
          // Task configuration
          concat: {
              options: {
                  banner: '&lt;%= banner %&gt;',
                  stripBanners: true
              },
              dist: {
                  src: ['lib/&lt;%= pkg.name %&gt;.js'],
                  dest: 'dist/&lt;%= pkg.name %&gt;.js'
              }
          },
          uglify: {
              options: {
                  banner: '&lt;%= banner %&gt;'
              },
              dist: {
                  src: '&lt;%= concat.dist.dest %&gt;',
                  dest: 'dist/&lt;%= pkg.name %&gt;.min.js'
              }
          },
          'bower-install': {
  
            target: {
              // Point to the files that should be updated when
              // you run `grunt bower-install`
              src: ['/home/oleg/index.html'],
  
              // Optional:
              // ---------
              cwd: '',
              ignorePath: '',
              exclude: [],
              fileTypes: {}
            }
          },
          jshint: {
              options: {
                  curly: true,
                  eqeqeq: true,
                  immed: true,
                  latedef: true,
                  newcap: true,
                  noarg: true,
                  sub: true,
                  undef: true,
                  unused: true,
                  boss: true,
                  eqnull: true,
                  browser: true,
                  globals: {
                      jQuery: true
                  }
              },
              gruntfile: {
                  src: 'gruntfile.js'
              },
              lib_test: {
                  src: ['lib/**/*.js', 'test/**/*.js']
              }
          },
          qunit: {
              files: ['test/**/*.html']
          },
          watch: {
              gruntfile: {
                  files: '&lt;%= jshint.gruntfile.src %&gt;',
                  tasks: ['jshint:gruntfile']
              },
              lib_test: {
                  files: '&lt;%= jshint.lib_test.src %&gt;',
                  tasks: ['jshint:lib_test', 'qunit']
              }
          }
      });
  
      // These plugins provide necessary tasks
      grunt.loadNpmTasks('grunt-contrib-concat');
      grunt.loadNpmTasks('grunt-contrib-uglify');
      grunt.loadNpmTasks('grunt-contrib-qunit');
      grunt.loadNpmTasks('grunt-contrib-jshint');
      grunt.loadNpmTasks('grunt-contrib-watch');
      grunt.loadNpmTasks('grunt-bower-install');
  
      // Default task
      grunt.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']);
  };
  </code></pre>