# Crystal docs - cli

**URL:** <https://forum.crystal-lang.org/t/crystal-docs-cli/3467>\
**Category:** Help & Support\
**Created:** [July 4, 2021, 5:56pm UTC](https://forum.crystal-lang.org/t/crystal-docs-cli/3467 "2021-07-04T17:56:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![henrikac](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/henrikac/32/3079_2.png) [@henrikac](https://forum.crystal-lang.org/u/henrikac)\
**Post date:** [July 4, 2021, 5:56pm UTC](https://forum.crystal-lang.org/t/crystal-docs-cli/3467/1 "2021-07-04T17:56:30Z")

</div>

Hi,

I’m having an issue generating docs for my [newest project](https://github.com/henrikac/kemal-shield).  
When I run `crystal docs` it only uses the README. I have also tried `crystal docs src/kemal-shield.cr` but same result.

It usually works perfectly and I’m wondering if I’m missing something?

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/blacksmoke16/32/1241_2.png) [@Blacksmoke16](https://forum.crystal-lang.org/u/Blacksmoke16)\
**Post date:** [July 4, 2021, 6:21pm UTC](https://forum.crystal-lang.org/t/crystal-docs-cli/3467/2 "2021-07-04T18:21:17Z")

</div>

I think the main issue is that you’re defining this under the `Kemal` namespace, which doesn’t technically exist in your application, so it’s being skipped.

Could add like `module Kemal; end` to the top of the file to define this. Or setup the code to look like this instead:

```auto
module Kemal
  module Shield
    # ...
  end
end

```

---

<div class="post-metadata">

**Author:** ![henrikac](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/henrikac/32/3079_2.png) [@henrikac](https://forum.crystal-lang.org/u/henrikac)\
**Post date:** [July 4, 2021, 7:06pm UTC](https://forum.crystal-lang.org/t/crystal-docs-cli/3467/3 "2021-07-04T19:06:33Z")

</div>

I see. I’ve always thought that `module Foo::Bar;` was the same as

```crystal
module Foo
  module Bar
  end
end

```

But I guess it is not always the case.

Thank you :)

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/blacksmoke16/32/1241_2.png) [@Blacksmoke16](https://forum.crystal-lang.org/u/Blacksmoke16)\
**Post date:** [July 5, 2021, 1:36am UTC](https://forum.crystal-lang.org/t/crystal-docs-cli/3467/4 "2021-07-05T01:36:21Z")

</div>

My understanding is that they’re equivalent. But maybe something that can be improved in docs land? If I had to guess I’d say that that docs require the type to be defined in the code you’re building docs for, and using that short syntax doesn’t technically do it as it jus defines the inner module within the parent one without actually defining the parent namespace.
