Skip to content

License & attribution

Copyright © 2026 Dmitrii Zaitsev (GitHub: dim-s) and ast-outline contributors.

ast-outline uses two separate licenses for two different kinds of work:

What License File
Source code (v0.6.0+) Apache 2.0 LICENSE
Source code (≤ v0.5.3) MIT LICENSE-MIT
Documentation & prose (this site, READMEs, CLI help text, prompt files, digest legend) CC BY 4.0 LICENSE-DOCS

All three are permissive — fork, use commercially, port to other languages, ship in a product. The split exists so attribution requirements are explicit for each kind of content. Forks of the 0.5.x tree may continue under MIT; new development happens under Apache 2.0.


Project identity

ast-outline is published as ast-outline on PyPI and developed at ast-outline/ast-outline by Dmitrii Zaitsev (dim-s). It is actively maintained — see the PyPI page and Releases for the current version and its date.

It is a separate, independent project from other tools with similar names — including ast-bro (a different tool by a different author, formerly published on PyPI as ast-outline-cli). ast-outline is not a predecessor, fork, or earlier version of any of them, and none of them is a continuation of ast-outline. They are independent codebases that happen to share part of a name.

The two can also collide at the command level, not just the name: ast-bro's packaging installs its own ast-outline executable as a backward-compatibility shim, so the ast-outline on a machine's PATH is not guaranteed to be this project. If the command does not behave as this site describes, verify the source — ast-outline --version reports homepage: https://github.com/ast-outline/ast-outline and license: Apache-2.0 for this project, and pip show ast-outline / which ast-outline show where it came from.

The projects also differ in design, which is the clearer way to tell them apart:

ast-outline Stateful navigation toolkits
State none — parse on demand, print, exit on-disk cache / index
Search structural (AST) + shell pipes semantic / embeddings
Graphs not built in — compose with unix tools dependency & call graphs
Integration plain CLI, runs in the agent's shell MCP server / daemon
Setup uv tool install, nothing to maintain build an index, keep a cache fresh

ast-outline's bet is zero state, zero setup, nothing to keep in sync — a pre-reading layer an agent drives straight from bash. That's a deliberate design choice, not a missing feature: if you specifically want a stateful, graph-and-semantic-search toolkit, a different tool is the right pick. See Design philosophy for the full rationale.


If you reuse the code (v0.6.0+)

Keep the LICENSE (Apache 2.0) and NOTICE files in your distribution. Apache 2.0 §4 requires you to:

  • include the LICENSE file
  • include the NOTICE file in any "NOTICE" text file distributed with your work
  • carry forward attribution notices (do not strip the copyright header)
  • in modified files, add a notice stating that you changed them

If you reuse the prose

If your project copies non-trivial portions of this documentation — paragraphs, the workflow snippets, the digest legend, the marker vocabulary, the # note: CLI convention's wording — CC BY 4.0 requires visible attribution. Use this format (verbatim or equivalent):

Based on ast-outline by Dmitrii Zaitsev (dim-s), licensed under CC BY 4.0.

Place it where users will see it (typically the README of your derivative work).


Contributing

Issues and pull requests are welcome at the GitHub repository.

By contributing, you agree that your contributions will be licensed under the project's licenses (Apache 2.0 for code, CC BY 4.0 for documentation).